Back when interactions were first introduced, the AI would use them quite frequently, whenever it had a valid target. Later, this was changed so the AI would use them infrequently, except when in combat, when it would spam them whenever possible.
The original way interactions worked could be annoying, but opened up the possibility of creating extremely elaborate behaviors,
even entire AI systems, using interactions interacting with each other. It also made tricks like using a boiling stone as a reaction product to give a unit an interaction more reliable. (Though allowing reactions to trigger interactions directly so that such awkward workarounds were unnecessary would be a well-received addition.)
Allowing interaction behaviors to be more moddable would exponentially increase the possibility of interesting mods, both for normal spells, and the aforementioned elaborate systems that push the game's potential to its limits.
The changes I'd have in mind are:
Add a MAX_WAIT_TIME to interactions. It seems that when an interaction is used - or fails to be used - by an AI-controlled unit, the AI sets a random timer on that interaction for when it should try checking for valid targets again. The timer's min and max values are hard-coded, and can change between versions. With a MAX_WAIT_TIME tag, the frequency of an interaction's use can be controlled; the random wait time would be set to a value between WAIT TIME and MAX_WAIT_TIME. Since USAGE_HINTS like ATTACK, DEFEND, and FLEEING separate combat interactions from non-combat ones now, it is not really important to change behaviors in and out of combat; combat abilities can just have lower MAX_WAIT_TIMEs. (Though a MAX_WAIT_TIME_COMBAT wouldn't be out of place.)
DEFEND and FLEEING both force the interaction to target the user, and GREETING no longer works in combat at all, making combat assist interactions impossible. Since SELF_ONLY is a tag, this isn't really necessary; DEFEND and FLEEING should target allies in combat as well if SELF_ONLY is not specified. (A better option would be to make each individual target specified as an ALLY or ENEMY in addition to SELF_ONLY.)
ADV_AUTO would take the use of the interaction out of the hands of the player, causing it to be used automatically as if the player was controlled by the AI. I'd like this mainly for creating interesting AI systems, but it could also be used in the base game for things like curses or blessings that periodically inflict syndromes, contagious diseases, and all kinds of interesting !!fun!!.