
에이전트 개선은 데이터 마이닝 문제이다
요약
에이전트 성능 개선의 핵심은 실행 과정에서 발생하는 트레이스(Traces) 데이터를 마이닝하여 지속적 학습 루프를 구축하는 것입니다. 이를 위해 관측 가능성(Observability) 확보와 대규모 데이터 큐레이션 역량이 필수적입니다.
핵심 포인트
- 트레이스 마이닝은 에이전트 성능 향상을 위한 핵심 신호를 제공함
- 지속적 학습은 에이전트의 경험을 다시 시스템에 통합하는 과정임
- 에이전트 개선을 위해 대규모 데이터 큐레이션과 관측 가능성이 중요함
- SFT, RL, 메모리 저장소 등을 통해 학습 데이터를 통합할 수 있음

핵심 요약 (Key Takeaways)
• 트레이스 (Traces)를 마이닝하는 것은 성능을 향상 (hill climb)시킬 수 있는 신호를 제공합니다.
• 오픈 모델 파인튜닝 (Open model fine-tuning) 및 복합 에이전트 시스템 (compound agent systems)은 대규모 트레이스 데이터를 처리하는 데 도움이 됩니다.
• 지속적 학습 (Continual Learning)은 장기적인 관점에서 에이전트 데이터를 처리하여 다시 에이전트에 통합하는 것에 관한 것입니다.
• 에이전트는 인류 역사상 인간이 생성한 것보다 더 많은 데이터를 생성할 것입니다. 우리는 이를 처리하기 위해 도구 (tooling)를 업데이트해야 합니다.
지속적 학습 (Continual Learning), 하네스 엔지니어링 (Harness Engineering), 포스트 트레이닝 (Post-Training)은 모두 동일한 기반으로 귀결됩니다: 실험을 수행하고 에이전트를 개선하기 위해 대규모로 데이터를 큐레이션 (curating)하는 것입니다. 저는 올해 AI Engineer World Fair에서 이에 대해 강연을 했습니다. 멋진 행사를 만들어준 @swyx에게 감사를 전합니다!
우리는 왜 트레이스 (Traces)로부터 데이터를 마이닝하는 것이 기업이 에이전트를 이해하고, 대규모로 데이터를 큐레이션하며, 개선 루프 (improvement loops)를 실행하기 위해 구축할 수 있는 가장 레버리지가 높은 역량 중 하나인지에 대해 이야기했습니다.
다음은 제가 공유한 슬라이드에 대한 간략한 설명과 강연에서의 (약간) 매운맛 의견 (spicy takes)입니다.
모든 지속적 학습 기업은 관측 가능성 (Observability) 기업이다
미지근한 의견으로 시작해 보겠습니다: 모든 지속적 학습 기업은 관측 가능성 (Observability) 기업이며... 그 반대도 마찬가지입니다! 지속적 학습을 수행하는 팀의 워크플로우 (workflows)를 살펴보면, 가장 먼저 보이는 것은 트레이스 (traces)를 공유하기 위한 일종의 메시지입니다.

지속적 학습 (Continual Learning)은 에이전트가 환경에서 행동을 취하고, 그 경험으로부터 생성된 정보를 다시 에이전트 시스템으로 통합하는 것에 관한 것입니다. 이는 인간이 환경에서 행동을 취하고, 일종의 학습, 기억 또는 나중에 사용하기 위한 저장을 유발함으로써 학습하는 방식과 대략적으로 유사합니다.
이것이 바로 트레이스 (Traces)가 장기적인 에이전트 개선의 통화 (currency)인 이유입니다. 트레이스는 환경에서의 에이전트 경험을 우리가 이해할 수 있도록 마이닝 가능한 데이터 형식으로 투영한 것입니다.
오늘날 모든 정보를 어떻게 다시 통합할지는 정확히 불분명하지만, 아마도 다음과 같은 방식들이 혼합될 것입니다:
- SFT (Supervised Fine-Tuning), RL (Reinforcement Learning) 등을 통해 모델 가중치(weights)로 다시 통합할 학습 데이터를 수집하는 것
- 지시사항(instructions), 도구(tools), 기술(skills), 오케스트레이션 전략(orchestration strategies) 등을 추가하기 위해 엔지니어링을 활용하는 것
- 문맥적 검색(contextual retrieval)을 위해 정보를 메모리 저장소(memory stores)에 통합하는 것
Scaling Dreaming이라는 용어는 긴 시간 지평(long time-horizons) 동안 대규모 데이터 규모에서 이를 어떻게 수행할지를 설명하는 멋진 방식입니다.

에이전트 개선을 위한 실질적인 레시피 (A Practical Recipe for Agent Improvement)
이 강연은 팀들이 오늘 바로 에이전트를 개선하기 시작할 수 있도록 실질적인 레시피를 제시하는 데 중점을 두었습니다.

데이터 수집 플라이휠(data collection flywheel)을 가동하는 것은 팀이 할 수 있는 가장 가치 있는 일 중 하나입니다! 이는 에이전트의 괜찮은 버전을 구축하여 실제로 배포하는 것을 의미합니다. 그 이후의 개선은 다음과 같은 과정에서 이루어집니다:
- 무엇을 개선해야 할지 확인하기 위해 데이터를 마이닝(mining)하는 것
- 개선 방향에 맞는 평가(evals, 즉 학습 데이터)를 큐레이션(curating)하는 것
- 관심 있는 특정 축(axis)을 따라 에이전트를 개선하기 위해 실험을 수행하는 것
대규모 트레이스(Traces)를 통한 에이전트의 이해
에이전트의 동작은 전통적인 코드보다 더 불투명합니다. 에이전트의 정의를 읽는 것만으로는 에이전트가 정확히 무엇을 할지 알 수 없습니다. 우리는 결정론(determinism)을 자율성(autonomy)과 맞바꾸며, 그 이해의 간극을 메우기 위해 트레이스(Traces)를 사용합니다.

대규모로 평가(evals)를 실행하고 트레이스를 읽음으로써, 우리가 부여한 작업에 대해 에이전트가 어떻게 행동할 가능성이 높은지에 대한 정량적 측정치와 직관을 개발할 수 있습니다.
트레이스는 에이전트의 동작을 이해하고 개선할 수 있게 해줍니다. 하지만 현대의 에이전트는 훨씬 더 복잡해지고, 훨씬 더 많은 작업을 수행하며, 따라서 우리가 이전에 보았던 것보다 훨씬 더 많은 데이터를 생성합니다. 많은 트레이스가 수백만 토큰에 달하는 수백만 개의 트레이스를 읽는 것은 다음과 같은 문제를 야기합니다:
비용 문제: 그토록 많은 토큰을 처리하기 위한 비용 문제
컨텍스트 문제: 중요한 신호를 찾기 위해 트레이스를 검색하는 과정에서의 컨텍스트 문제
이것이 바로 우리가 대규모 트레이스(Traces at Scale)로부터 데이터를 효율적으로 이해하고 큐레이션하기 위해 특화된 에이전트와 모델을 만드는 이유입니다.

트레이스를 이해하기 위한 시스템 구축
Open models는 지능의 임계값을 넘어섰으며, 대규모로 트레이스 (traces)를 처리하기 위한 비용 효율적인 옵션입니다. 모든 기업은 각자의 트레이스에서 서로 다른 시그널 (signals)을 찾습니다. 여기에는 사용자 상호작용의 미묘한 차이, 도메인 특화 데이터 (domain specific data), 그리고 데이터의 어떤 하위 섹션이 중요한지를 판별하는 능력이 포함됩니다. 우리는 우리의 트레이싱 프로젝트 전반에서 시그널을 마이닝 (mine)하기 위해 Trace judge 모델을 파인튜닝 (fine-tuned)하였으며, 좁은 범위의 작업 (narrow tasks)에서는 오픈 소스 기반의 소형 모델들이 폐쇄형 프론티어 모델 (closed frontier models)보다 성능이 뛰어나면서도 실행 비용은 수십 배 더 저렴하다는 것을 발견했습니다.
자체적인 모델 지능을 소유하고 배포할 때 얻는 또 다른 이점은, 토큰 비용 (token costs)을 인프라 비용 (infrastructure costs)으로 교환함에 따라 대규모 운영 시 비용을 훨씬 더 저렴하게 유지할 수 있다는 점입니다. 추론 (inference) 볼륨이 충분히 높다면, 이러한 트레이드오프 (tradeoff)는 많은 팀에게 합리적인 선택이 됩니다.

우리는 트레이스 마이닝 (mining traces)이 중요하다고 생각하며, 이를 중심으로 제품을 구축했습니다. LangSmith Engine은 특화된 에이전트 (agents)를 사용하여 모든 트레이스를 읽고, 팀이 중요하게 생각하는 특정 시그널을 찾으며, 문제를 발견하고, 코드 수정안을 만들고, 평가 (evals)를 생성하며, 중요한 정보를 메모리+컨텍스트 저장소 (memory+context stores)에 커밋하고, 시간이 지남에 따라 모든 에이전트를 개선하기 위해 작동합니다.
다음은 우리가 Engine을 구축하고 평가하는 방식에 대한 심층 분석입니다.
모델-작업-하네스 적합성 (Model-Task-Harness Fit), 평가 (Evals), & 에이전트 최적화 방법
트레이스 마이닝 (Trace Mining)의 출력값은 개선 루프 실험 (improvement loop experiments)을 실행하기 위한 입력값이 됩니다. "좋은" 트레이스를 마이닝하는 것은 더 작은 모델을 증류 (distill)할 수 있는 시그널을 제공하며, 이는 더 높은 비용 효율성을 가져다줍니다. 프로덕션 환경에서 발생하는 모든 에이전트의 실패는 우리가 평가 (eval)와 환경을 구축할 수 있는 타겟이 됩니다.

평가 (Evals)는 에이전트를 위한 학습 데이터입니다.
평가의 목적은 에이전트가 이를 통과하게 만드는 것이며, 이를 통해 트레이스에서 측정된 것과 동일한 행동 양식이 에이전트를 개선 (hill-climb)해 나가는 과정에서 에이전트의 행동으로 전이됩니다.
일반적으로 우리의 작업은 다음과 같습니다:
- 좋은 데이터 찾기
- 좋은 적합 함수 (fit functions) 찾기
데이터를 수집하고 나면, 우리의 작업은 그 데이터에 학습 시스템을 적합(fit)시키는 것입니다. "고전적 머신러닝 (classical ML)"에 sci-kit-learn 적합 함수 (fit functions)가 있었던 것과 마찬가지로, 현대의 에이전트들은 미세 조정 (fine-tuning; SFT, RL, DPO)과 같은 적합 전략이나, 평가 점수 (eval scores)를 산 오르기 (hill-climbing) 지표로 사용하여 하네스 (harness) 상에서 자동 연구 (auto-research)를 수행하는 하네스 엔지니어링 (Harness Engineering)과 같은 전략을 가집니다.

여기서의 아이디어는 지능의 원천으로서 모델로부터 역으로 작업하여, 일련의 작업들에 대한 성능을 최적화하기 위해 모델과 하네스에 대한 최적의 변경 사항을 찾는 것입니다. 하네스는 모델 본연의 지능을 증폭하고 확장하는 역할을 하며, 모델이 더 똑똑해질수록 모델이 자신의 지능을 자유롭게 사용할 수 있도록 하네스의 상당 부분은 해체될 것입니다.
적합 함수 (fit function)의 예로, 우리는 환경과 평가 (evals)에 기반하여 에이전트를 개선하기 위한 일반적인 전략으로서 루프 (loops)와 자동 연구 (auto-research)를 발견했습니다. Terminal Bench 2.0에서, 우리는 단순히 정확도 지표와 트레이스 (traces)를 산 오르기 (hill-climbing) 방식으로 조정하여 행동을 이해하는 것만으로도 기본 하네스 대비 13.7%라는 큰 성능 향상을 얻을 수 있음을 확인했습니다.

트레이스 (Traces)는 에이전트에게 단순한 스칼라 보상 (scalar rewards)을 넘어 탐색할 수 있는 풍부한 행동 피드백을 제공함으로써 피드백 신호를 밀집 (densify the feedback signal) 시킵니다.
우리는 다음과 같은 질문을 자주 받습니다: "하네스 엔지니어링 (harness engineering)을 해야 할까요, 아니면 미세 조정 (fine-tuning)을 해야 할까요?" 머신러닝의 대부분의 질문이 그렇듯... 상황에 따라 다릅니다. 하지만 우리가 매우 성공적이라고 본 일반적인 전략은 하네스 엔지니어링 (Harness Engineering) -> 미세 조정 (Fine-Tuning) -> 하네스 엔지니어링 (Harness Engineering)으로 이어지는 깔때기(또는 샌드위치) 구조입니다.

대부분의 팀에게는 하네스 엔지니어링 (Harness Engineering)만으로도 충분한 경우가 많습니다. 팀들은 즉각적인 피드백을 얻을 수 있으며, 자신들의 지식과 오류에 대한 관찰을 에이전트에 전달할 수 있는 매우 높은 대역폭의 표면 (high-bandwidth surface) 을 확보하게 됩니다. 모델은 세대가 거듭될수록 더 똑똑해지며, 그에 따라 인컨텍스트 학습 (in-context learning) 능력도 성장합니다. 좋은 컨텍스트 (context), 도구 표면 (tool surfaces), 그리고 프롬프트 (prompts)를 준비하는 데 주의를 기울이는 팀들은 자신들의 작업에 충분히 좋은 성능을 매우 빈번하게 얻을 수 있습니다.
하지만 결국 하네스 엔지니어링 (harness engineering)은 단순히 프롬프트 (prompt)를 미세 조정하는 것만으로는 더 이상의 이득을 창출할 수 없는 지능의 한계점에 도달하게 됩니다. 이러한 두 가지 경우나, 정보를 더 작은 모델로 증류 (distill)하고자 하는 높은 추론 (inference) 워크로드의 경우 모두 파인튜닝 (fine-tuning)이 합리적인 선택입니다. 파인튜닝은 더 복잡하며, 데이터를 큐레이션 (curating)하고 더 긴 피드백 루프 (feedback loops)를 통해 실험을 수행해야 합니다. 하지만 모델의 지능을 여러분의 작업에 맞춰 재형성하는 것은 성능을 높이는 효과적인 방법입니다.
마지막으로, 파인튜닝된 모델에 만족하게 되면, 파인튜닝된 모델을 여러 작업에 걸쳐 사용함에 따라 새로운 지능의 지형 (intelligence landscapes)이 관련 문제들에 어떻게 일반화 (generalize)되는지 확인하기 위해 추가적인 하네스 엔지니어링 (harness engineering)을 시도하는 것이 좋은 경로가 됩니다. 만약 제가 팀들에게 하나의 레시피를 추천해야 한다면, 빠른 반복 (rapid iteration)과 더 복잡한 적합 함수 (fit functions)에 대한 점진적 노출 사이에서 최상의 절충안 (tradeoff)을 얻을 수 있는 바로 이 방법을 추천하겠습니다.
핵심 요약 (Takeaways)
에이전트 개선 (agent improvement), 지속 학습 (Continual Learning), 환경/평가 (Environments/Evals) 등 에이전트 개선의 방대한 지형을 단 하나의 강연과 슬라이드 세트로 요약하기는 어렵습니다. 하지만 이 강연과 글의 목표는 팀들에게 왜 데이터가 향후 몇 년간 에이전트 개선의 핵심 동력이 될 것인지에 대한 동기를 부여하는 실질적인 출발점을 제공하는 것이었습니다.
몇 가지 짧은 요약은 다음과 같습니다:
- 트레이스 (traces)를 마이닝하는 것은 경사 상승법 (hill climb)을 수행할 수 있는 신호를 제공합니다.
- 오픈 모델 파인튜닝 (Open model fine-tuning) 및 복합 에이전트 시스템 (compound agent systems)은 대규모 트레이스 데이터를 처리하는 데 도움을 줍니다.
- 지속 학습 (Continual Learning)은 장기적인 관점에서 에이전트 데이터를 에이전트에 다시 처리하고 통합하는 것에 관한 것입니다.
- 에이전트는 인류 역사상 인간이 생성한 것보다 더 많은 데이터를 생성할 것입니다. 우리는 이를 처리하기 위해 도구 (tooling)를 업데이트해야 합니다.
LangChain Labs의 연구 팀은 이러한 문제들에 집중하며 모든 팀이 데이터를 사용하여 더 나은 에이전트를 구축할 수 있도록 돕고 있습니다. 더 나은 데이터, 더 나은 이해, 그리고 더 나은 에이전트를 향하여.
AI 자동 생성 콘텐츠
본 콘텐츠는 LangChain Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기