본문으로 건너뛰기

에이전트 실행 Trace를 결정적으로 검사하는 Linter

tracelint는 에이전트 실행 Trace에서 구조적 도구 호출 결함을 모델 없이 찾아 CI 종료 코드와 증거를 남깁니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

도구 호출 에이전트의 최종 답변만으로는 Schema 위반, 오류 무시, 반복 호출처럼 실행 과정에서 발생한 구조적 결함을 안정적으로 찾기 어렵습니다. tracelint는 에이전트가 실제로 남긴 Trace를 canonical schema로 정규화한 뒤 JSON Schema 검증, 오류 결과 재사용 탐지, 출처 기반 인자 검사, loop·중복 호출 탐지를 결정적으로 수행하고, 근거 Trace와 함께 CI 종료 코드를 반환합니다. OpenAI message, Langfuse, OpenTelemetry/OpenInference 형식을 adapter로 연결하며 Arize Phoenix와 TRAIL의 실제 데이터에서도 일부 결함을 모델 없이 위치시켰습니다. fault injector와 success oracle 기반 scorecard로 장애별 복구율을 계산할 수 있지만, 최종 답변의 정확성은 판정하지 않고 불완전한 계측에서는 관련 규칙을 억제합니다.

섹션별 상세

01
LLM이 생성한 최종 답변만 평가하는 방식으로는 도구 호출 과정의 오류 위치를 안정적으로 찾기 어렵다는 문제가 있습니다. tracelint는 실행이 끝난 뒤 에이전트가 실제로 남긴 Trace를 읽고, 두 번째 모델의 판단 없이 구조적으로 확인 가능한 결함을 판별합니다. 따라서 답변의 정답 여부와 별개로 잘못된 Schema 호출, 무시된 도구 오류, 반복 호출 같은 실행 단계의 문제를 CI에 연결할 수 있습니다.
02
tracelint의 기본 규칙은 도구 인자가 JSON Schema를 어겼는지, 도구 결과가 오류인지, 오류 결과가 이후 side-effecting 호출에 재사용됐는지 순서대로 확인합니다. Hallucinated argument는 값의 출처를 추적하고, 동일한 진전 없는 호출의 반복과 결과·상태 변화가 없는 중복 호출도 후보로 표시합니다. Schema 위반과 잘못된 JSON 인자는 hard_defect로 다루지만, 반복·중복·출처 불명 인자는 정당한 재시도나 값 변환일 수 있어 증거를 남긴 후보로만 처리합니다.
bash
pip install tracelint
tracelint demo --html demo.html

API key나 모델 다운로드 없이 검증 suite와 복구 scorecard를 실행해 HTML 보고서를 생성합니다.

bash
tracelint check ./trace.json --tools ./tools.json # exit 2 on a hard_defect

Trace JSON과 도구 정의를 검사하고 구조적으로 입증된 결함이 있으면 CI 종료 코드 2를 반환합니다.

03
도구가 HTTP 200을 반환해도 결과 안에 status가 declined 또는 failed로 기록되면 실제 업무 실패일 수 있으므로, failure_when 설정이 JSON Pointer 경로와 일치 조건으로 이 상태를 구조화된 오류로 바꿉니다. 이 오류가 side-effecting 도구 호출에 재사용되면 R2b가 포착하며, 실패 조건이 없고 결과를 분류할 수 없는 도구는 성공으로 세지 않고 사유와 함께 규칙을 억제합니다. 이 방식은 전송 계층의 성공과 결제 거절 같은 도메인 실패를 분리해 후속 부작용을 검사하는 데 의미가 있습니다.
04
모든 규칙은 하나의 표준 Trace Schema에 적용되고, source별 adapter가 OpenAI message list, Langfuse trace, OpenTelemetry와 OpenInference span을 canonical trace로 변환합니다. 사용자는 spans.json, messages.json, trace.json을 각각 --format openinference, --format openai, --format langfuse로 검사할 수 있으며, JSONL·JSON 배열·여러 trace_id가 담긴 OTLP export도 여러 보고서로 나눠 처리합니다. 실제 Langfuse v4 실행과 TRAIL benchmark trace에서 도구 오류, malformed tool call, 과도한 재시도 loop를 모델 없이 찾았지만, source export에 필요한 필드가 없으면 해당 규칙을 억제하고 새 source에는 adapter 수정이 필요합니다.
05
fault injector는 timeout, error, rate_limit 같은 장애를 에이전트 실행에 주입하고 recovery scorecard는 사전에 성공 oracle을 통과한 baseline을 기준으로 복구 성능을 계산합니다. 각 장애 유형에는 정확한 복구율과 Wilson 신뢰구간이 붙으며, oracle이 없으면 충돌하지 않았는지만 측정하는 behavioral recovery로 낮춰 표기합니다. 핵심 구현은 jsonschema와 Python 표준 라이브러리 중심이라 전체 테스트가 deterministic·offline으로 실행되고 Python 3.10–3.12를 지원합니다.
06
tracelint의 CI 종료 코드는 0이 clean, 2가 구조적으로 입증된 hard_defect, 3이 input error를 뜻하며 heuristic candidate만으로는 CI가 실패하지 않습니다. `tracelint demo --html demo.html`은 API key와 모델 다운로드 없이 planted defect, clean control, legitimate-but-suspicious 사례와 recovery scorecard를 재현합니다. 다만 deterministic rule은 최종 답변의 정확성을 판정하지 않고, 계측이 불완전한 Trace에서는 누락된 필드를 근거로 결함을 추정하지 않는다는 한계가 있습니다.

용어 해설

도구 호출 에이전트(Tool-calling Agent)
모델이 외부 도구를 선택하고 인자를 구성해 호출하면서 작업을 수행하는 에이전트입니다. 실행 과정에는 메시지, 도구 호출, 도구 결과, 최종 응답이 순서대로 남으며, tracelint는 이 기록을 표준 Trace 구조로 변환해 호출 오류와 복구 과정을 검사합니다.
JSON Schema
JSON 데이터의 객체 구조와 필수 필드, 각 값의 자료형을 선언하는 규격입니다. tracelint는 도구 호출의 args가 등록된 JSON Schema를 만족하는지 검사해 누락 필드나 잘못된 자료형을 구조적으로 판별합니다.
JSON Pointer
JSON 문서 안의 특정 값을 경로로 가리키는 표기법입니다. tracelint의 failure_when 설정은 결과 객체에서 /status 같은 경로를 찾고, 해당 값이 declined나 failed인지 확인해 전송 성공과 도메인 실패를 구분합니다.
데이터 출처 추적(Provenance)
에이전트가 도구 인자에 사용한 값이 사용자 입력, 이전 결과 또는 다른 허용된 출처에서 나왔는지 추적하는 개념입니다. tracelint는 필드 출처가 선언된 경우에만 hallucinated argument를 높은 확신도로 판정합니다.
Wilson 신뢰구간(Wilson Confidence Interval)
이항 비율을 추정할 때 표본 수가 작거나 비율이 0 또는 1에 가까워도 비교적 안정적인 구간을 계산하는 방법입니다. tracelint의 recovery scorecard는 주입한 장애 유형별 정확한 복구율과 함께 이 신뢰구간을 기록합니다.

기술

  • tracelint
  • Python
  • jsonschema
  • OpenAI
  • Langfuse
  • OpenTelemetry
  • OpenInference
  • Arize Phoenix
  • TRAIL
  • OTLP
  • JSON Schema
  • JSON Pointer

활용 사례

  • 도구 호출 에이전트의 Schema 위반과 malformed tool call을 CI에서 차단하는 검사
  • 도구 오류 결과가 이후 side-effecting 호출에 재사용되는 실행 경로 감시
  • Langfuse·Arize Phoenix·OpenTelemetry에 이미 저장된 Trace의 오프라인 검사
  • timeout·error·rate_limit 장애를 주입한 에이전트 복구 성능 평가

언급된 리소스

AI 분석 전체 내용 보기

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

출처 · 인용 안내

원문 발행 2026. 08. 18.수집 2026. 08. 19.출처 타입 RSS

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