incident_commander_env / scripts /multi_agent_demo.py
Dar4devil's picture
Add multi-agent incident commander orchestration
6c641ec
Raw
History Blame Contribute Delete
1.29 kB
from __future__ import annotations
import argparse
import json
from pathlib import Path
import sys
ROOT = Path(__file__).resolve().parents[1]
if str(ROOT) not in sys.path:
sys.path.insert(0, str(ROOT))
from incident_commander_env.orchestration import run_multi_agent_episode
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("--scenario", default="payment_provider_degradation")
parser.add_argument("--seed", type=int, default=None)
parser.add_argument("--json", action="store_true")
args = parser.parse_args()
result = run_multi_agent_episode(scenario_id=args.scenario, seed=args.seed)
if args.json:
print(json.dumps(result.to_dict(), indent=2))
return
print(result.incident)
print("\nSpecialist findings:")
for finding in result.findings:
print(f"- {finding.agent} ({finding.focus}, confidence={finding.confidence:.2f})")
print(f" {finding.conclusion}")
print("\nParent commander decision:")
print(f"Root cause: {result.root_cause}")
print(f"Mitigation: {result.mitigation}")
print(f"Customer update: {result.customer_update}")
print(f"Reward: {result.reward:.3f}")
print(f"Score breakdown: {result.score_breakdown}")
if __name__ == "__main__":
main()