LangSmith에 도입된 Trajectories: 에이전트 세션의 가독성 높은 추적 보기
요약
LangSmith에 새로운 기능인 Trajectories가 도입되어, 복잡한 에이전트 세션의 추적(trace)을 시간 순서적이고 가독성 높은 경로로 보여줍니다. 이는 여러 턴, 도구 호출, 서브에이전트를 포함하는 장시간 실행 에이전트의 디버깅 효율성을 크게 높여줍니다. SMEs는 중첩된 트레이스 없이도 에이전트 행동을 쉽게 검토할 수 있으며, 온라인 평가기를 통해 Trajectories를 점수화하고 데이터셋으로 활용하여 모델 개선에 사용할 수 있습니다.
핵심 포인트
- Trajectories는 복잡한 에이전트 세션을 시간 순서적 경로로 시각화합니다.
- 중첩된 실행 구조(trace)의 복잡성을 제거하여 가독성을 높였습니다.
- 온라인 평가 및 데이터셋 저장을 통해 지속적인 모델 개선에 활용 가능합니다.
- LangChain, LangGraph 등 다양한 에이전트 SDK와 연동됩니다.
주요 요점
근본 원인을 더 빠르게 찾으세요. Trajectories는 에이전트가 세션 전반에 걸쳐 거친 순서화된 경로를 보여주므로, 전체 상세 내용을 확인하기 전에 어떤 행동에서 벗어났는지 정확히 찾아낼 수 있습니다.
마찰 없이 전문가 피드백을 받으세요. Subject Matter Experts (SMEs)는 중첩된 트레이스를 파싱할 필요 없이 가독성 높은 형식으로 에이전트의 행동을 검토할 수 있습니다.
운영(Production) 동작 데이터로 지속적으로 개선하세요. 온라인 평가기(online evaluators)를 사용하여 Trajectories에 점수를 매기고, 유용한 세션을 데이터셋에 저장하며, 지도 미세 조정(supervised fine-tuning) 워크플로우를 위해 예시를 내보낼 수 있습니다.
에이전트를 디버깅하는 것은 종종 간단한 질문에서 시작합니다: 에이전트가 실제로 무엇을 했는가?
짧고 단일 턴(single-turn) 워크플로우의 경우, 답은 보통 찾기 쉽습니다. 하지만 실행 시간이 긴 에이전트의 경우, 금방 어려워집니다. 하나의 세션은 여러 사용자 턴, 도구 호출(tool calls), 재시도(retries), 서브에이전트 핸드오프를 포함할 수 있습니다. 전체 트레이스는 여전히 실행 상세 정보를 검사하는 올바른 장소이지만, 에이전트가 거친 경로를 이해하려고 할 때는 너무 많은 세부 정보일 수 있습니다.
오늘 저희는 LangSmith에 Trajectories를 출시합니다. 이는 에이전트 세션의 시간 순서적이고 대화적인 보기 방식입니다. Trajectory는 메인 에이전트와 모든 서브에이전트에서 온 인간, AI, 도구의 메시지를 집계한 다음, 처음 나타난 순서대로 보여줍니다.
이제 트레드를 Trajectories로 볼 수 있고, 온라인 평가기로 Trajectories에 점수를 매기거나, 주석(annotation) 대기열 또는 데이터셋으로 라우팅할 수 있습니다.
Trajectories는 트레이스 데이터를 쉽게 탐색하게 합니다.
LangSmith에서 에이전트가 수행하는 모든 작업 단위는 'run'으로 기록됩니다. 단일 작업을 위한 run들이 하나의 'trace'를 형성합니다. 다중 턴 세션의 trace들은 'thread'로 연결됩니다.
이 구조는 엔지니어에게 중첩된 run, 타이밍, 재시도, 입력(inputs), 출력(outputs), 메타데이터를 포함한 전체 실행 트리(execution tree)를 제공합니다. 무언가가 정확히 어떻게 실행되었는지 이해해야 할 때, trace가 진실의 원천(source of truth)입니다.
하지만 모든 워크플로우가 전체 실행 트리를 필요로 하는 것은 아니며, 바로 여기에 Trajectories가 필요한 부분입니다.
트래젝토리(Trajectory)는 스레드 내 트레이스(traces)에 대한 투영입니다. 이는 중첩된 실행 구조를 제거하고 에이전트의 동작을 설명하는 메시지와 액션만을 유지합니다. 각 메시지는 순서대로 한 번씩 나타나므로, 마치 에이전트가 거쳐간 경로처럼 세션을 읽을 수 있습니다.

트래젝토리는 LangChain, LangGraph, Deep Agents에서 전송된 트레이스, OpenAI 및 Claude와 같은 에이전트 SDK, 그리고 Codex, Claude Code, Cursor와 같은 코딩 에이전트로부터 온 트레이스에 대해 별도의 설정 없이 작동합니다.
장시간 실행되는 에이전트를 더 빠르게 디버깅하기
대부분의 에이전트 디버깅은 대화나 워크플로우를 재구성하는 것에서 시작됩니다. 사용자가 에이전트가 오래된 답변을 했다고 보고합니다. 세션을 열어보고 에이전트가 예상했던 동작에서 어느 부분에서 벗어났는지 파악해야 합니다. 에이전트가 사용자 의도를 오해했나요? 오래된 컨텍스트를 재사용했나요? 잘못된 도구를 호출했나요? 서브에이전트가 잘못된 결과를 반환했나요? 최종 응답이 도구 출력을 무시했나요?
답변은 보통 전체 트레이스 어딘가에 있지만, 중첩된 실행 상세 정보 속에 묻혀 있을 수 있습니다. 그 상세 정보는 어느 실행을 볼지 알게 되면 정확히 필요한 것이지만, 애초에 해당 실행을 찾는 과정 자체가 시간이 걸립니다.
트래젝토리를 사용하면 세션의 순서화된 경로부터 시작할 수 있습니다. 예를 들어, 지원 에이전트가 9턴과 60개의 메시지를 처리했는데 고객이 답변이 잘못되었다고 불만을 제기합니다. 트래젝토리 뷰를 사용하여 대화, 도구 호출, 에이전트 액션을 순서대로 스캔하여, 에이전트가 최신 데이터를 가져오는 대신 오래된 도구 결과를 재사용했던 턴을 찾을 수 있습니다.
그 후에는 정확한 도구 입력, 출력, 타이밍, 재시도 및 중첩 실행 구조를 포함한 전체 런타임 상세 정보를 위해 근본적인 트레이스(trace)로 이동할 수 있습니다. 모든 실행 상세 정보부터 시작하는 대신, 먼저 중요한 동작 단계를 찾고 해당 단계에 대해 트레이스를 검사합니다.

주제 전문가에게 읽기 쉬운 검토 뷰 제공하기
에이전트의 작업과 행동을 검토할 책임이 있는 사람이 에이전트를 구축한 사람일 필요는 없습니다.
의료 전문가(healthcare expert)는 임상 정보 수집 에이전트가 적절한 후속 질문을 했는지 여부를 알고 있습니다. 금융 서비스 검토자는 컴플라이언스 에이전트가 사례를 올바르게 처리했는지 아는 사람입니다. 지원팀 리더는 에스컬레이션 워크플로우가 정책에 부합하는지 아는 사람입니다. 이러한 검토자들은 질의와 에이전트의 출력에 대한 가시성이 필요하지만, 중첩된 실행(nested runs), 재시도(retries) 또는 실행 메타데이터를 파싱할 필요는 없습니다.
Trajectories는 이러한 검토 워크플로우를 확장하기 쉽게 만듭니다. 트래젝토리(trajectories)를 주석 큐(annotation queues)로 라우팅하여 주제 전문가(SMEs, subject-matter experts)가 읽기 쉬운 세션 보기(readable view of the session)를 사용하여 행동에 점수를 매기고, 문제를 플래그 지정하며, 피드백을 제공할 수 있습니다. 이 피드백은 나머지 에이전트 개선 워크플로우에 공급될 수 있으며; 팀이 프롬프트를 다듬고, 에이전트 로직을 업데이트하고, 평가자(evaluators)를 개선하며, 더 나은 데이터셋을 구축하는 데 도움이 됩니다.
온라인 평가로 에이전트 경로 점수 매기기
하나의 트래젝토리를 읽는 것은 한 세션에서 무슨 일이 일어났는지 알려주지만, 동일한 행동이 프로덕션 트래픽 전반에 걸쳐 발생하고 있는지는 알려주지 않습니다. LangSmith 온라인 평가자(online evaluators)를 사용하면 이제 트래젝토리에 점수를 매겨, 세션 전반에 걸친 에이전트 행동을 판단하는 데 더 나은 입력을 제공할 수 있습니다.
트래젝토리 없이 실행 수준 평가자(run-level evaluators)로 긴 세션을 점수화할 경우, 대화가 턴(turn)마다 쌓이면서 반복된 컨텍스트를 포함하는 경우가 많습니다. 이는 평가자 입력값을 필요 이상으로 크고 노이즈가 많게 만들 수 있습니다. 트래젝토리는 각 메시지를 순서대로 한 번만 유지하므로, 평가자는 에이전트가 취한 경로에 집중할 수 있습니다.
온라인 평가는 그 후 더 자세히 살펴볼 가치가 있는 트래젝토리들을 표면화할 수 있습니다. 점수가 낮은 세션을 필터링하거나, 이를 인간 검토(human review)로 라우팅하거나, 향후 테스트를 위해 데이터셋에 저장할 수 있습니다.
프로덕션 행동을 사후 학습 데이터로 변환하기
사후 학습(post-training) 작업을 하는 팀에게 트래젝토리는 프로덕션 세션을 사용 가능한 예시로 전환하는 것을 더 쉽게 만듭니다. 여기에는 시스템 프롬프트, 사용자 메시지, 어시스턴트 응답, 도구 호출(tool calls), 그리고 도구 출력(tool outputs)을 포함하여 에이전트 행동을 표현하는 데 필요한 정보가 모두 포함됩니다.
이는 단순히 최종 답변을 검토하는 것 이상의 용도로 유용합니다. 좋은 트래젝토리(trajectory)는 에이전트가 언제 명확화를 요청했는지, 어떤 도구를 호출했는지, 그 결과를 어떻게 사용했는지, 그리고 세션 전반에 걸쳐 어떻게 적응했는지를 보여줄 수 있습니다. 고품질의 트래젝토리를 데이터셋에 저장하고 이를 내보내어(export) 지도 학습 미세 조정(supervised fine-tuning) 워크플로우에 사용할 수 있으며, 실제 운영 동작을 모델이 재현하기를 원하는 예시로 활용할 수 있습니다.
더 많은 팀들이 에이전트 개선을 위해 운영 데이터를 사용함에 따라, 트래젝토리는 중요한 기본 요소(primitive)가 되고 있습니다. 이는 단순히 에이전트가 무엇을 말했는지뿐만 아니라, 그것을 생성한 행동 자체를 포착합니다.
시작하기
트래젝토리는 현재 미국 지역의 모든 플랜에서 사용 가능합니다.
LangSmith에 로그인하거나 가입하여 오늘 트래젝토리를 사용해보고, 더 자세한 내용은 문서를 방문하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 LangChain Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기