08장. 실무 심화 - 프로덕션 오케스트레이션
앞 장들이 어떤 패턴을 고를지를 다뤘다면, 이 장은 그 패턴이 실제 트래픽 아래에서 어떻게 깨지는지를 다룬다. 데모에서는 멀쩡하던 오케스트레이션이 동시 요청, 공유 컨테이너, 장시간 실행, 재연결 같은 현실 조건을 만나면 race condition으로 데이터를 덮어쓰고, 캐시를 놓쳐 비용이 치솟고, 스트림이 끊겨 세션이 교착에 빠진다. CCA-F가 301레벨 아키텍트 자격증인 이유가 여기에 있다. 시험은 "동작하는 코드"가 아니라 "프로덕션에서 살아남는 구조"를 묻는다. 즉 어느 지점에서 동시성 가정이 무너지는지, 어떤 운영 선택이 정확도·비용·신뢰성을 동시에 만족시키는지를 의사결정 수준에서 짚어내야 한다.
이 장은 두 개의 축으로 그 심화 주제를 정리한다. 하나는 여러 에이전트가 같은 자원을 공유할 때 발생하는 race condition과 그것을 막는 동기화 설계이고, 다른 하나는 세션을 수백·수천 개 단위로 운영할 때 캐시·속도 제한·재연결·비용을 어떻게 통제하는가다. 두 주제 모두 핵심은 같다. Anthropic API는 stateless이고, 멀티에이전트 컨테이너는 파일시스템을 공유하며, 스트림은 재생되지 않는다는 세 가지 불변 사실 위에서 설계 결정이 갈린다. 이 사실들을 외면한 코드가 시험의 함정 보기로 그대로 출제된다.
이 장을 마치면 공유 컨테이너·공유 메모리 스토어에서 발생하는 race condition을 식별하고 dedicated tool·precondition·코디네이터 위임으로 직렬화할 수 있으며, 대규모 세션 운영에서 프롬프트 캐시를 유지하고 속도 제한과 재연결을 견디며 토큰 비용을 통제하는 운영 구조를 설계할 수 있다. 또한 각 동시성·확장 결정이 시험에서 어떤 함정으로 변형되어 출제되는지를 식별할 수 있다.
| 순서 | 절 | 핵심 주제 |
|---|---|---|
| 01 | 멀티에이전트 race condition과 동기화 | 공유 파일시스템, precondition, dedicated tool, 코디네이터 직렬화 |
| 02 | 대규모 세션 운영과 확장 | 프롬프트 캐시 유지, 속도 제한, 스트림 재연결, 비용 통제 |