4.4 KiB
Conclusion: Model and agent delegation as a bounded tool, guided by a skill
Metadata
| Field | Value |
|---|---|
| Institute | Molodetz Institute — Research & Retrieval Division |
| Subject | cap-protocol |
| Document type | Conclusion |
| Tier | N/A |
| Date decided | 2026-10-25 (recommendation only, retoor has not yet decided) |
| Decided by | tai (agent, Claude Sonnet 5) as a recommendation, pending retoor |
| Status | Active |
| Confidence | Medium |
Question / problem statement
Should tai let its own model call other CAP agents or models as a tool (model-as-tool), and should that capability be managed through a skill.
Conclusion
Yes to a bounded agent-as-tool, and yes to a skill, with different jobs. A tool ask_agent (structured input: agent, optional model hint, prompt; returns only the delegate's final text) does the action: nested run in its own context, delegate permissions scoped and confirm-by-default, results treated as untrusted data, a depth of 1 (the tool is removed inside a delegated run), a static per-turn ceiling, and cost attributed to the delegate's model. It reuses CapMention. A single-turn advisor-style ask_model (no tools, one answer) is a possible second tool, deferred until delegation has been used. A bundled skill (for example cap-agents) carries the judgment: when delegation pays, how to write a brief (objective, output format, tool and source guidance, boundaries), how to pick a model tier, how to read the failure report. A skill cannot enforce caps or approvals, so it must not be the only mechanism. The human-chosen @agent route stays as the handoff form.
Supporting sources
- openai-agents-python-tools-agent-as-tool: shape of an agent-as-tool (own context, final output only, enable switch, approval pause).
- openai-agents-python-multi-agent-orchestration: tool form when the manager keeps the reply.
- anthropic-multi-agent-research-system: token multiple, brief contents, poor fit for most coding.
- claude-code-advisor-docs and openrouter-advisor-server-tool: advisor form, depth guard, per-request cap, separate billing.
- claude-code-skills-docs and agentskills-io-specification: skills as low idle-cost guidance with size limits.
- claude-code-sub-agents-docs: description-driven delegation and its context cost.
- Tier 2: the Anthropic zero-trust guide and confused-deputy commentary back the least-privilege and untrusted-output rules.
Alternatives considered and rejected
- Skill only: cheap and quick, but it enforces nothing and depends on the model following prose.
- Tool only: enforces limits but gives the model no guidance on when delegation pays, which the evidence says is where delegation fails (vague briefs, duplicated work).
- Automatic delegation from descriptions (Claude Code style): a bigger surface and a context cost for every described agent; tai has about 60 tools already and keyword-selects them.
- Handoff-only (the current
@agentroute): fine for humans, but the model cannot use another agent mid-task. - Advisor first: its cited gain rests on one unverified transcript and tai's free backends are mostly one tier, so the benefit is unmeasured.
Risks / open questions
- Anthropic reports most coding work is poorly parallelizable and delegation costs about 15x tokens; the tool could be net-negative on small tasks, so the skill must say when not to delegate.
- Delegated agents run with their own tools; the confused-deputy risk is real and the scoping is only as good as each agent's permission mode.
- A bundled skill must be added to tai.py first because the C++ port regenerates its bundled skills from it.
- No measurement exists on tai workloads; a trial with a counter on delegations and their cost should precede widening.
Action taken
Recommendation only. Nothing built; retoor has not decided. If approved, the build order is ask_agent tool with caps, then the cap-agents skill in tai.py and the regenerated bundle, then evaluate before considering an advisor tool.
Changelog
| Date | Change |
|---|---|
| 2026-10-25 | Initial conclusion recorded as a recommendation. |