메타데이터
- 발신자: TLDR
- 원문 URL: https://blog.bytebytego.com/p/how-chatgpt-optimizes-its-agent-loop
- 발행일: 2026-07-30
- 카테고리: ai-llm
직역 전문
(참고: 원문은 ByteByteGo의 유료 구독 콘텐츠로, 전체 본문에는 접근할 수 없었습니다. 아래는 접근 가능했던 공개 요약·서두 부분과 TLDR 티저를 바탕으로 한 직역입니다.)
AI 랩(lab)들은 그 어느 때보다 빠르게 움직이고 있다. 그러나 역량(capability)은 그림의 절반에 불과하다. 작업 하나를 성공적으로 완료하는 데 드는 비용(cost per successful task)을 최적화하는 것은 모델을 더 저렴하게, 그리고 서비스하는 데 덜 부담스럽게 만든다. 이 글은 프론티어 랩들이 API 애플리케이션을 더 효율적으로 만들기 위해 채택한 기법들을 다룬다. 요청이 AI 에이전트로 전송될 때 무슨 일이 일어나는지, 하니스(harness) 계층이 어떻게 반복 작업을 줄이는지 등을 설명한다.
OpenAI는 ChatGPT의 에이전트 루프를 세 개의 아키텍처 계층—하니스(harness), API, 추론(inference)—에 걸쳐 최적화한다.
하니스 계층 (사용자에게 가장 가까운 오케스트레이션 계층)에서는 다음과 같은 기법을 사용한다.
- 지속적인 웹소켓(persistent WebSocket) 연결로 반복적인 HTTPS 연결을 대체하여 TCP/TLS 핸드셰이크 오버헤드를 없앤다.
- 증분 요청(incremental request)은 이전 응답에 대한 참조와 함께 새로운 데이터만 전송한다.
- 안정적인 프롬프트 접두사(stable prompt prefix)는 휘발성 상태를 분리해 캐시 유효성을 유지한다.
- 지연된 도구 탐색(deferred tool discovery)은 자주 쓰이지 않는 도구 스키마를 미리 로드하지 않고 필요할 때만 불러온다.
- 코드 모드(Code Mode)는 모델이 런타임 내에서 여러 도구 호출을 순차적으로 실행하는 스크립트를 생성하도록 한다.
API 계층 (토큰화와 검증을 담당)에서는 다음과 같은 기법을 사용한다.
- 델타 토큰화(delta tokenization)는 전체 대화 히스토리를 다시 토큰화하지 않고 새로운 대화 항목만 처리한다.
- 병렬 안전성 검사(parallel safety check)는 추론과 동시에 실행되어, 필수적인 처리 시간 안에 지연(latency)을 숨긴다.
- 트래픽 라우팅은 코드 변경 없이도 성능을 개선하기 위해 더 최신 세대의 CPU를 우선 사용한다.
추론 계층 (GPU 실행 계층)에서는 다음과 같은 기법을 사용한다.
- 캐시 인지 라우팅(cache-aware routing)은 대화를 해당 캐시 상태를 보유한 머신으로 되돌려 보낸다.
- KV 캐시 관리는 프로덕션 트레이스를 활용해 어떤 대화 상태를 메모리에 유지할지 최적화한다.
- 추측 디코딩(speculative decoding)은 더 작은 모델이 토큰을 제안하고 더 큰 모델이 병렬로 이를 검증하는 방식이다.
- 프리필(prefill)과 디코드(decode) 단계를 분리하여 서로 다른 연산 패턴을 전용 하드웨어에서 각각 최적화한다.
이 모든 기법을 관통하는 핵심 철학은 "동일한 작업을 두 번 처리하지 않는다"는 것이다. 엔지니어들은 어떤 단일 최적화도 "게임 체인저"는 아니라고 강조하며, 모든 계층에 걸친 복합적 개선이 의미 있는 효율성 향상을 이끈다고 말한다.
4계층 심층 요약
1. 핵심 주장
OpenAI는 ChatGPT의 에이전트 루프 비용을 낮추기 위해 하니스, API, 추론이라는 세 개의 아키텍처 계층에서 각각 최적화를 수행한다. 어느 한 가지 트릭이 결정적인 것이 아니라, 계층마다 "같은 작업의 반복을 없앤다"는 원칙을 일관되게 적용한 결과가 누적되어 작업당 비용(cost per successful task)을 낮춘다.
2. 근거
- 하니스 계층: 지속적 웹소켓, 증분 요청, 안정적 프롬프트 접두사, 지연된 도구 탐색, 코드 모드로 클라이언트-서버 간 중복 통신과 재전송을 줄인다.
- API 계층: 델타 토큰화로 전체 히스토리 재토큰화를 피하고, 병렬 안전성 검사로 지연 시간을 숨기며, 최신 CPU로 트래픽을 라우팅해 코드 변경 없이 처리량을 높인다.
- 추론 계층: 캐시 인지 라우팅과 KV 캐시 관리로 GPU 메모리 재사용률을 높이고, 추측 디코딩과 프리필/디코드 분리로 GPU 활용도를 극대화한다.
- 엔지니어링팀 스스로 "단일 최적화는 게임 체인저가 아니다"라고 밝힌 점에서, 이 접근이 개별 기법이 아닌 시스템 전반의 설계 철학임을 알 수 있다.
3. 사례
- 웹소켓 지속 연결: 매 요청마다 TCP/TLS 핸드셰이크를 반복하지 않아 네트워크 오버헤드를 제거.
- 캐시 인지 라우팅: 동일 대화의 후속 요청을 이전과 같은 GPU 머신으로 되돌려 캐시된 KV 상태를 재사용.
- 추측 디코딩: 작은 모델이 다음 토큰 후보를 미리 제안하고 큰 모델이 이를 병렬 검증해 디코딩 속도를 높임.
- 프리필/디코드 분리: 입력 처리(prefill)와 토큰 생성(decode)이라는 서로 다른 연산 특성을 각각 전용 하드웨어 자원에 배분.
4. 시사점
개발자와 스타트업 입장에서 이 글은 "모델 자체의 성능"뿐 아니라 "그 모델을 서비스하는 인프라 설계"가 실제 제품 원가와 응답 속도를 좌우한다는 점을 보여준다. 자체 에이전트나 LLM 기반 제품을 만들 때도, 프롬프트 캐싱 전략(안정적 접두사 유지), 불필요한 재전송 줄이기, 도구 스키마의 지연 로딩 같은 하니스 계층 기법을 그대로 벤치마킹할 수 있다. 특히 토큰 재사용과 캐시 적중률을 높이는 설계는 대형 랩만의 이야기가 아니라, 자체 인프라를 최적화하려는 모든 팀에 적용 가능한 원칙이다.
핵심 요약 (20줄)
- OpenAI는 ChatGPT의 에이전트 루프를 하니스, API, 추론이라는 세 개의 아키텍처 계층에서 각각 최적화한다.
- 이 글의 핵심 전제는 "모델 역량"뿐 아니라 "작업당 비용(cost per successful task)"을 낮추는 것이 프론티어 랩의 중요한 경쟁 요소라는 것이다.
- 하니스 계층은 사용자에게 가장 가까운 오케스트레이션 계층으로, 반복 작업을 줄이는 다섯 가지 기법을 사용한다.
- 지속적인 웹소켓 연결은 매 요청마다 발생하는 TCP/TLS 핸드셰이크 오버헤드를 제거한다.
- 증분 요청은 전체 대화가 아니라 이전 응답에 대한 참조와 새로운 데이터만 전송해 페이로드를 줄인다.
- 안정적인 프롬프트 접두사는 휘발성 상태를 분리해 캐시가 무효화되지 않도록 유지한다.
- 지연된 도구 탐색은 자주 쓰이지 않는 도구의 스키마를 미리 불러오지 않고 필요할 때만 로드한다.
- 코드 모드는 모델이 여러 도구 호출을 순차 실행하는 스크립트를 생성해 왕복 통신 횟수를 줄인다.
- API 계층은 토큰화와 요청 검증을 담당하며, 세 가지 최적화 기법을 사용한다.
- 델타 토큰화는 전체 대화 히스토리를 매번 재토큰화하지 않고 새로 추가된 항목만 처리한다.
- 병렬 안전성 검사는 모델 추론과 동시에 실행되어 별도의 지연 시간을 유발하지 않는다.
- 트래픽 라우팅은 더 신형 CPU 세대를 우선적으로 활용해 코드 수정 없이 처리 성능을 끌어올린다.
- 추론 계층은 실제 GPU 연산이 이루어지는 곳으로, 네 가지 핵심 기법이 사용된다.
- 캐시 인지 라우팅은 같은 대화의 후속 요청을 이전 캐시 상태를 가진 머신으로 되돌려 보낸다.
- KV 캐시 관리는 실제 프로덕션 트래픽 패턴을 분석해 어떤 대화 상태를 메모리에 유지할지 결정한다.
- 추측 디코딩은 작은 모델이 다음 토큰을 예측 제안하고, 큰 모델이 이를 병렬로 검증하는 방식으로 속도를 높인다.
- 프리필과 디코드 단계를 분리해 서로 다른 연산 특성에 맞는 전용 하드웨어에 작업을 배분한다.
- 엔지니어링팀은 이 기법들 중 어느 하나도 단독으로 "게임 체인저"는 아니라고 밝혔다.
- 대신 모든 계층에서 "동일 작업의 중복 처리를 피한다"는 원칙을 일관되게 적용한 것이 누적되어 실질적인 비용 절감을 만든다.
- 개발자와 스타트업에게 이 사례는, 자체 LLM 기반 제품에서도 캐싱·재전송 최소화·지연 로딩 같은 설계 원칙을 적용해 인프라 비용을 낮출 수 있다는 실용적 시사점을 준다.