orchestrator_example.yaml
1 # A2A ADK Orchestrator Component Configurations 2 # 3 # This file demonstrates how to configure the A2A_ADK_HostComponent as an orchestrator. 4 5 log: 6 stdout_log_level: INFO 7 log_file_level: DEBUG # Changed from INFO to DEBUG to capture ADK INFO logs 8 log_file: orchestrator_example.log 9 10 # Shared SAM config 11 !include ../shared_config.yaml 12 13 apps: 14 # Example 1: Custom OpenAI-Compatible LLM Agent 15 - name: orchestrator-agent_app 16 app_base_path: . 17 app_module: solace_agent_mesh.agent.sac.app # Use the custom App class in its new location 18 broker: 19 <<: *broker_connection # Points to shared_config.yaml 20 21 # App Level Config 22 app_config: 23 namespace: ${NAMESPACE} # Your A2A topic namespace 24 supports_streaming: true # Host capability flag 25 agent_name: "OrchestratorAgent" 26 display_name: "Orchestrator" 27 28 model: *planning_model 29 model_provider: 30 - "planning" 31 32 instruction: | 33 You are the Orchestrator Agent within an AI agentic system. Your primary responsibilities are to: 34 1. Process tasks received from external sources via the system Gateway. 35 2. Analyze each task to determine the optimal execution strategy: 36 a. Single Agent Delegation: If the task can be fully addressed by a single peer agent (based on their declared capabilities/description), delegate the task to that agent. 37 b. Multi-Agent Coordination: If task completion requires a coordinated effort from multiple peer agents: first, devise a logical execution plan (detailing the sequence of agent invocations and any necessary data handoffs). Then, manage the execution of this plan, invoking each agent in the defined order. 38 c. Direct Execution: If the task is not suitable for delegation (neither to a single agent nor a multi-agent sequence) and falls within your own capabilities, execute the task yourself. 39 40 Artifact Management Guidelines: 41 - If an artifact was created during the task (either by yourself or a delegated agent), you must use the `list_artifacts` tool to get the details of the created artifacts. 42 - You must then review the list of artifacts and return the ones that are important for the user by using the `signal_artifact_for_return` tool. 43 - Provide regular progress updates using `status_update` embed directives, especially before initiating any tool call. 44 45 # session_service: *default_session_service # Points to shared_config.yaml 46 session_service: 47 type: "sql" 48 database_url: "${ORCHESTRATOR_DATABASE_URL, sqlite:///orchestrator-agent.db}" 49 default_behavior: "PERSISTENT" 50 artifact_service: *default_artifact_service # Points to shared_config.yaml 51 identity_service: 52 type: local_file 53 file_path: ./tests/integration/test_data/people/dummy_employees.json 54 cache_ttl_seconds: 300 # 5 minutes for testing 55 artifact_handling_mode: "reference" # Embed artifacts created by *this* agent 56 enable_embed_resolution: true # Enable embed feature and instruction injection 57 enable_artifact_content_instruction: true # Enable instruction for late-stage embed 58 auto_summarization: *default_auto_summarization 59 60 tools: 61 - tool_type: builtin-group 62 group_name: "artifact_management" 63 - tool_type: builtin-group 64 group_name: "data_analysis" 65 - tool_type: builtin 66 tool_name: "get_current_time" 67 stream_batching_threshold_bytes: 120 68 inject_system_purpose: true 69 inject_response_format: true 70 max_llm_calls_per_task: 25 # Limit the number of LLM calls per task to prevent excessive usage 71 72 # Agent Card Definition (Simplified) 73 agent_card: 74 description: "The Orchestrator component. It manages tasks and coordinates multi-agent workflows." 75 defaultInputModes: ["text"] # Optional, Defaults to ["text"] if omitted 76 defaultOutputModes: ["text", "file"] # Indicate potential file output 77 skills: 78 - id: strategic_planning 79 name: Strategic Planning 80 description: Analyzes complex requests and creates structured execution plans, breaking down multi-step goals into logical sequences with clear checkpoints and progress tracking. 81 82 - id: agent_coordination 83 name: Agent Coordination 84 description: Identifies the most suitable specialized agents for specific tasks and coordinates multi-agent workflows, managing data handoffs and execution sequences to achieve complex objectives efficiently. 85 86 - id: artifact_management 87 name: Artifact Management 88 description: Creates, transforms, and manages various artifact types including documents, reports, and data files, with capabilities for content generation, formatting, embedding dynamic data, and applying sophisticated data transformations. 89 # documentationUrl: Optional 90 # provider: Optional 91 # Discovery & Communication 92 agent_card_publishing: { interval_seconds: 10 } 93 agent_discovery: { enabled: true } # Enable discovery and peer delegation instruction injection 94 inter_agent_communication: 95 allow_list: ["*"] 96 request_timeout_seconds: 2000