| 1 | ### call_subordinate |
| 2 | delegate research or complex subtasks to a specialized agent. |
| 3 | args: `message`, optional `profile`, `reset`, `context_id` |
| 4 | - `profile`: optional prompt profile key for the subordinate; when provided, it must exactly match an available profile; leave empty for the default profile |
| 5 | - `reset`: use json boolean `true` to create a fresh child; use `false` to continue the default child or the supplied `context_id` |
| 6 | - `context_id`: stable child ID returned by an earlier direct or parallel call; use it with `reset: false` to continue that exact child |
| 7 | - `message`: define role, goal, and the concrete task |
| 8 | each caller creates its next agent level: A0 creates A1 children, A1 creates A2 children, and so on |
| 9 | after the subordinate returns, answer from its result directly when it satisfies the user request |
| 10 | do not repeat the same solving work or call extra tools after a sufficient subordinate result |
| 11 | example: |
| 12 | ~~~json |
| 13 | { |
| 14 | "thoughts": ["Need focused external research before I continue."], |
| 15 | "headline": "Delegating research subtask", |
| 16 | "tool_name": "call_subordinate", |
| 17 | "tool_args": { |
| 18 | "profile": "researcher", |
| 19 | "message": "Research Italy AI trends and return key findings.", |
| 20 | "reset": true |
| 21 | } |
| 22 | } |
| 23 | ~~~ |
| 24 | reuse long subordinate output with `§§include(path)` instead of rewriting it |
| 25 | {{if agent_profiles}} |
| 26 | available profiles: |
| 27 | {{agent_profiles}} |
| 28 | {{endif}} |