이 네 가지 이름은 서로 다른 계층을 가리키며, 선택 기준은 하나로 압축할 수 있습니다. 에이전트 루프를 누가 실행하는가? Responses API는 모델 호출이고 루프는 애플리케이션 코드가 실행합니다. Agents SDK는 TypeScript·Python 라이브러리이며 SDK 러너가 앱 내부에서 루프를 실행합니다. 2026년 9월 10일부터 공개 베타인 Agents API는 OpenAI의 Codex 하네스를 대신 실행하고 세션 및 선택적 샌드박스를 유지합니다. AgentKit은 Agent Builder, ChatKit, Connector Registry, Evals를 묶은 2025년 10월 번들이며, Agent Builder는 2026년 11월 30일 종료될 예정입니다.
9월 29일 DevDay에서 Agents API에 컴퓨터 사용 기능이 추가되면서(DevDay 2026 요약 참조), 이름 차이를 이해하는 일이 더 중요해졌습니다. 이 글에서는 루프, 컴퓨팅, 상태, 비용, 성숙도를 비교하고 선택 기준과 Responses 루프에서의 마이그레이션 절차를 정리합니다. 세션 및 승인 구현은 OpenAI Agents API 가이드를 참조하세요. 어떤 옵션이든 HTTP 인터페이스는 Apidog에서 테스트할 수 있습니다.
OpenAI 에이전트 옵션 비교
| Agents API | Responses API | Agents SDK | AgentKit | |
|---|---|---|---|---|
| 무엇인가요 | Codex 하네스의 관리형 에이전트 런타임 | 모델 엔드포인트, POST /v1/responses
|
TypeScript 및 Python용 라이브러리 | Agent Builder, ChatKit, Connector Registry, Evals 번들 |
| 누가 루프를 실행하나요 | OpenAI | 애플리케이션 코드 | 앱 내부의 SDK 러너 | Agent Builder 워크플로우. SDK 코드로 내보내거나 ChatKit에 임베딩 |
| 컴퓨팅이 어디서 실행되나요 | OpenAI 호스팅 샌드박스, 자체 샌드박스 또는 없음 | 자체 환경 및 호스팅 도구 | 자체 런타임 및 샌드박스 제공업체 | 해당 없음 |
| 상태가 어디에 저장되나요 | OpenAI 세션: 구성, 턴, 항목 | 자체 기록, previous_response_id 또는 Conversations API |
자체 저장소, SDK 세션 또는 Responses 상태 | 게시 및 버전 관리된 워크플로우 |
| 무엇을 지불하나요 | 토큰, 도구, 호스팅 컨테이너 | 토큰 및 도구 | 토큰, 도구, 자체 호스팅 비용 | 기반 API 사용량, 별도 구독 없음 |
| 통합 노력 | 낮음 | 높음 | 중간 | 평가되지 않음 |
| 상태 | 공개 베타, OpenAI-Beta: agents=v1 필요 |
모든 새 프로젝트에 권장 | 현재 지원 | Agent Builder 및 Evals는 2026년 11월 30일 종료 예정, ChatKit 유지 |
| 데이터 제어 | 미국 데이터 상주만, ZDR 비적격, 삭제 전까지 상태 유지 | 제한 사항이 있는 ZDR 적격, 지역 엔드포인트 지원 | 호출 API에 따라 다름 | 해당 없음 |
출처: OpenAI의 에이전트 런타임 비교, Agents API 개요, 사용 중단 페이지
누가 루프를 실행하는가
아키텍처를 결정할 때는 먼저 다음 질문에 답하세요.
함수 호출, 재시도, 승인, 상태 저장, 컨텍스트 압축을 우리 서비스가 제어해야 하는가?
답에 따라 선택지가 달라집니다.
Responses API: 애플리케이션 코드가 루프를 소유
Responses API는 모델 호출 단위입니다. 웹 검색, 파일 검색, 코드 인터프리터, 원격 MCP 같은 호스팅 도구는 하나의 요청에서 여러 동작을 수행할 수 있습니다. 그러나 자체 함수 도구는 호출 결과를 애플리케이션이 다시 모델에 전달해야 합니다.
구현 흐름은 다음과 같습니다.
-
POST /v1/responses를 호출합니다. - 응답의
function_call항목을 찾습니다. - 애플리케이션에서 함수를 실행합니다.
- 다음 요청에 동일한
call_id를 가진function_call_output을 보냅니다. - 완료 응답이 나올 때까지 반복합니다.
이 방식에서는 다음을 직접 결정합니다.
- 루프 중단 및 재시도 조건
- 대화 기록 저장 위치
- 응답 저장 여부: 기본 저장,
store: false로 비활성화 - 긴 컨텍스트 압축 시점:
context_management,compact_threshold
구현 상세는 Responses API 가이드와 함수 호출 가이드를 참고하세요.
Agents SDK: 앱 프로세스에서 SDK 러너가 루프를 소유
Agents SDK는 에이전트 루프와 핸드오프를 SDK 러너가 처리하도록 합니다. 다만 실행 위치는 여전히 애플리케이션 인프라입니다.
즉, 다음 책임은 서비스가 유지합니다.
- 서버 배포와 확장
- 함수 도구 구현
- 상태 저장
- 승인 정책
- 인증 및 감사 로그
- 샌드박스 제공업체 선택
샌드박스 에이전트의 명령은 Unix 로컬 환경, Docker 또는 호스팅 워크스페이스에서 실행될 수 있습니다. 이 경우에도 인증, 사람 검토, 감사 로그는 컨테이너 외부의 애플리케이션 계층에서 관리하는 편이 안전합니다.
Agents API: OpenAI가 루프를 소유
Agents API는 OpenAI가 관리하는 하네스가 세션, 오케스트레이션, 컨텍스트 압축, 복구를 처리합니다. 서브 에이전트, 도구 검색, 프로그래밍 방식 도구 호출도 지원합니다. 원격 MCP 서버는 OpenAI가 직접 호출합니다.
단, 자체 함수 도구의 실행 책임까지 사라지는 것은 아닙니다. 세션이 required_actions에 function_call을 보고하면 애플리케이션은 다음 정보를 포함한 agent.session.input.tool_result 이벤트를 반환해야 합니다.
turn_idcall_id- 도구 실행 결과
동일한 작업을 두 API로 시작하는 예시는 다음과 같습니다.
# Responses API: 하나의 모델 호출이며, 애플리케이션 코드가 루프를 소유합니다.
curl https://api.openai.com/v1/responses \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol",
"reasoning": {"effort": "low"},
"tools": [{"type": "web_search"}],
"input": "Summarize the breaking changes in the latest Node.js release."
}'
# Agents API: 영구 세션이며, OpenAI가 루프를 소유합니다.
curl https://api.openai.com/v1/agents/sessions \
-H "OpenAI-Beta: agents=v1" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent": {"model": "gpt-6-astra", "tools": [{"type": "web_search"}]},
"environment": {"type": "none"},
"input": "Summarize the breaking changes in the latest Node.js release."
}'
Agents API 문서 예시는 gpt-6-astra를 사용합니다. 다른 모델 허용 여부는 명시되지 않았으므로, gpt-6.1-sol 같은 모델로 교체하기 전에 지원 여부를 확인하세요.
컴퓨팅, 상태 및 비용
컴퓨팅
Agents API는 세션 전체에 대한 샌드박스를 프로비저닝하고 관리할 수 있습니다.
{
"environment": {
"type": "openai_hosted"
}
}
environment.type에는 다음 값을 설정할 수 있습니다.
-
openai_hosted: OpenAI 호스팅 샌드박스 -
self_hosted: 자체 샌드박스 -
none: 샌드박스 없음
Agents SDK는 샌드박스 제공업체를 직접 선택하고 비용도 직접 부담합니다. Responses API는 호스팅 도구를 제외하면 애플리케이션이 실행하는 환경에서 코드를 실행합니다.
상태
상태가 저장되는 위치는 운영 방식에 직접 영향을 줍니다.
- Agents API: OpenAI 세션이 구성, 턴, 항목을 보관합니다. 후속 요청은 같은 세션 ID에 이벤트를 전달하는 방식입니다.
-
Responses API:
previous_response_id를 연결하거나 Conversations API를 사용합니다. - Agents SDK: 자체 저장소, SDK 세션 또는 Responses 상태를 사용합니다.
비용
동일한 모델을 호출한다면 토큰 가격은 옵션별로 동일합니다. 비용 차이는 실행 인프라에서 발생합니다.
-
Agents API: 추가 플랫폼 비용은 없지만 호스팅 컨테이너 비용이 발생할 수 있습니다. 20분 세션 기준 1GB는
$0.03, 16GB는$0.48입니다. - Agents SDK: 토큰 및 도구 사용료 외에 자체 인프라 비용이 추가됩니다.
- Responses API: 자체 함수 실행 인프라 비용을 부담합니다.
- AgentKit: AgentKit 설명에 따르면 별도 구독은 없습니다.
데이터 제어
Agents API는 현재 미국 데이터 상주만 지원하며 Zero Data Retention(ZDR)을 지원하지 않습니다. 자체 호스팅 샌드박스를 사용해도 이 제약은 유지됩니다.
OpenAI의 데이터 제어 페이지는 /v1/agents가 ZDR 비적격이며, 상태가 삭제될 때까지 유지된다고 명시합니다.
반면 /v1/responses는 제한 사항이 있는 ZDR 적격이며 eu.api.openai.com 같은 지역 엔드포인트에서 사용할 수 있습니다.
ZDR 또는 EU 데이터 상주가 필수라면 현재 Agents API는 선택할 수 없습니다.
2026년 말 AgentKit: 남은 것은 무엇인가
AgentKit은 2025년 10월 6일 네 가지 구성 요소로 출시되었습니다. 각 구성 요소의 상태를 배포 계획에 반영해야 합니다.
- Agent Builder: 2026년 6월 3일 사용 중단이 발표됐으며 2026년 11월 30일 종료 예정입니다. OpenAI의 마이그레이션 가이드는 워크플로우를 Agents SDK 코드로 내보내거나, Business·Enterprise·Edu 환경에서 ChatGPT Workspace Agent로 재구성하는 방법을 안내합니다.
- Evals: 기존 Evals는 2026년 10월 31일 읽기 전용이 되고, 대시보드와 API는 11월 30일 종료될 예정입니다.
- ChatKit: 임베디드 채팅 UI 용도로 계속 사용할 수 있습니다.
- Connector Registry: OpenAI 제품 전반의 커넥터 및 MCP 서버를 관리하는 관리자 패널입니다.
AgentKit 가이드에 따르면 AgentKit에서 지속 가능한 코드 우선 경로는 Agents SDK입니다.
어떤 것을 기반으로 구축할 것인가
| 선택 | 적합한 상황 |
|---|---|
| Agents API | 작업이 몇 분간 실행되고 파일, 명령 또는 브라우저가 필요할 때. 루프, 샌드박스, 세션 저장소를 직접 운영하고 싶지 않고 미국 상주 및 베타 헤더를 수용할 수 있을 때 |
| Responses API | 단일 모델 호출 또는 완전한 턴 제어가 필요할 때. ZDR, 비미국 데이터 상주가 필요하거나 이미 동작하는 자체 루프가 있을 때 |
| Agents SDK | 유형화된 애플리케이션 코드가 도구, 저장소, 승인, 핸드오프를 소유해야 하고 루프도 자체 인프라에서 실행해야 할 때 |
| ChatKit | 제품에 임베디드 채팅 UI가 필요할 때 |
| Agent Builder | 새 프로젝트에서는 시작하지 마세요. 기존 워크플로우는 2026년 11월 30일 이전에 내보내야 합니다 |
AWS를 사용한다면 OpenAI 기반 Bedrock Managed Agents가 Agents API의 핵심 기능을 AWS 환경에서 네이티브로 실행할 수 있도록 합니다. 코드 우선 경로에서 MCP를 연결하려면 OpenAI 에이전트와 MCP 서버를 참고하세요.
자체 Responses 루프에서 Agents API로 이동
이미 Responses API 기반 루프를 운영하고 있고 OpenAI가 루프를 실행하도록 전환하려면 다음 순서로 진행하세요.
구성 요소를 매핑합니다.
지침, 모델, 도구 정의는agent로 이동합니다. 자체 컨테이너는environment로 이동하고, 대화 저장소는 Agents API 세션 ID로 대체합니다.원격 MCP 서버를
agent.tools로 이동합니다.
토큰을 프롬프트에 넣지 마세요.vault_ids에 연결된 볼트에 자격 증명을 보관합니다.-
함수 호출 핸들러를 다시 작성합니다.
기존function_call_output루프를 다음 이벤트 핸들러로 교체합니다.- 스트리밍:
agent.session.requires_action - 웹훅:
agent.session.action_required
- 스트리밍:
핸들러는 agent.session.input.tool_result를 반환해야 합니다. 서브 에이전트는 함수 도구를 호출할 수 없으므로 함수 도구는 주 에이전트에 유지하세요.
자체 압축 코드를 제거합니다.
관리형 하네스가 컨텍스트를 자동으로 압축합니다.-
완료 상태를 이벤트로 판정합니다.
다음 이벤트를 스트리밍하거나 웹훅으로 수신하세요.agent.session.turn.completedagent.session.turn.failedagent.session.turn.cancelled
세션이 유휴 상태라는 사실만으로 성공을 판단하면 안 됩니다.
- 배포 제약을 확인합니다. 미국 데이터 상주만 지원, ZDR 미지원, 베타 헤더 필요 여부를 출시 조건에 포함하세요.
두 가지를 하나의 Apidog 프로젝트에 유지
전환 전에는 기존 Responses 구현과 새 Agents API 구현을 동시에 검증하세요.
- 하나의 Apidog 프로젝트에
Responses폴더와Agents API폴더를 만듭니다. -
{{OPENAI_API_KEY}}와 모델 변수를 공유하는 환경을 설정합니다. - 두 요청에 동일한 프롬프트를 보냅니다.
- 상태 코드와 필수 출력 필드를 검사합니다.
- Agents API 스트림은 SSE 요청으로 열어 턴 이벤트를 관찰합니다.
- 실행 결과를 테스트 시나리오로 저장합니다.
- Apidog CLI로 CI에서 실행해 베타 변경 사항을 실패한 검사로 감지합니다.
운영 환경에서 확인할 항목은 운영 AI 에이전트 신뢰성 가이드를 참고하세요. 설정하려면 Apidog를 다운로드하세요.
자주 묻는 질문
Agents API가 Responses API를 대체하나요?
아니요. 사용 중단은 발표되지 않았습니다. OpenAI의 에이전트 개요는 Agents API, Agents SDK, Responses API를 서로 다른 요구 사항에 맞는 현재 옵션으로 나열합니다.
OpenAI AgentKit이 사용 중단되었나요?
부분적으로 그렇습니다. Agent Builder와 Evals는 2026년 11월 30일 종료 예정이며, ChatKit은 계속 사용할 수 있습니다.
Agents SDK가 Agents API를 사용하나요?
아니요. Agents SDK는 애플리케이션 내부에서 실행됩니다. Agents API는 OpenAI 서비스 내부에서 관리형 하네스를 실행합니다.
Assistants API는 어떻게 되었나요?
OpenAI 사용 중단 페이지는 2026년 8월 26일 제거를 설정했으며, 개발자에게 Responses API와 Conversations API 사용을 안내합니다.
어떤 옵션이 가장 저렴한가요?
토큰 가격은 모두 동일합니다. 비용 차이는 Agents API의 호스팅 컨테이너와 Agents SDK 또는 Responses API를 사용할 때의 자체 호스팅 비용에서 발생합니다.
이번 주에 한 가지 경로를 선택하십시오
먼저 루프를 누가 실행해야 하는가를 결정하고, 애플리케이션을 본격적으로 작성하기 전에 실제 HTTP 요청으로 가정을 검증하세요.
새 프로젝트라면 Agents API 세션 하나를 만들고, Apidog에서 현재 Responses 설정과 동일한 입력을 보낸 뒤 출력, 이벤트, 상태 관리 방식을 비교해 보세요.
Top comments (0)