58 lines
4.4 KiB
Markdown
58 lines
4.4 KiB
Markdown
# 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](../openai-agents-python-tools-agent-as-tool.md): shape of an agent-as-tool (own context, final output only, enable switch, approval pause).
|
|
- [openai-agents-python-multi-agent-orchestration](../openai-agents-python-multi-agent-orchestration.md): tool form when the manager keeps the reply.
|
|
- [anthropic-multi-agent-research-system](../anthropic-multi-agent-research-system.md): token multiple, brief contents, poor fit for most coding.
|
|
- [claude-code-advisor-docs](../claude-code-advisor-docs.md) and [openrouter-advisor-server-tool](../openrouter-advisor-server-tool.md): advisor form, depth guard, per-request cap, separate billing.
|
|
- [claude-code-skills-docs](../claude-code-skills-docs.md) and [agentskills-io-specification](../agentskills-io-specification.md): skills as low idle-cost guidance with size limits.
|
|
- [claude-code-sub-agents-docs](../claude-code-sub-agents-docs.md): 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 `@agent` route): 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. |
|