왜 중요한가
장기 시퀀스 기반 에이전트의 실패는 표면적 증상과 실제 원인이 시간적으로 멀리 떨어져 있어 단순 요약이나 절단 기반 문맥 관리로는 올바른 수리가 어려웠다. STRACE는 코드 수준의 모듈 토폴로지와 실행 로그의 구조적 패턴을 결합해 최적화에 전달할 고신호 문맥만을 추출함으로써 옵티마이저가 근원적 결함을 겨냥하게 했다. 이 방식은 맥락 창 크기가 제한된 상황에서도 효과적인 수리 신호를 제공하여 비용과 과적합 문제를 동시에 완화했다.
핵심 기여
구조적 궤적 분석과 인과 추출 프레임워크 STRACE 제안
STRACE는 에이전트 코드로부터 Execution Dependency Graph(EDG)를 구성하고, 대규모 실패 로그를 패턴 기반으로 압축한 뒤 인과적 역방향 슬라이스로 근원 모듈을 식별하는 4단계 파이프라인이다. 이 파이프라인은 대표성 높은 실패만을 선택해 옵티마이저 문맥을 제한하며 불필요한 시간·연산 비용을 줄인다. 코드 변경 없이 텍스트 지침을 갱신하는 방식으로 안전하게 정책을 개선할 수 있다.
배치 수준의 실패 패턴 마이닝을 통한 대표 트레이스 선별
STRACE는 실행 로그로부터 전역 결과와 로컬 노드 상태를 추출하는 맞춤 파서를 생성해 통계적 심각도와 구조적 호출 패턴을 계산했다. 이 정보를 기반으로 클러스터링과 다양성 기반 샘플링을 적용해 중복성 높은 실패를 제거하고 각 실패 모드의 대표성을 보장하는 소수의 전형 사례를 선택했다. 이 절차는 옵티마이저가 처리해야 할 트레이스 수를 통제하면서도 다양한 오류 유형을 포착하도록 설계되었다.
EDG 기반 역방향 인과 슬라이스와 근원 원인 분리
선별된 대표 트레이스 내에서 STRACE는 manifestation 노드로부터 EDG를 따라 역으로 도달 가능한 노드만 보존해 인과 슬라이스를 구성했다. 해당 슬라이스 위에서 손상된 정보의 흐름을 추적하여 실제 논리적 결함이 발생한 root-cause 모듈을 분리했다. 이 과정은 표면적 증상에 기반한 잘못된 수리를 줄이고 옵티마이저가 더 높은 신뢰도의 수리 신호를 받도록 보장했다.
근원 모듈에 대한 귀납적 정책 업데이팅으로 과적합 방지
STRACE는 동일 root-cause 모듈에 대응하는 여러 인과 슬라이스를 집계하여 공통 규칙을 귀납적으로 합성했다. 합성된 자연어 휴리스틱을 해당 모듈의 프롬프트에 주입함으로써 인스턴스별 수리 대신 재사용 가능한 정책 수정을 적용했다. 이 접근은 특정 실패 사례에 과적합하는 대신 일반화 가능한 예방 규칙을 생성해 장기간 안정성을 향상시켰다.
핵심 아이디어 이해하기
장기 에이전트의 실행 로그는 성공 단계와 실패 증상이 혼재하여 옵티마이저에 전달할 때 신호 대비 잡음비가 현격히 낮아진다. 특히 많은 성공 단계가 실패의 원인과 무관하게 등장하면 옵티마이저는 잘못된 상관관계를 학습하거나 비용이 큰 전체 트레이스를 처리하느라 과적합과 비효율에 빠지기 쉽다. 이 문제는 단순 요약이나 최근 구간 절단으로 해결되지 않으며, 오히려 원인과 시간적 거리가 있는 상위 모듈을 놓치게 만든다. STRACE는 이 문제를 구조적 관점에서 접근했다. 에이전트의 코드·구성·로그로부터 EDG를 구성하여 모듈 간 데이터·제어 의존성을 토폴로지로 포착했다. 이 토폴로지를 이용해 manifestation 노드에서 역방향으로 도달 가능한 노드만 보존하는 인과 슬라이스를 얻음으로써 문맥 창 내에서 실제 인과적 증거만을 남겼다. 따라서 옵티마이저가 받는 입력은 시간적 근접성 대신 구조적 인과성에 기반한 고신호 문맥이 된다. 이 구조적 감축은 대표 실패 선별과 결합되어 배치 전체에서 비용 대비 높은 수리 신호를 확보하게 했고, 그 결과 근원 모듈에 귀납적 규칙을 주입하는 방식으로 안전하고 재사용 가능한 정책 개선을 가능하게 했다.
관련 Figure

이미지는 전체 트레이스를 그대로 주는 경우 성공 단계가 노이즈로 작용해 옵티마이저가 혼동되는 상황과, 단기 절단이 원인과 증상의 시공간적 거리를 단절해 잘못된 수리로 이어지는 위험을 병렬로 제시한다. STRACE는 EDG 기반의 역방향 인과 슬라이스를 통해 불필요한 단계는 제거하고 인과적 증거만 남긴 뒤 최적화를 수행한다고 도식적으로 보여준다. 이 그림은 논문의 핵심 직관인 '구조적 의존성에 기반한 문맥 선별이 성능과 비용을 동시에 개선한다'는 주장과 직접 연결된다.
STRACE의 개념적 비교 그림으로 전체 궤적, 단기 절단, 그리고 인과 슬라이스 방식의 차이를 도식화하고 있다.
방법론
STRACE는 네 단계로 구성된 파이프라인을 사용해 대량의 실행 궤적을 최적화 가능한 증거로 압축한다. 첫 단계인 Structural Modeling에서는 LLM과 코드 파싱을 통해 에이전트의 모듈 집합과 이들이 생성·소비하는 아티팩트를 기준으로 Execution Dependency Graph(EDG)를 구성했다. EDG는 데이터 의존성과 제어 의존성 두 축으로 간선을 정의하여 이후 단계들의 역방향 탐색과 경로 검증에 사용되는 구조적 사전 역할을 수행한다. 두 번째 단계인 Failure Pattern Mining 및 Trace Filtering에서는 맞춤형 파서를 동적으로 생성해 전역 성공/실패 레이블과 로컬 노드 상태를 추출했다. 이 데이터를 통계적 심각도(특정 로컬 오류가 전체 실패에 기여하는 조건부 확률)와 구조적 경로 패턴(무한 루프, 데드엔드 등)으로 요약하고, 심각도와 토폴로지 유사성에 기반한 클러스터링과 다양성 샘플링을 통해 소수의 대표 트레이스를 선택했다. 세 번째 단계인 Causal Localization에서는 대표 트레이스의 manifestation 노드에서 EDG를 따라 역방향으로 도달 가능한 노드만을 보존해 인과 슬라이스를 만들고, 그 슬라이스 상에서 손상된 정보 흐름을 추적해 root-cause 노드를 확정했다. 이 과정은 역방향 도달성(→*)을 기준으로 구조적 영향이 없으면 해당 노드를 제거하므로 시간적 근접성만으로 판단하는 절단 방식보다 인과적 정확도가 높다. 마지막으로 Inductive Policy Optimization 단계에서는 동일 root-cause에 대한 여러 인과 슬라이스를 집계하여 공통의 휴리스틱을 귀납적으로 합성하고, 합성된 규칙을 근원 모듈의 텍스트 지침에 주입해 지속적이고 범용적인 정책 업데이팅을 수행했다. 이 주입 방식은 코드 변경을 요구하지 않으므로 안전성 검토와 롤백이 용이하다.
관련 Figure

이 다이어그램은 각 단계의 입력과 출력 관계를 명확히 보여주며, EDG 생성이 이후 단계의 구조적 연산에 어떻게 쓰이는지를 표시한다. 특히 대표 트레이스 선택과 인과 슬라이스 생성, 최종적으로 근원 모듈에 규칙을 주입하는 흐름이 순차적으로 연결되어 있어 방법론 섹션의 절차적 구현을 보강한다. 워크플로우 상에는 파서 생성, 통계 심각도 산정, 역방향 슬라이스 같은 구체적 처리 단계가 표시되어 있어 구현 시 고려해야 할 모듈 경계를 제시한다.
STRACE의 전체 워크플로우를 네 단계(Structural Modeling, Pattern Mining, Causal Localization, Inductive Optimization)로 시각화한 다이어그램이다.
주요 결과
핵심 벤치마크에서 STRACE는 전체 비교 대상 중 가장 높은 성능을 기록했다. HotpotQA에서는 STRACE가 Exact Match 68.5%를 달성해 베이스 에이전트(37.0%)와 여러 최적화 기법 대비 유의미한 개선을 보였다. WebArena 영역에서는 도메인별 차이가 있었으나 전반적으로 절차적 문맥과 실패 인식을 동시에 보존해 경쟁력 있는 성과를 냈다. 특히 도메인 집약적이고 긴 문맥을 요구하는 VeruSAGE-Bench에서는 STRACE가 평균 Success Rate를 42.5%에서 58.5%로 절대 16.0%p 향상시켰고, 이는 가장 강력한 비교기법인 GEPA 대비 +11.3%p 우위를 의미한다. 확장성 및 비용 분석에서는 사례 수가 증가할수록 전체 비용 대비 성능 곡선에서 STRACE가 가장 유리한 트레이드오프를 보였다. 전체 궤적을 그대로 사용하는 TextGrad는 비용이 급격히 상승했으며 노드 절단 중심의 GEPA는 비용은 낮추었으나 근원 원인 포착에서 한계를 드러냈다. 탈감축(ablation) 실험에서 구조 모델링을 제거하면 성능과 비용 면에서 모두 악영향이 발생했고, 트레이스 필터링 제거 시 최적화 비용이 크게 증가했다. 인과 국지화 관련 실험에서는 현재 노드 기준 절단이 상위 원인을 놓치는 반면 전체 절단은 불필요한 잡음을 도입해 비용이 증가하는 양상을 보였고, STRACE의 인과 슬라이스가 이 둘을 균형있게 해결했다.
관련 Figure

상단 그래프는 훈련 사례가 증가할 때 STRACE가 성공률 측면에서 다른 방법들보다 유리한 상승 곡선을 보인다는 점을 시각화한다. 하단 그래프는 비용 측정치를 보여주며 TextGrad는 전체 트레이스 처리로 인해 비용이 급증하고 GEPA는 초기 비용은 낮지만 성능이 덜 상승하는 특성이 있음을 나타낸다. 이 그림은 논문의 확장성·비용 분석 섹션에서 STRACE가 작은 대표 집합을 선택해 문맥 성장을 제어함으로써 비용 대비 우수한 성능을 달성한다는 주장을 뒷받침한다.
학습 사례 수에 따른 성공률과 비용 효율 그래프를 통해 STRACE, TextGrad, GEPA의 비용-성능 트레이드오프를 비교한 그림이다.

그림 상단은 25개의 실패 트레이스가 5개의 manifestation 노드에서 시작해 인과 국지화 과정으로 6개의 root-cause 노드로 재분배된 사례를 제시해, STRACE가 증상 기반 할당을 근거로 한 단순 최적화와 다른 결과를 만들어냄을 보여준다. 하단은 특정 compute_repair 루프가 assertion_reasoning_pipeline의 잘못된 라우팅 때문에 발생했음을 추적해 루프를 제거한 뒤 정상 경로로 수리하는 과정이 어떻게 이루어지는지를 상세히 시각화한다. 이 도해는 실험 섹션의 사례 분석과 직접 결합되어 root-cause 기반 수리의 효과를 실용적 관점에서 보강한다.
케이스 스터디 도식으로 다수의 manifestation 노드가 어떻게 root-cause 노드로 재매핑되고 재귀적 수리 경로가 제거되는지를 보여준다.
기술 상세
전체 아키텍처는 EDG 구성, 실패 패턴 마이닝, 인과 국지화, 귀납적 최적화의 4단계 모듈로 구성된다. EDG는 에이전트 코드 베이스를 파싱해 원자적 기능 모듈을 노드로 식별하고, 모듈들이 생성·소비하는 아티팩트를 분석해 데이터 의존성과 제어 의존성 간선을 유추하여 얻는다. 실패 패턴 마이닝 단계에서는 단일 파일 기반 파일럿 트레이스로부터 구조적 구분자(예: "Action:", "Observation:")를 식별해 맞춤형 파서를 자동 생성하고 전 트레이스에 적용해 전역 결과(y∈{Success,Failure})와 로컬 노드 상태를 추출했다. 대표 트레이스 선택은 통계적 심각도와 구조적 호출 패턴을 결합한 클러스터링과 다양성 기반 샘플링으로 이루어지며, 노드 수준 오류가 명시되지 않는 경우 전역 레이블과 호출 토폴로지만으로도 클러스터링이 가능하도록 설계되었다. 인과 국지화에서는 manifestation 노드 v_m에서 시작해 EDG의 역방향 도달성(→*)로 연결 가능한 노드들만 보존하는 backward slicing을 수행하고, 슬라이스 상에서 손상된 맥락의 흐름을 추적해 최초로 논리적 편차가 발생한 root-cause 노드 v_r를 결정한다. 실험 설정은 Claude Sonnet 4.5를 메타 컨트롤러로 사용하고, bottleneck threshold k=5 및 exemplar count s=5의 하이퍼파라미터로 최적화를 진행했으며 비용 평가는 API 토큰 사용량 기반의 USD 추정으로 계산되었다. 또한 VeruSAGE-Bench의 도메인별 특성(평균 947라인의 긴 문맥)은 STRACE의 구조적 접근이 비용 대비 효율을 제공하는 주요 사례로 사용되었다.
한계점
STRACE는 에이전트의 코드·프롬프트·구성 파일과 같은 시스템 레벨 가시성이 전제될 때 가장 잘 작동한다. 완전한 블랙박스 설정에서 EDG를 구성할 수 없으면 인과 슬라이스와 root-cause 분리가 어려워지고 성능 이점이 줄어든다. 논문에는 블랙박스 확장에 대한 해결책이 제시되어 있지 않으며 해당 확장은 향후 연구 과제로 남아 있다.
실무 활용
STRACE는 에이전트 구현 코드와 실행 로그에 접근 가능한 환경에서 즉시 활용될 수 있다. 대표 실패를 선별하고 근원 모듈에 자연어 규칙을 주입하는 워크플로는 코드 변경 없이 정책을 개선하므로 운영 리스크가 낮다. 특히 긴 문맥과 복잡한 모듈 상호작용이 있는 자동화된 웹 상호작용, 형식 검증, 다단계 추론 파이프라인에서 유용성이 높다.
- 형식 검증 파이프라인에서 반복적 실패의 근원 모듈을 찾아 재귀적 수리 루프를 제거하는 자동화된 수리
- 웹 상호작용 에이전트의 복잡한 워크플로에서 작업별 실패 패턴을 압축해 비용 대비 높은 개선을 적용하는 운영 최적화
- 다단계 추론 시스템에서 긴 문맥 내 인과적 증거만을 추출해 옵티마이저의 과적합을 방지하는 프롬프트 수리
- 에이전트 하니스(harness) 개발 단계에서 구조적 진단을 통해 수정 대상 모듈과 안전한 텍스트 규칙을 식별하는 의사결정 보조
코드 공개 여부: 공개
코드 저장소 보기키워드
용어 해설
- 실행 의존성 그래프(Execution Dependency Graph (EDG))
- — 모듈 간의 데이터 및 제어 흐름을 노드와 간선으로 기록한 텍스트 기반 그래프이다. STRACE에서는 에이전트 코드와 로그를 파싱해 모듈들(노드)과 이들이 생성·소비하는 아티팩트로부터 간선(데이터/제어 의존성)을 추론하여 최적화의 구조적 사전으로 활용한다. 이 그래프는 원인 추적과 역방향 슬라이스의 탐색 공간을 좁혀 불필요한 문맥을 제거하는 데 핵심 역할을 한다.
- 인과 슬라이스(Causal Slice)
- — 특정 실패의 발생에 구조적으로 영향을 준 실행 단계만을 역추적해 남긴 부분 경로 집합이다. STRACE는 EDG를 따라 manifestation 노드에서 역방향으로 도달 가능한 노드들만 보존하여 인과 슬라이스를 생성하고, 이를 통해 증상과 원인을 분리한다. 이 슬라이스는 옵티마이저에 전달되는 문맥의 신호대잡음비를 크게 향상시킨다.
- 실패 패턴 마이닝(Failure Pattern Mining)
- — 대규모 실행 궤적에서 통계적 심각도와 구조적 호출 패턴을 집계하여 반복적이고 영향력 있는 실패 모드를 식별하는 과정이다. STRACE는 파싱기로부터 수집된 전역 결과와 모듈 수준 상태를 바탕으로 심각도 확률과 경로 토폴로지를 계산해 대표 트레이스를 선택한다. 이 과정은 불필요한 중복 트레이스를 제거하고 최적화 비용을 제어하는 데 기여한다.
- 귀납적 정책 최적화(Inductive Policy Optimization)
- — 여러 인과 슬라이스를 동일한 근원 모듈 기준으로 집계한 뒤 공통된 규칙·휴리스틱을 귀납적으로 생성하여 해당 모듈의 텍스트 지침에 주입하는 최적화 단계이다. STRACE는 사례별 수리 대신 일반화된 자연어 규칙을 root-cause 모듈의 프롬프트에 추가해 과적합 위험을 낮추고 안전한 지속적 개선을 도모했다. 이 방식은 코드 변경 없이 동작 정책을 수정할 수 있다는 점에서 비용 효율적이다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.
