If any developers are reading this...
Yep, we're listening.
I've just been getting back to AI issues in the last week and I've got an endless list of things I want to improve. However, I'm always interested in hearing about particular concerns as it helps me decide what gets priority.
A few more thoughts/facts about the original post. While the big sortie from Tricca to catch my Companions was IMO foolish, a big sortie when I was bringing my army up to Larissa caused me some grief, because lots of my stuff hadn't arrived yet. But ultimately they got beaten up pretty badly, and ended up having a low defense strength for Larissa for the reasons previously stated.
I think sorties can be good, but the AI (or human player) has to use some judgement on how much to leave in the city.
Letting a big army get trapped in a city doesn't usually work out well because they don't add to the defense, and once the city is invested they can't sortie out fast enough to do the necessary damage. (Note to players: apparently the gates on the cities aren't merely cosmetic; that's where troops actually enter and exit. So when you besiege a city with troops in it that could pose a threat, make sure you have line infantry right up against every gate, and missile troops in range of each gate, so you can turn any attempted sorties into a slaughter.)
Back to the AI. In the game I've been discussing I invaded Thessaly from the west. After I took Pharcadon I was deciding whether to attack Krannon or Larissa, and the AI kept moving a big army back and forth between them, apparently to whichever one I had the most troops near. (I don't know whether this was good or bad; I just offer it as an example of the AI in action.) It did leave a garrison in one city whenever it moved the army to the other, IIRC a couple of spearmen or peltasts. I do not remember what the cities' defense numbers were, but I think it let Larissa drop far below what it could have had.
Food is also an issue. The AI put fairly large armies into cities as I approached, with only 700-800 food in the city. So not only does a big army trapped in a city not help with the defense, it eats the food much faster than a basic garrison would. In the previously mentioned siege of Larissa the AI made a second sortie after the city was closely invested and they could no longer hurt me. I think it was triggered by running out of food, though I'm not 100% sure.
Finally, there doesn't seem to be much reason to leave troops in an unwalled city; they should either sortie or flee. The troops initially in Edomene just die in the city without putting up a fight, unless I venture too close with a weak unit before the rest of the army arrives. They do correctly sortie against a weak unit, but when I bring up something too powerful to sortie against successfully they just sit down and die.
There are a large number of factors that can change how the AI responds to a situation which is why I put out the call for savegames so I could test the AI against a lot of "real" world situations. If you've got a savegame near the fight you're talking about I'd be interested in checking it out (anything can be sent to firstname.lastname@example.org).
I haven't been reading that thread because I didn't realize what it was about. I don't think I have anything relevant, but I'll look for situations when I have time to play some more.
FYI, I'm enjoying your game immensely.