research: CAP model handling, model-as-tool and skill delegation (cap-protocol, +59 sources, 2 conclusions)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
# OpenAI Agents SDK: Tools (agents as tools)
|
||||
|
||||
## Metadata
|
||||
|
||||
| Field | Value |
|
||||
|---|---|
|
||||
| Institute | Molodetz Institute — Research & Retrieval Division |
|
||||
| Subject | cap-protocol |
|
||||
| Document type | Source Dossier |
|
||||
| Tier | 1 |
|
||||
| Source title | OpenAI Agents SDK: Tools (agents as tools) |
|
||||
| Source URL | https://openai.github.io/openai-agents-python/tools/ |
|
||||
| Source publisher / author | OpenAI |
|
||||
| Source type | vendor docs |
|
||||
| Source date (published) | Unknown — not stated |
|
||||
| Date researched | 2026-10-25 |
|
||||
| Researched by | tai (agent), model: Claude Sonnet 5, on behalf of retoor |
|
||||
| Research method | direct page fetch |
|
||||
| Confidence | High |
|
||||
| Status | Active |
|
||||
|
||||
## Summary
|
||||
|
||||
The SDK page that defines `Agent.as_tool()`: exposing a specialist agent to a manager as a callable tool instead of handing the conversation over.
|
||||
|
||||
## Key findings
|
||||
|
||||
- The agent-as-tool run has its own state: the parent run's conversation state is not inherited automatically; pass the same `session` to share client-managed history.
|
||||
- The nested run's final output is returned to the parent as the tool result; `custom_output_extractor` can reshape it first.
|
||||
- `is_enabled` takes a boolean, a callable or an async function; disabled tools are completely hidden from the LLM at runtime.
|
||||
- By default the tool expects an object with one string field `input`; a Pydantic model or dataclass via `parameters` replaces that, and `include_input_schema=True` adds the JSON Schema to the nested input.
|
||||
- If `needs_approval` requires a decision, the nested run pauses and the pending items surface in `result.interruptions`.
|
||||
- Guidance: use a central agent that orchestrates specialists 'instead of handing off control'.
|
||||
|
||||
## Pros / strengths
|
||||
|
||||
Concrete, small API that names the knobs a delegation tool needs: input schema, output extractor, enable switch, approval pause.
|
||||
|
||||
## Cons / limitations / caveats
|
||||
|
||||
Describes the SDK's API, not measured outcomes; the handoff comparison lives on another page.
|
||||
|
||||
## Relevance to tai
|
||||
|
||||
Template for the shape of a tai `ask_agent` tool: structured input, nested run in its own context, only the final output returned, an enable switch and an approval hook.
|
||||
|
||||
## Changelog
|
||||
|
||||
| Date | Change |
|
||||
|---|---|
|
||||
| 2026-10-25 | Initial dossier created. |
|
||||
Reference in New Issue
Block a user