That is exactly how it would NOT work. Yes a base strategy has to be installed at first, but as the AI learned from all of the player playthroughs it would learn and adapt that strategy. As more people beat the AI it will learn from the playthroughs what the players are doing and adapt its strategy. The only people that would consistently beat the AI are ones that are always adapting their strategy to what the AI is doing. That would then teach the AI new strategies and it would adapt. that is the point of a learning AI.
Also the "independent" part has nothing to do with decision making. Modules feed each other tasks and spit out results to the other modules. The internal mechanics of the modules are independent from each other to allow them to be tweaked, updated, or modded without changing the entire AI.
Think of this like a real life situation. The president says we are invading Canada. The admirals and generals lay out the battle plans. The logistics people move troops and material around. The arms manufacturers build up more weapons to maintain or increase stockpiles. If a general gets taken out by a Canadian assassin he will be replaced. The new generals strategy might be a little different but he still has the same ultimate goal of invading Canada.
First, apologies for misconstruing what you said. However, you're describing a very best case. Please implement it in a non-trivial test game and see if it works as well in practice.
By the way, an (albeit trivial) game that can be a humbling experience when it comes to illustrating how far you can go in messing with an opponent that shows any sign of predictable behavior:
http://www.rpscontest.com/ Maybe you can learn a reactive enough policy to avoid this problem with offline supervised learning, I have my doubts. And after that, the more general learning algorithm you use, the longer time it takes and the higher variance in the results. Reinforcement learning and very general evolutionary algorithms ARE tricky to get working and are far from reliable safe workhorses at present we can commit to. Supervised learning is, but it is not suitable due to static policies.
Unrelated to above points but about decision conflicts: a lot of real life effort goes into dealing with situations where code somewhere wants to do something that code somewhere else wants to do differently. This severely restricts how independent systems can be. What you describe sounds great and everyone has this layered approach at some point. We are in fact already implementing independent subsystems/layered approaches where possible (maybe I already mentioned it's easier, right). AI code in the end becomes pretty terribly ugly for a real game due to all obscure dependencies that need to be accounted for. Saying ahead of time you will have well defined modules with well defined inputs/outputs is cool, now the question is what what extent you will be able to keep that once the "idiot AI" bugs start stacking up.
We're in the business of writing games, not advancing towards the singularity, and priorities/costs are reflected as such in the organization. (Ok I am a consultant nowadays and can do fun things on the side, but w/e.)