Compare responsibilities, not matching names
A feature name does not establish interchangeable request fields. This matrix describes ownership and integration paths, not an exhaustive model-by-model capability guarantee. Check the chosen runtime's reference for exact schemas and availability.
| Concern | Agents API | Agents SDK | Responses API |
|---|---|---|---|
| Agent loop | OpenAI-managed harness | Runner in your application | Application-managed orchestration |
| Custom functions | Your handler returns required-action results | Application tool implementation runs through SDK | Your code returns function outputs |
| Conversation state | Durable managed session | SDK session/storage integration | Response/conversation state plus application logic |
| MCP | Configure supported connection origin and credentials | Connect through SDK's MCP integration | Use documented remote MCP tool interface |
| Compute and files | Optional hosted or self-hosted environment | Application or sandbox integration | Configure supported tools; not an Agents API environment |
| User authorization | Your application | Your application | Your application |
No environment versus compute
With environment.type none, remote MCP and application functions can serve external data. Built-in shell, apply-patch, workspace files, and executor-local MCP are not available without an environment. Choose hosted or self-hosted compute when the task needs those capabilities. An application can expose its own function-based service, but that does not create a built-in sandbox.
Search and knowledge are integration choices
Do not copy a Responses file-search or vector-store configuration into agent.tools without checking support. Identify whether retrieval is a runtime-hosted tool, a remote MCP service, or your own function handler. The same retrieval backend can sit behind different interfaces; conversation history and a searchable knowledge index serve different purposes.
Use a compatibility checklist
Check the model, SDK version, tool schema, connection origin, network reachability, credentials, result format, and approval path. Run one authorized success case and one denied case. Reuse business logic where appropriate, while adapting the surrounding lifecycle and result envelope to the destination runtime.
Read the official reference
Check the source for current API fields, account requirements, and service limits.
OpenAI: architecture Agents API functions Agents overview