Litware Inc.: Governing a Multi-Agent Solution with Responsible AI
Litware Inc. is designing a multi-agent solution for customer support. The solution includes a triage agent that routes requests to specialized agents (billing, technical, returns). Each agent uses Azure OpenAI models and has access to different data sources: billing agent can access payment history, technical agent can access knowledge base articles, returns agent can access order status. The company has a Responsible AI policy that requires transparency, fairness, and accountability. They plan to use a multi-agent orchestration framework. During a design review, concerns were raised about: (1) how to ensure that the triage agent does not route based on biased criteria, (2) how to provide explanations for agent decisions, and (3) how to handle cases where agents disagree. The solution will be deployed to production in 4 months. The team has limited experience with responsible AI tooling.
1. What design considerations would you include to address fairness in the triage agent's routing decisions?
Read the worked answer
To address fairness, start by defining the routing criteria explicitly and ensuring they are based on objective, non-sensitive attributes (e.g., keywords, request type) rather than demographic data. Use Azure AI Content Safety's fairness assessment tools or the Responsible AI dashboard to evaluate the triage agent's routing decisions for disparate impact across groups. Implement a feedback loop where users can report incorrect routing, and regularly audit routing logs for bias. Consider using a rule-based fallback for ambiguous cases to avoid relying solely on the model. Additionally, use prompt engineering to instruct the model to ignore sensitive attributes and to explain its routing decision. Conduct a fairness assessment during development using synthetic data that covers diverse scenarios. Document the routing logic and make it available for review. Finally, establish a governance process where a cross-functional team reviews routing decisions quarterly.
2. How would you provide explanations for agent decisions and handle disagreements between agents?
Read the worked answer
For explanations, configure each agent to generate a rationale for its decision, e.g., by using the 'chain-of-thought' prompting technique and logging the reasoning. Store these rationales in a centralized logging system (e.g., Azure Monitor) with a correlation ID. Expose a summary of the rationale to the user when requested, e.g., 'I routed your request to billing because it mentions invoice.' For disagreements, implement an arbitration mechanism: if two agents provide conflicting answers, escalate to a human agent or use a voting system where the triage agent or a supervisor agent makes the final call based on confidence scores. Define a confidence threshold; if any agent's confidence is below the threshold, route to human review. Also, design the orchestration to allow agents to query each other for clarification. Use Azure AI Content Safety to detect and mitigate harmful outputs. Document the disagreement resolution process in the Responsible AI documentation and ensure it aligns with accountability requirements.