Responses API, “싸다”는 말이 절반만 맞는 이유

Published on

in

Responses API, “싸다”는 말이 절반만 맞는 이유

2026.03.22 기준
GPT-5.4 / Responses API GA
IT / AI

Responses API, “싸다”는 말이 절반만 맞는 이유

OpenAI 공식 문서는 Responses API가 Chat Completions보다 캐시 활용도가 40~80% 향상됐다고 밝힙니다. 많은 글이 이 수치를 “비용 40~80% 절감”으로 옮기는데, 공식 표현과는 다릅니다. 실제로 previous_response_id를 쓰면 입력 토큰이 줄어드는지 커뮤니티 실측 데이터까지 교차 확인했습니다. 그리고 2026.08.26이라는 Assistants API 종료 데드라인도 챙겨야 합니다.

40~80%
캐시 활용도 향상 (내부 테스트)
+3%
SWE-bench 성능 향상 (추론 모델 기준)
2026.08.26
Assistants API 완전 종료일

Responses API가 뭔지 먼저 짚고 갑니다

OpenAI API의 계보는 크게 세 단계로 정리됩니다. 단순 텍스트 생성을 위한 Completions API, 대화 형식을 지원하는 Chat Completions API, 그리고 지금 얘기할 Responses API입니다. 공식 마이그레이션 가이드는 이렇게 선언합니다. “Chat Completions는 계속 지원되지만, 새로운 프로젝트에는 Responses API를 권장합니다.” (출처: OpenAI 공식 마이그레이션 가이드)

Responses API가 기존 Chat Completions API와 다른 핵심은 세 가지입니다. 첫째, 빌트인 도구(웹 검색, 파일 검색, Computer Use, 코드 인터프리터, 원격 MCP 등)를 별도 구현 없이 바로 쓸 수 있습니다. 둘째, 멀티턴 대화에서 이전 응답 ID만 넘기면 상태가 유지됩니다. 셋째, 에이전트 루프를 하나의 API 요청 안에서 처리할 수 있습니다.

코드 구조도 간결해졌습니다. Chat Completions에서는 completion.choices[0].message.content처럼 중첩 접근이 필요했는데, Responses API에서는 response.output_text로 바로 꺼낼 수 있습니다. 공식 문서 표현 그대로 “Items”라는 단위로 응답 구조가 재설계됐습니다.

💡 공식 발표문(2026.03.11)과 마이그레이션 가이드를 함께 놓고 보면 한 가지 패턴이 보입니다. OpenAI는 Responses API를 단순히 “편의성 개선”이 아니라, 추론 모델과 에이전트 루프에 최적화된 새로운 실행 층으로 설계했습니다. Chat Completions는 대화 인터페이스였고, Responses API는 프로그래머블 시스템 인터페이스입니다.

▲ 목차로 돌아가기

“저렴하다”는 수치의 실제 조건

공식 마이그레이션 가이드의 원문은 이렇습니다. “내부 테스트에서 Chat Completions 대비 캐시 활용도가 40~80% 향상됐습니다.” 많은 한국어 블로그가 이 문장을 “비용 40~80% 절감”으로 소개하는데, 공식 문서에는 그런 표현이 없습니다. 캐시 활용도(cache utilization) 개선과 비용 절감은 다른 이야기입니다. 캐시 히트율이 높아지면 반복 요청에서 비용이 줄어들 수 있지만, 그게 곧 40~80% 비용 절감은 아닙니다.

실제로 비용 절감이 발생하는 조건은 이렇습니다. 동일한 컨텍스트를 반복 사용하는 에이전트 워크플로, 즉 같은 시스템 프롬프트·스킬 파일·파일 검색 인덱스 등을 재사용하는 상황에서 캐시 히트가 발생하면 입력 토큰 비용이 줄어듭니다. 단순 일회성 챗봇이나 매번 다른 컨텍스트를 쓰는 경우라면 이 효과를 기대하기 어렵습니다.

항목 Chat Completions API Responses API
캐시 활용도 기준치 40~80% 향상 (내부 테스트)
SWE-bench 성능 기준치 +3% 향상 (추론 모델 기준)
빌트인 도구 없음 (직접 구현 필요) 웹 검색·파일 검색·Computer Use·코드 인터프리터·MCP
대화 상태 관리 클라이언트가 직접 관리 previous_response_id 또는 Conversations API
Audio 지원 지원 Coming soon (2026.03 기준)

출처: OpenAI 공식 마이그레이션 가이드 (developers.openai.com/api/docs/guides/migrate-to-responses, 2026.03 기준)

▲ 목차로 돌아가기

previous_response_id의 숨겨진 진실

Responses API의 가장 편리한 기능 중 하나는 previous_response_id입니다. 이전 응답의 ID만 넘기면 전체 대화 기록을 다시 붙여 넣지 않아도 됩니다. 그런데 이 편리함이 “입력 토큰이 줄어든다”는 오해를 낳습니다.

⚠️ 실측 확인된 내용

OpenAI 공식 커뮤니티에서 개발자들이 직접 비교 측정한 결과, previous_response_id를 써도 실제 입력 토큰 수는 Chat Completions에서 전체 히스토리를 직접 넘기는 것과 거의 동일합니다. API가 내부적으로 해당 응답의 전체 컨텍스트를 다시 처리하기 때문입니다. 편의성은 올라가지만 토큰 비용 자체는 줄지 않습니다. (출처: OpenAI 커뮤니티 포럼, “Responses API vs Completions: No Token Savings?”, 2025.06)

그럼 비용 절감은 어디서 오냐는 질문이 생깁니다. 1,000토큰 이상의 컨텍스트라면 자동 캐싱이 작동해 캐시 히트 시 입력 비용이 줄어들 수 있습니다. 공식 문서는 이 캐싱이 “Chat Completions든 Responses API든 자동으로 적용된다”고 밝힙니다. 즉, 캐시 이점은 Responses API만의 것이 아닙니다. Responses API의 실질적인 비용 이점은 캐시 히트율이 구조적으로 더 높게 설계됐다는 점이고, 그 차이가 내부 테스트에서 40~80%로 나타난 것입니다.

💡 공식 문서와 커뮤니티 실측을 함께 보면 이런 그림이 나옵니다. 동일 시스템 프롬프트를 반복하는 에이전트일수록 이 차이가 벌어지고, 매번 새 컨텍스트를 쓰는 단순 챗봇이라면 체감 차이가 거의 없습니다.

▲ 목차로 돌아가기

Computer Use가 강력한 만큼 위험한 이유

2026년 3월 11일, OpenAI는 Responses API에 컴퓨터 환경을 직접 탑재했다고 공식 발표했습니다. 쉘 도구(shell tool), 호스팅된 컨테이너 워크스페이스, 에이전트 스킬(skills)이 Responses API 안으로 들어온 것입니다. GPT-5.4부터 이 구조를 기반으로 훈련됐습니다. (출처: “From model to agent: Equipping the Responses API with a computer environment”, OpenAI Engineering Blog, 2026.03.11)

쉘 도구는 기존 코드 인터프리터(Python만 실행)와 달리, grep, curl, awk 같은 유닉스 유틸리티부터 Go, Java, Node.js 실행까지 가능합니다. 모델이 스크린샷을 보고 클릭, 입력, 스크롤 같은 UI 액션을 제안하면 하네스가 실행하는 구조입니다. 실용적으로 강력하지만 그만큼 실수하면 되돌리기 어려운 상황도 발생합니다.

공식 가이드에서 명시하는 “반드시 사람이 직접 개입해야 하는” 상황

  • 비밀번호 변경의 마지막 단계
  • 브라우저 보안 경고(HTTPS 경고, 페이월 장벽) 우회
  • 금융 거래 확인
  • OS 보안 설정, VPN 변경
  • CAPTCHA 풀기

출처: OpenAI 공식 Computer Use 가이드 (developers.openai.com/api/docs/guides/tools-computer-use, 2026.03 기준)

공식 가이드가 특히 강조하는 건 프롬프트 인젝션 위협입니다. 화면에 표시되는 텍스트(웹사이트 내용, PDF, 이메일, 채팅)는 모두 신뢰할 수 없는 입력으로 취급해야 합니다. 화면에서 발견된 “지금 당장 실행하세요” 같은 지시는 사용자 명령이 아닙니다. 이 구분을 시스템 프롬프트에 명시적으로 박아두지 않으면, 화면에 숨겨진 악의적인 지시에 에이전트가 그대로 따라갈 수 있습니다.

▲ 목차로 돌아가기

ZDR 환경에서의 함정

Responses API의 기본 동작은 store: true입니다. 요청 내용이 OpenAI 서버에 저장됩니다. 공식 문서는 이것을 아무렇지 않게 “기본값”으로 설명하는데, ZDR(Zero Data Retention) 정책을 쓰는 기업이나 개인에게는 기본 설정 그대로 쓰면 안 된다는 뜻입니다.

ZDR 조건에서도 추론(reasoning) 기능을 쓰고 싶다면 방법이 있습니다. store: false로 저장을 끄고, include 필드에 ["reasoning.encrypted_content"]를 추가하면 됩니다. 이렇게 하면 추론 토큰이 암호화된 형태로 반환되고, 다음 요청에서 일반 reasoning 항목처럼 넘길 수 있습니다. 복호화는 메모리에서만 이루어지고 디스크에 쓰이지 않습니다. (출처: OpenAI 공식 마이그레이션 가이드, 2026.03 기준)

💡 대부분의 블로그가 store: false를 단순히 “저장 끄기”로만 소개하는데, ZDR 조직에서는 이 설정이 없으면 OpenAI가 자동으로 강제 적용합니다. 즉, ZDR 조직이라면 별도 설정을 하든 안 하든 저장은 안 되지만, 그 상태에서 암호화 추론 없이는 멀티턴 reasoning을 이어가기 어렵습니다. 설정 조합을 알고 있어야 합니다.

▲ 목차로 돌아가기

2026.08.26 마이그레이션 데드라인, 어떻게 대비할까

OpenAI는 2025년 8월 26일 Assistants API 지원 중단을 공식 발표하면서 종료일을 2026년 8월 26일로 확정했습니다. Responses API 공식 문서에는 “Assistants API는 2026년 8월 26일에 sunset됩니다”라고 명시돼 있습니다. (출처: OpenAI Migrate to Responses API 공식 가이드, developers.openai.com) Assistants API를 쓰는 프로덕션 코드가 있다면 지금이 이전 시점입니다.

마이그레이션은 단계적으로 가능합니다. 공식 가이드는 Responses API가 Chat Completions API의 상위 집합(superset)이라고 표현합니다. 즉, 전체를 한 번에 바꾸지 않아도 추론 모델이나 에이전트 플로우가 이득을 볼 부분부터 먼저 옮기고, 나머지는 Chat Completions에 그대로 둘 수 있습니다.

함수 정의 방식도 달라집니다. Chat Completions에서는 외부 태그 방식(type: “function” + function: {…})으로 중첩이 한 단계 더 있었는데, Responses API는 내부 태그 방식으로 간결해졌습니다. 또한 Chat Completions에서 함수는 기본적으로 non-strict였지만 Responses API에서는 strict가 기본입니다. 스키마 검증 없이 넘기던 코드가 있다면 이 부분에서 오류가 날 수 있습니다.

마이그레이션 전 체크리스트 (공식 가이드 7단계 요약)

  1. 엔드포인트 변경: POST /v1/chat/completionsPOST /v1/responses
  2. Item 정의 업데이트 (messages → items)
  3. 멀티턴 대화 컨텍스트 로직 수정 (previous_response_id)
  4. ZDR 정책 여부 확인 및 store 필드 설정
  5. 함수 정의 구조 변경 (내부 태그 방식, strict 기본값 확인)
  6. Structured Outputs: response_formattext.format
  7. 빌트인 도구로 전환 가능한 커스텀 함수 검토

▲ 목차로 돌아가기

Q&A

Q1. Chat Completions API 계속 써도 되나요?

Chat Completions API는 계속 지원됩니다. OpenAI 공식 문서는 “Responses API는 Chat Completions의 상위 집합이며, Chat Completions는 계속 유지된다”고 명시합니다. 단, 새로운 기능과 최적화는 Responses API 중심으로 이루어집니다. 기존 코드가 안정적으로 돌아가고 있다면 급하게 전환할 필요는 없지만, Assistants API를 쓰고 있다면 2026.08.26 이전 전환이 필요합니다.
Q2. previous_response_id를 쓰면 비용이 줄어드나요?

입력 토큰 자체는 줄어들지 않습니다. API 내부적으로 이전 응답의 전체 컨텍스트를 다시 처리합니다. 비용 절감이 발생하는 건 캐시 히트가 발생할 때이고, 이는 1,000토큰 이상의 반복 컨텍스트에서 자동 적용됩니다. 편의성이 높아지는 건 맞지만 “토큰을 덜 쓴다”는 건 아닙니다.
Q3. Computer Use는 어떤 모델에서 쓸 수 있나요?

Q4. Audio 기능은 Responses API에서 쓸 수 있나요?

2026년 3월 기준으로 Responses API에서 Audio는 “Coming soon” 상태입니다. 공식 기능 비교표에서 Chat Completions는 Audio를 지원하지만 Responses API 항목에는 “Coming soon”으로 표기돼 있습니다. 오디오 기능이 필요한 프로젝트라면 공식 릴리스 노트를 주시해야 합니다.
Q5. 컨텍스트가 너무 길어지면 어떻게 되나요?

Responses API에는 네이티브 컴팩션(Compaction) 기능이 있습니다. 공식 엔지니어링 블로그에 따르면, 최신 모델은 이전 대화 상태를 분석해 핵심 내용만 암호화된 토큰 효율적 형태로 압축하는 컴팩션 항목을 생성합니다. 서버 측 자동 컴팩션과 별도 /compact 엔드포인트 두 가지 방식을 모두 지원합니다. (출처: OpenAI Engineering Blog, 2026.03.11)

▲ 목차로 돌아가기

마치며

Responses API는 “Chat Completions보다 좋다”는 말이 맞긴 한데, 어떤 맥락에서 좋은지를 짚지 않으면 기대와 다른 결과가 나옵니다. previous_response_id는 편의성이지 토큰 절약이 아니고, 40~80% 향상은 비용 절감이 아니라 캐시 활용도 수치입니다. 공식 문서를 원문으로 읽지 않으면 이 차이가 흐려집니다.

2026년 3월 11일 발표된 쉘 도구+컨테이너 환경은 에이전트 구축의 진입 장벽을 실질적으로 낮춘 변화입니다. 다만 Computer Use는 “편리하니까 쓴다”가 아니라, 프롬프트 인젝션 방어와 민감 데이터 처리 정책을 설계에 함께 박아두는 방식으로 접근해야 합니다. 편의 기능이 늘어날수록 그 뒤에 붙어 있는 책임도 커집니다.

Assistants API를 쓰고 있다면 2026.08.26까지 6개월도 안 남았습니다. 마이그레이션을 미루기 좋은 시기가 있는 건 아닌데, 공식 가이드가 잘 정리돼 있으니 지금 훑어두는 걸 권합니다.

▲ 목차로 돌아가기

📚 본 포스팅 참고 자료

  1. OpenAI 공식 마이그레이션 가이드 — developers.openai.com/api/docs/guides/migrate-to-responses
  2. OpenAI Computer Use 공식 가이드 — developers.openai.com/api/docs/guides/tools-computer-use
  3. OpenAI Engineering Blog: “From model to agent: Equipping the Responses API with a computer environment” (2026.03.11) — openai.com/index/equip-responses-api-computer-environment
  4. OpenAI 커뮤니티 포럼: “Responses API vs Completions: No Token Savings?” — community.openai.com
  5. Microsoft Learn: “Assistants API will be deprecated in August 2026” — learn.microsoft.com

본 포스팅 작성 이후 서비스 정책·UI·기능이 변경될 수 있습니다. 본문의 모든 수치와 기능 설명은 2026년 3월 22일 기준 공식 문서를 바탕으로 작성됐습니다. OpenAI는 업데이트 주기가 빠르므로 최신 내용은 공식 문서에서 직접 확인하시기 바랍니다.

댓글 남기기


최신 글


아이테크 어른경제에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기