Learning by experimenting is central to the informal knowledge you can achieve while exploring a simulation environment. To achieve a better comprehension of the simulation principles, the learner should have a clear solution strategy, which means testing out hypothesis/variables and observing the results.
Machine differs from human because they are more structured and methodic. When they have a clear idea in mind (read instruction) they just follow it. You cannot expect the same simple behavior in humans.
For this reason we can expect a machine to be useful to a human, to give an example of methodological approach to free exploration of a simulation. If we agree on an optimal solution strategy, then the machine can just apply that strategy, making visible a structured approach. To simply differ from an opponent, that companion should make explicit its choices and the reasons why it choose that.
Additionally, the companion should not just work by its own. It should operate in relation with the human: when s/he is available and when s/he is able to see and follow the approach/example of the software agent. There should be a collaborative effort between the human and the software agent. The agent should take advantage of the human interaction in the system to test out hypothesis and considering results. The difference should reside in the strict application of the methodology.
The agent should test out hypothesis playing the game and achieving results (its goal and satisfaction). The agent has no hidden knowledge about the simulation principles. The interaction between the agents and the system is symmetrical: they both have the same possibilities of operating on the system.