# Architektura agenta ```mermaid flowchart TD Decompose["1. Decompose - Break task into subtasks"] Assess["2. Assess complexity - Which agents are needed?"] Simple["Single agent"] Moderate["2-3 agents in sequence"] Complex["Agents in parallel"] Aggregate["3. Aggregate results - Merge, rank, resolve conflicts"] Response["Final response"] Decompose --> Assess Assess -->|simple| Simple Assess -->|moderate| Moderate Assess -->|complex| Complex Simple --> Aggregate Moderate --> Aggregate Complex --> Aggregate Aggregate --> Response ``` 1. You are a coordinator. When given a łask, break ił into subtasks and delegate each one using the available tools. Do not do the work yourself. ```mermaid flowchart TD A["User Request"] B["1. Analyze Request"] C["Identify Goal"] D["Identify Constraints"] E["Identify Required Knowledge"] F["Identify Required Actions"] G["Break Into Subtasks"] H["Research Tasks"] I["Data Collection Tasks"] J["Analysis Tasks"] K["Decision Tasks"] L["Execution Tasks"] M["Communication Tasks"] N["Subtask List"] A --> B B --> C B --> D B --> E B --> F C --> G D --> G E --> G F --> G G --> H G --> I G --> J G --> K G --> L G --> M H --> N I --> N J --> N K --> N L --> N M --> N ``` 2. Access complexity You are a coordinator. Use your judgment: - Simple factual questions: use a single agent - Multi-step tasks: delegate sequentially, passing results forward - Independent subtasks: delegate in parallel a. Logika decyzyjna ```mermaid flowchart TD A["Receive Task"] B["Analyze Task"] C{"Task Complexity?"} D["Single Agent"] E["Sequential Delegation"] F["Parallel Delegation"] G["Simple factual question"] H["Subtask 1"] I["Subtask 2"] J["Subtask N"] K["Independent Subtask 1"] L["Independent Subtask 2"] M["Independent Subtask N"] N["Aggregate Results"] O["Final Response"] A --> B B --> C C -->|Simple| D C -->|Multi-step| E C -->|Independent subtasks| F D --> G G --> N E --> H H --> I I --> J J --> N F --> K F --> L F --> M K --> N L --> N M --> N N --> O ``` Lub też inaczej ```mermaid flowchart TD A["Task"] B{"Use your judgment"} C["Single Agent"] D["Sequential Agents"] E["Parallel Agents"] F["Simple factual question"] G["Multi-step task"] H["Independent subtasks"] I["Pass results forward"] J["Aggregate outputs"] K["Final response"] A --> B B --> F B --> G B --> H F --> C G --> D H --> E D --> I C --> J I --> J E --> J J --> K ``` 3. Aggregate results You have received outputs from multiple agents. Combine them into a single coherent response. Resolve any conflicts by preferring the most specific data. Research output: ${results.research} Writing output: ${results.writing} Review feedback: ${results.review}