본문으로 건너뛰기

Claude를 넘어 자율 에이전트로: Zach M의 Microagent 구축 및 평가 전략

Zach M이 Claude Projects의 한계를 극복하기 위해 구축한 독자적인 에이전트 시스템인 Microagent와 TDD 기반의 평가 스택을 소개한다.

챕터별 상세

00:00

에이전트 호출 및 응답의 투명성 확보

모든 API 호출과 응답을 JSONL 파일에 로깅하여 시스템의 투명성을 확보했다. 매일 하나의 파일이 생성되며 모든 메시지, 도구 호출, 응답이 기록되어 나중에 동일한 상황을 재현하고 분석할 수 있다. 이러한 로깅 방식은 에이전트의 동작을 추적하고 디버깅하는 데 필수적인 기반이 된다.
00:09

에이전트 레이어의 소유권과 A/B 테스트

Claude에 종속되지 않고 자체적인 에이전트 레이어를 소유함으로써 다양한 요소들을 A/B 테스트할 수 있게 되었다. 컨텍스트 관리 방식, 모델 선택, 프로바이더 변경 등 전체 스택에 대한 제어권을 확보했다. 이를 통해 어떤 모델이나 접근 방식이 특정 작업에 더 효율적인지 객관적으로 검증할 수 있는 환경을 구축했다.
00:40

독립적인 레이어 구조와 EVAL 시스템

EVAL Runner, Judge, Microagent, Skills 등 각 레이어가 독립적으로 변경될 수 있도록 시스템을 설계했다. 특정 레이어의 변경이 다른 레이어에 미치는 영향을 격리하여 반복적인 실험과 개선이 가능하게 했다. 각 레이어의 격리는 에이전트 스택의 유연성을 높이고 개발 속도를 가속화한다.
02:10

에이전트 개발을 위한 TDD 패턴

전통적인 소프트웨어 개발의 TDD 패턴을 에이전트 개발에 이식했다. 시나리오를 먼저 작성하고 모델을 실행한 뒤, Judge가 결과를 판정하고 이를 바탕으로 스킬을 튜닝하는 사이클을 반복한다. 이는 비결정론적인 LLM의 동작을 체계적으로 관리하고 개선하는 데 효과적이다.
04:03

시나리오 복잡도에 따른 모델 차별화

단순한 일일 요약 시나리오에서 시작하여 복잡한 컨텍스트 패킹 시나리오로 테스트를 확장했다. 시나리오가 어려워질수록 모델 간의 성능 차이가 명확하게 드러나는 것을 확인했다. 특히 도구 호출의 정확도와 컨텍스트 활용 능력이 모델 평가의 핵심 지표가 되었다.
09:30

결정론적 지표와 비결정론적 판단의 분리

EVAL 스택을 결정론적 지표 측정 레이어와 비결정론적 품질 판단 레이어로 분리했다. 토큰 수, 비용, 실행 시간 등은 코드로 정확히 측정하고, 답변의 품질이나 정확도는 LLM Judge가 루브릭에 따라 평가한다. 이러한 분리를 통해 지표의 신뢰성을 높이고 디버깅 효율을 개선했다.
12:09

Microagent의 코드 구조와 개발 스택

Microagent는 약 1,500라인의 런타임 코드를 포함하여 총 3,600라인 정도의 Python 코드로 구성되어 있다. 패키지 관리를 위해 uv를 사용하고, pytest, ruff, mypy 등을 활용하여 코드 품질을 관리한다. 최소한의 코드로 가치 있는 결과를 내는 'Less is More' 철학을 유지하고 있다.
toml
[project.scripts]
microagent = "microagent:main"
eval-runner = "eval_runner:main"
eval-report = "eval_report:report_main"
check-style = "check_style:main"

pyproject.toml 파일에 정의된 에이전트 및 평가 도구의 CLI 엔트리 포인트 설정 예시

17:25

에이전트 보조 개발 워크플로

마크다운 기반의 백로그와 지침 파일을 사용하여 에이전트와 협업하는 워크플로를 구축했다. 에이전트가 린팅, 타입 체크, 스타일 가이드 적용 등을 자동으로 수행하도록 서브 에이전트를 배치했다. 개발자는 상위 수준의 의사결정에 집중하고 반복적인 작업은 에이전트에게 위임한다.
30:30

오픈소스 모델 테스트 결과 및 향후 방향

GLM-4, DeepSeek, Qwen 등 다양한 오픈소스 모델을 테스트한 결과, 특정 조건에서 상용 모델에 필적하는 성능을 보였다. 특히 Nemotron-30B와 같은 모델이 도구 호출에서 놀라운 성능을 보여 자체 호스팅 가능성을 확인했다. 향후에는 멀티 턴 평가 시나리오와 에이전트 메모리 관리 기능을 확장할 계획이다.

용어 해설

JSON 라인(JSONL)
각 줄이 하나의 유효한 JSON 객체인 텍스트 형식이다. 스트리밍 데이터 로깅에 적합하며, 에이전트의 API 호출 이력을 순차적으로 기록하고 분석하는 데 효율적이다.
테스트 주도 개발(TDD)
실제 코드를 작성하기 전에 테스트 케이스를 먼저 작성하는 소프트웨어 개발 방법론이다. 에이전트 개발에서는 기대하는 동작 시나리오를 먼저 정의하고 이를 통과하도록 모델과 프롬프트를 개선하는 방식으로 응용된다.
오케스트레이션(Orchestration)
여러 AI 모델이나 도구, 서브 에이전트들의 실행 순서와 데이터 흐름을 관리하는 프로세스이다. 복잡한 작업을 수행하기 위해 상위 에이전트가 하위 작업을 할당하고 결과를 취합하는 구조를 설계하는 데 핵심적이다.
양자화(Quantization)
모델의 가중치를 낮은 정밀도(예: FP16에서 INT8)로 변환하여 메모리 사용량을 줄이고 추론 속도를 높이는 기법이다. 양자화 수준에 따라 모델의 도구 호출 능력이나 추론 정확도가 달라질 수 있어 평가가 필요하다.
평가 프레임워크(Evals)
AI 모델의 출력 품질을 정량적 또는 정성적으로 측정하기 위한 시스템이다. 에이전트가 도구를 올바르게 호출했는지, 답변의 톤이 적절한지 등을 자동으로 판정하여 모델 성능을 벤치마킹한다.
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 01. 15.수집 2026. 02. 21.출처 타입 YOUTUBE

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.