개요
에이전트 개발에서 “무엇을 하면 안 되는지”를 먼저 이해해야 올바른 설계를 할 수 있다는 메시지를 담은 강연입니다. 발표자는 클로드 인증 아키텍트 시험의 6가지 실무 시나리오를 중심으로 에이전틱 루프, 멀티 에이전트 설계, 컨텍스트 관리 등 핵심 안티패턴을 분석합니다.
이 영상은 버클리 대학교에서 30년 이상 컴퓨터 과학을 가르쳐온 프랭크 코일이 제작한 콘텐츠입니다. 그는 학생들이 자율형 AI 시대에 대비할 수 있도록 돕는 과정에서 앤트로픽의 클로드 인증 시험을 분석하게 되었다고 밝히며, 시험 준비 여부와 관계없이 에이전트 개발자라면 반드시 알아야 할 핵심 원칙들을 공유합니다.
핵심 내용
클로드 인증 아키텍트 시험 구조
시험은 5개 영역으로 구성되어 있습니다. 에이전틱 아키텍처가 27%로 가장 비중이 크고, 클로드 코드 시스템 및 워크플로우 설정이 20%, 프롬프트 엔지니어링과 JSON 구조화 출력, 툴 설계, 모델 컨텍스트 프로토콜 통합, 그리고 고객 관리와 신뢰성이 나머지를 차지합니다.
시험은 시나리오 기반으로 진행되며, 6개의 프로덕션 시나리오 중 무작위로 4개가 선택됩니다. 단순 객관식이 아닌 현실적인 제약 조건과 시나리오에 기반한 문제가 출제됩니다. 99달러를 내면 개인도 6개월에 1회 응시할 수 있습니다.
에이전틱 루프와 stop_reason 제어
발표자는 1966년 뵘과 야코피니가 증명한 구조적 프로그래밍 정리를 언급하며, 튜링 완전한 언어를 만들려면 순차 실행, 조건문, 루프 세 가지만 있으면 된다고 설명합니다. 에이전트 세계에서도 기존에 시퀀스와 조건문은 활용해왔지만, 이제 루프가 추가되면서 진정한 에이전틱 능력이 발현된다는 것입니다.
핵심 안티패턴은 에이전트에게 작업을 시키고 응답만 받아서 그대로 사용하는 것입니다. 올바른 방식은 while 루프 안에서 stop_reason을 확인하며 반복하는 것입니다. 루프 안의 첫 번째 블록에서 모델을 호출하고, 두 번째 블록에서 stop_reason이 “tool_use”인지 확인합니다. 툴 사용이라면 해당 툴을 실행하고 결과를 다시 메시지에 추가한 뒤 루프를 계속합니다.
여기서 중요한 점은 LLM 자체는 아무것도 실행할 수 없다는 사실입니다. LLM은 확률적 다음 단어 예측기일 뿐이며, 툴을 어떻게 설정해야 하는지 파라미터를 알려줄 수 있을 뿐 실제 실행은 개발자의 코드가 담당합니다. stop_reason으로는 토큰 부족 여부도 확인할 수 있어, 응답이 불완전한 경우 적절한 대응이 가능합니다.
CLAUDE.md 계층적 관리
클로드 코드에는 CLAUDE.md라는 마크다운 파일 개념이 있습니다. 앤트로픽이 권장하는 구조는 3개 레벨로, 프로젝트 최상위에 하나, 프로젝트 폴더 안에 하나, 그리고 디렉토리 단위로 추가 설정이 가능합니다. 이를 통해 시스템이 어떻게 반응할지를 계층적 룰셋으로 제어할 수 있습니다.
멀티 에이전트 설계와 전문화
안티패턴은 하나의 에이전트에 모든 툴을 몰아넣는 것입니다. 발표자는 집에 수리공을 부르는 비유를 들었습니다. 배관 도구, 목공 도구, 전기 도구를 모두 들고 오는 사람보다 전문 목수를 원할 것이라는 이야기입니다. 에이전트에게 1~2개의 툴로 한 가지 일을 시키는 것이 성공의 열쇠입니다.
또 다른 중요한 안티패턴은 집단사고 문제입니다. 에이전트들이 서로 협력하고 대화하면 하나의 생각에 수렴하는 경향이 있습니다. 이를 방지하려면 비평가 에이전트에게 전체 사고 과정이 아닌 주장과 증거만 전달해야 합니다.
서브태스크 컨텍스트 분리와 압축
안티패턴은 모든 서브태스크의 출력을 메인 스레드에 그대로 쓰는 것입니다. 컨텍스트는 곧 토큰이고, 토큰은 곧 비용입니다. 올바른 패턴은 컨텍스트 포크로 에이전트를 별도 스레드로 분리해서, 요약된 결과만 메인 컨텍스트에 추가하는 것입니다. 토큰 수가 15만을 넘으면 컴팩트 기능으로 압축할 수도 있습니다.
CI/CD에서의 배치 모드 활용
안티패턴은 파이프라인에서 항상 인터랙티브 모드를 사용하는 것입니다. 배치 모드로 작업을 일괄 처리하면 토큰 비용을 50% 절감할 수 있으며, 24시간 이내에 결과를 받을 수 있습니다.
핵심 요점
- 에이전틱 루프에서 stop_reason을 확인하지 않고 응답만 받아 처리하는 것은 가장 흔한 안티패턴입니다. while 루프 안에서 stop_reason 기반으로 제어 흐름을 구성해야 합니다.
- 하나의 에이전트에 모든 툴을 몰아넣으면 성능이 저하됩니다. 각 에이전트를 1~2개 툴로 전문화하고, 집단사고를 방지해야 합니다.
- 서브태스크 결과를 메인 컨텍스트에 그대로 쌓으면 토큰 비용이 증가하고 LLM의 응답 품질이 떨어집니다. 컨텍스트 포크로 분리하고 요약만 전달하세요.
- CLAUDE.md를 프로젝트, 폴더, 디렉토리 3단계로 계층화하면 에이전트의 행동을 세밀하게 제어할 수 있습니다.
- CI/CD 파이프라인에서 인터랙티브 모드 대신 배치 모드를 사용하면 토큰 비용을 50% 절감할 수 있습니다.