본문으로 건너뛰기

© 2026 Molayo

OpenAI헤드라인2026. 04. 23. 22:33

WebSocket으로 에이전트 워크플로우 속도 개선 방법

요약

복잡한 작업을 수행하는 AI 에이전트(Agent)의 처리 과정은 수많은 백앤드 요청과 추론 과정을 거치며 지연 시간이 길어지는 문제가 있었습니다. OpenAI는 이 문제를 해결하기 위해 Responses API에 WebSocket 연결 방식을 도입했습니다. 기존 방식처럼 모든 요청을 독립적으로 처리하고 전체 대화 기록을 매번 재처리하는 대신, 지속적인(persistent) 연결을 통해 상태를 메모리에 캐싱하고 불필요한 네트워크 왕복을 제거했습니다. 또한, 모델 추론 속도 향상과 함께 API 오버헤드가 병목 현상을 일으키자, 이 구조

핵심 포인트

  • 에이전트 워크플로우는 여러 단계의 API 요청(툴 실행, 결과 전송 등)을 거치며 지연 시간이 길어지는 경향이 있습니다.
  • OpenAI는 지속적인 연결(Persistent Connection)과 상태 캐싱을 통해 에이전트 루프의 오버헤드를 크게 줄였습니다.
  • WebSocket은 개발자 친화적이며 기존 API 구조를 크게 변경하지 않고도 실시간 통신 및 상태 관리가 가능하게 했습니다.
  • 최종적으로는 WebSocket의 장점을 활용하되, `previous_response_id`를 이용해 캐싱된 상태를 불러오는 방식으로 안정성을 확보했습니다.

AI 에이전트가 복잡한 작업을 수행할 때 발생하는 지연 시간(Latency)은 여러 API 요청과 모델 추론 과정에서 발생합니다. 특히, 이전에는 모델 추론 자체가 가장 느린 부분이었습니다.

하지만 최신 LLM의 추론 속도가 급격히 빨라지면서, 오히려 에이전트 워크플로우 전반에 걸친 누적된 API 오버헤드가 주요 병목 현상으로 떠올랐습니다. OpenAI는 이 문제를 해결하기 위해 Responses API를 개선했습니다.

핵심은 '독립적인 요청 처리'라는 구조적 한계를 극복하는 것이었습니다. 기존 방식은 대화의 모든 후속 요청마다 전체 대화 기록을 처음부터 재처리해야 했기 때문에, 대화가 길어질수록 비용과 시간이 기하급수적으로 증가했습니다.

이에 OpenAI는 WebSocket 기반의 지속적인 연결(Persistent Connection) 방식을 도입하는 것을 고려했습니다. 이 방식은 매번 새로운 HTTP 요청을 시작하고 전체 기록을 전송할 필요 없이, 상태를 메모리에 캐싱하여 필요한 정보만 주고받게 합니다. 이를 통해 불필요한 API 작업을 제거하고 지연 시간을 획기적으로 줄일 수 있었습니다.

초기 프로토타입에서는 에이전트의 작업 흐름(Agentic Rollout)을 단일 장기 실행 응답으로 모델링하여, 도구 호출(Tool Call) 시 클라이언트와 서버가 WebSocket을 통해 비동기적으로 결과를 주고받는 방식으로 구현되었습니다. 이는 마치 로컬 툴 호출을 호스팅된 툴처럼 처리하는 것과 같았습니다.

최종 출시 버전에서는 개발자 경험을 고려하여 기존의 response.create 형식을 유지하면서도, 백엔드에서 이전 응답 ID(previous_response_id)를 통해 캐싱된 상태를 불러와 사용하는 방식으로 WebSocket의 효율성을 통합했습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 OpenAI Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
2

댓글

0