52 lines
2.2 KiB
Markdown
52 lines
2.2 KiB
Markdown
# 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. |
|