Principal-Agent Reinforcement Learning: Orchestrating AI Agents with Contracts
<|reference_start|>Principal-Agent Reinforcement Learning: Orchestrating AI Agents with Contracts: The increasing deployment of AI is shaping the future landscape of the internet, which is set to become an integrated ecosystem of AI agents. Orchestrating the interaction among AI agents necessitates decentralized, self-sustaining mechanisms that harmonize the tension between individual interests and social welfare. In this paper we tackle this challenge by synergizing reinforcement learning with principal-agent theory from economics. Taken separately, the former allows unrealistic freedom of intervention, while the latter struggles to scale in sequential settings. Combining them achieves the best of both worlds. We propose a framework where a principal guides an agent in a Markov Decision Process (MDP) using a series of contracts, which specify payments by the principal based on observable outcomes of the agent's actions. We present and analyze a meta-algorithm that iteratively optimizes the policies of the principal and agent, showing its equivalence to a contraction operator on the principal's Q-function, and its convergence to subgame-perfect equilibrium. We then scale our algorithm with deep Q-learning and analyze its convergence in the presence of approximation error, both theoretically and through experiments with randomly generated binary game-trees. Extending our framework to multiple agents, we apply our methodology to the combinatorial Coin Game. Addressing this multi-agent sequential social dilemma is a promising first step toward scaling our approach to more complex, real-world instances.<|reference_end|>
@article{ivanov2024principal-agent,
    title={Principal-Agent Reinforcement Learning: Orchestrating AI Agents with
  Contracts},
    author={Dima Ivanov, Paul D"utting, Inbal Talgam-Cohen, Tonghan Wang, David
  C. Parkes},
    journal={arXiv preprint arXiv:2407.18074},
    year={2024},
    archivePrefix={arXiv},
    eprint={2407.18074},
    primaryClass={cs.GT cs.LG cs.MA}
}