우리가 AI 에이전트를 계속해서 다시 만든 이유와 끝까지 살아남은 것들 - 푸아드 알리(Fuad Ali), 아라이즈 AI(Arize AI)
원제 · We Kept Rebuilding Our AI Agent. Here's What Survived - Fuad Ali, Arize AI
핵심 요약
에이전트 시스템 구축 시 복잡한 프레임워크나 모델 자체에만 의존하지 않고, 하니스 코드를 통해 계획 수립, 상태 관리, 메모리를 직접 통제하는 것이 안정성과 성능을 높이는 핵심이다.
하이라이트
2023년 말 첫 번째 프로토타입 개발 당시 모델의 환각 비율이 50%에 달했으나, 이후 모델의 성능 향상과 하니스 코드 개선을 통해 안정성을 높였다.
에이전트에게 전체 투두 리스트를 통째로 쥐여주면 목록을 체크하는 데만 자원을 낭비하므로, 하니스 코드가 상태와 완료 여부를 관리하는 방식으로 전환했다.
거대한 데이터나 도구 결과는 컨텍스트 윈도우를 완전히 채워버리기 때문에, 데이터를 잘라내고 에이전트가 코드를 통해 필요한 부분만 직접 찾아가도록 설계했다.
지식 그래프나 복잡한 벡터 검색 대신 사용자당 8,000자 제한의 마크다운 파일 하나를 두는 방식이 장기 기억 구현에 가장 효과적이었다.
여러 개의 전문화된 서브 에이전트를 두는 방식에서 벗어나, 필요할 때 스킬을 동적으로 로드하는 하나의 통합된 에이전트 구조로 단일화했다.
타임라인
메타 에이전트 아키텍처와 제품 발전 타임라인
발표자는 아라이즈 AI에서 제품 업무를 맡고 있는 푸아드 알리이며, 지난 2년 동안 프로덕션 에이전트를 서비스하며 얻은 교훈을 공유한다. 에이전트가 에이전트를 개발하고 디버깅하는 순환적 구조 속에서, 수학 연산이나 복잡한 제어는 모델의 한계를 극복하기 위해 하니스 코드로 빠르게 이전했다. 초기에는 코파일럿 형태의 단순한 의사결정 트리로 시작했으나, 툴 호출과 투두 도구의 도입, 기본 모델의 업그레이드, 그리고 분산된 서브 에이전트의 통합 과정을 거쳐 현재의 아키텍처를 완성했다.
- 아라이즈 AI는 제품 내부의 코딩 에이전트인 알렉스를 디버깅하는 데 다시 알렉스를 사용하는 메타적인 구조를 채택하고 있다.
- 2023년 말 클로드 3.5 기반의 단순 스킬 라우터와 툴 호출 루프로 시작해, 2026년 6월에는 단일 통합 에이전트인 원 알렉스로 진화했다.
- 복잡한 연산 작업과 제어 로직은 모델에 맡기지 않고 전부 직접 작성한 하니스 코드로 구현하여 시스템에 대한 높은 통제권을 유지했다.
계획 관리와 턴 종료 규칙의 진화
에이전트가 작업을 수행할 때 계획을 세우고 실행하는 과정에서 겪은 시행착오를 다룬다. 처음에 모델에게 할 일 목록을 통째로 주었을 때는 목록을 수정하고 체크하는 데 자원을 낭비하는 현상이 나타났다. 이를 해결하기 위해 하니스 코드가 직접 상태와 진행 상황을 관리하도록 로직을 수정했다. 또한 다양한 서드파티 모델을 지원하는 환경에서 모델이 임의로 턴을 종료하거나 단계를 건너뛰는 문제를 방지하기 위해, 명시적인 완료 툴 호출을 강제하고 제한 횟수를 초과하면 경고 후 종료하는 방어 장치를 마련했다.
- 모델에게 전체 투두 리스트를 직접 관리하게 하면 목록 업데이트에만 집중하여 실질적인 유용한 작업을 수행하지 못하는 문제가 발생했다.
- 하니스가 계획과 완료 상태를 메시지 라인 안에서 직접 관리하고 모델은 다음 작업을 수행하는 구조로 변경하여 효율성을 높였다.
- 모델이 툴 호출 없이 텍스트만 출력하거나 불완전한 상태에서 작업을 끝내려 할 경우를 대비해 명시적인 완료 툴과 강제 종료 메커니즘을 도입했다.
컨텍스트 관리와 장기 기억 설계
방대한 데이터와 기억을 다루는 방식에 대한 엔지니어링 교훈을 설명한다. 책상 위에 두꺼운 책이 너무 많이 쌓이면 일을 할 수 없는 것처럼, 에이전트의 컨텍스트 창에 거대한 트레이스 결과나 도구 출력을 그대로 부어넣으면 성능이 저하된다. 따라서 포인터만 남겨두거나 데이터를 잘라낸 뒤 에이전트가 코드로 필요한 부분을 직접 조회하게 만들었다. 장기 기억 역시 복잡한 시스템 대신 사용자당 하나의 8,000자 제한 마크다운 파일을 백그라운드에서 수정하는 방식을 채택하여 안전성과 가독성을 모두 확보했다.
- 거대한 도구 결과나 JSON 데이터는 컨텍스트 윈도우를 소모하므로, 데이터를 축소하고 코드를 통해 필요한 정보에 접근하도록 구현했다.
- 벡터 검색, 지식 그래프 등 복잡한 장기 기억 방식들을 시도한 끝에 사용자당 하나의 작은 마크다운 파일을 두는 방식으로 안착했다.
- 장기 기억 파일을 작고 명확하게 유지함으로써 컨텍스트 폭발을 방지하고 인간 평가자가 쉽게 검토할 수 있도록 만들었다.
전문가 에이전트 폐기와 프로덕션 테스트
시스템을 지나치게 복잡하게 만드는 오버엔지니어링을 경계하며 얻은 최종 교훈들을 다룬다. 과거에는 기능별로 수많은 서브 에이전트를 두었으나 유지보수와 효율 측면에서 불리하여 단일 에이전트 기반의 동적 스킬 로딩 방식으로 회귀했다. 에이전트의 버그는 명확한 에러 코드보다 비정상적인 반복 호출이나 긴 지연 시간 같은 정성적 형태로 나타나기 때문에, 프로덕션 트레이스를 기반으로 한 회귀 테스트와 인간 엔지니어의 최종 판단이 필수적이다. 궁극적으로 시스템 전반에 걸쳐 추적 기능, CI 골든 데이터셋, 스트리밍, 스킬 구조 등의 핵심 원칙을 끝까지 유지하는 것이 중요하다고 강조한다.
- 페이지마다 10개에 달하던 전문화된 하위 에이전트 체계를 폐기하고, 필요할 때 스킬을 동적으로 불러오는 단일 에이전트 구조로 단순화했다.
- 실제 프로덕션 세션에서 발생하는 라이브 추적 데이터와 에러 케이스를 회귀 테스트용 골든 데이터셋과 살아있는 픽스처로 활용한다.
- 지연 시간이나 반복 호출 같은 정성적 지표를 검토하고 속도와 품질의 트레이드오프를 조율하는 영역에서는 여전히 인간의 판단력이 핵심적인 역할을 한다.
설명
Arize's in-product agent Alex went from a 2023 prototype that was "50% hallucination" to a single agent with planning, memory and on-demand skills, all built with custom harness code instead of a framework. AI PM Fuad Ali covers each decision: moving the plan into the harness, making "finish" an explicit gate, treating large tool results like files, why one 8,000-character memory file per user beat vector stores and knowledge graphs, merging 10 specialists into one agent, and using production sessions as tests. Chapters: 0:00 Intro 0:53 Agents all the way down 2:56 What Alex does 4:15 Timeline: 2023 to 2026 6:19 Who owns the plan? 8:33 What ends a turn? 9:44 Memory: treat big results like files 12:10 One small file beat a knowledge graph 13:33 Specialists vs. one agent 14:13 The newest model isn't always best 15:28 Production sessions as tests 17:46 What still needs a human 18:31 What survived every rebuild Fuad Ali https://arize.com Join us in SF for the second annual AIE CODE summit: https://aie.codes our last flagship summit of 2026. Applications live now!
