TL;DR
다중 에이전트 시스템은 역할 분화로 복잡한 작업을 처리하지만, 어떤 에이전트의 어떤 토큰이 실패를 초래했는지 식별하기 어려워 최적화가 제한된다. 본 논문은 토큰 수준의 기여도를 계산해 오류 원인을 정밀하게 추적함으로써 프롬프트 기반 최적화의 타겟을 좁히고 성능 향상을 가능하게 했다.
왜 중요한가
다중 에이전트 시스템은 역할 분화로 복잡한 작업을 처리하지만, 어떤 에이전트의 어떤 토큰이 실패를 초래했는지 식별하기 어려워 최적화가 제한된다. 본 논문은 토큰 수준의 기여도를 계산해 오류 원인을 정밀하게 추적함으로써 프롬프트 기반 최적화의 타겟을 좁히고 성능 향상을 가능하게 했다.
핵심 기여
Gradient-Based Connections(GBC) 제시
GBC는 다중 에이전트 워크플로를 방향성 계산 그래프로 모델링하고, 각 에이전트 출력의 토큰별 영향력을 그래디언트 기반 가중치로 수치화하여 기여도 그래프를 구성했다. 이 기여도는 최종 손실에 대해 역전파되어 어떤 중간 출력이 오류에 기여했는지를 정밀히 식별하는 역할을 수행했다.
AgentChord 구현과 프리픽스 기반 그래디언트 최적화
AgentChord는 GBC를 실용적으로 적용한 프레임워크로, 프롬프트 토큰을 고정 프리픽스로 처리하고 입력 토큰에 대해서만 그래디언트를 계산해 메모리 사용을 줄였다. 이 접근으로 메모리 복잡도가 n·d·L에서 (n−k)·d·L로 감소하여 대형 LLM에서도 기여도 기반 최적화를 더 비용 효율적으로 수행할 수 있었다.
다양한 연결 가중치 공식을 비교·분석
토큰 기여도 계산에 대해 mean/max L1 norm과 mean/max gradient–input product 네 가지 공식을 정의하고 비교했다. 실험에서 L1-norm 기반 변형들이 가장 높은 기여도 정확도와 최종 성능 향상을 달성해 어떤 기여도 추정 방식이 최적화에 더 유리한지 규명했다.
벤치마크 실험으로 실효성 검증
MultiWOZ와 ττ-bench에서 AgentChord로 프롬프트를 최적화한 결과, 특히 Qwen-3-32B 기준에서 JGA와 Slot F1, 대화 수준 보상 등 다수 지표에서 초기 멀티에이전트 대비 유의미한 개선이 관찰되었다. 또한 기여도 품질이 높을수록 최적화 효과가 커지는 상관관계가 확인되었다.
핵심 아이디어 이해하기
다중 에이전트 시스템은 입력이 여러 에이전트로 전달되며 각 에이전트의 출력이 다음 에이전트의 입력으로 누적되는 형태로 동작한다는 점에서 계산 그래프로 자연스럽게 표현될 수 있다. 이 구조에서 최종 손실은 중간 출력의 작은 부분, 심지어 특정 토큰의 영향으로부터 기인할 수 있으므로 전체 시스템 성능을 개선하려면 오류 기여를 정밀하게 할당할 필요가 있다. 기존의 전역적 보상이나 대화 단위 손실은 이러한 세부 원인 규명에 한계가 있었다.
방법론
GBC는 네 단계로 작동한다. 첫째, 입력이 매니저와 도메인별 워커를 거쳐 최종 응답을 생성하는 에이전트 그래프를 전방 계산으로 실행한다. 둘째, 각 하위 출력 O_u가 상위 출력 O_v에 미치는 영향력을 그래디언트 기반 연결 가중치 W_{O_v}(O_u)로 계산해 기여도 그래프를 구성한다. 셋째, 최종 출력에 붙인 자연어 기반의 task-specific verbal loss를 기초로 기여도 그래프를 통해 역전파를 수행해 각 출력의 손실 기여 궤적을 수집한다. 넷째, 수집된 기여 궤적을 입력으로 언어모델 기반 옵티마이저가 에이전트 프롬프트를 재작성하여 반복적으로 성능을 향상시킨다.
관련 Figure

다이어그램은 입력이 에이전트 그래프를 통해 순차적으로 처리되고 각 단계에서 기여도 연결이 구성되어 손실이 역전파되는 흐름을 한눈에 보여준다. 이 그림은 논문의 방법론 섹션에서 제시한 알고리즘 구조와 대응되며 기여도 그래프와 옵티마이저 간의 인터페이스를 명확히 드러냈다.
GBC의 전체 파이프라인을 Forward, Attribution, Backward, Update 네 단계로 시각화한 다이어그램이다.

이 다이어그램은 MultiWOZ와 ττ-bench에서 사용된 매니저–워커 설계를 시각화해 어떤 에이전트가 입력을 받아 어떤 역할을 수행하는지 구조적으로 제시했다. 에이전트별로 업데이트 빈도 및 관련성 분석을 해석할 때 참조되는 구조적 근거를 제공했다.
Manager–worker 구조를 보여주는 멀티에이전트 아키텍처 다이어그램으로 각 도메인 워커와 매니저, 응답자 흐름이 포함되어 있다.

이 다이어그램은 ττ-bench의 툴 사용 워크플로에서 어떤 워커가 사용자 해석, 검색, 주문 수정 등 역할을 수행하는지 보여주어 오류 유형 분석(예: 검색 실패, 도구 오용) 해석에 구조적 근거를 제공했다. 또한 이 구조는 기여도 추적이 도구 호출의 정확성 평가와 어떻게 연결되는지 시각적으로 설명했다.
ττ-bench에 맞춘 매니저–워커 아키텍처 다이어그램으로 사용자 시뮬레이터와 여러 워커가 연결된 구조를 나타낸다.
주요 결과
MultiWOZ 실험에서 Qwen-3-32B 멀티에이전트 시스템은 최적화 전 JGA 28.9, Slot F1 79.3이었다. GBC로 mean of L1 norm 최적화를 수행한 결과 JGA가 54.4로 상승하고 Slot F1이 91.4로 개선되었으며 Inform과 Success는 각각 99.0과 94.0에 도달해 다수 지표에서 단일 에이전트 기준을 상회했다. ττ-bench 소매 도메인 실험에서는 Qwen-3-32B의 전체 보상이 최적화 전 13.0에서 max L1 norm 또는 mean product with input에서 24.3으로 증가해 액션 보상 및 출력 보상 동시 개선이 성능 향상에 기여했다. 오류 유형 분석과 업데이트 빈도 분석에서 도메인별 워커가 빈번히 갱신되었고, cross-domain 오류·정보 누락·검색 실패가 주요 성능 병목으로 확인되어 GBC가 이러한 조정 지점을 효과적으로 찾아냈다.
관련 Figure

그래프는 L1-norm 계열 연결 전략이 최종적으로 JGA와 Slot F1에서 가장 높은 성능을 달성했음을 시계열적으로 보여주었다. 특정 지표는 최적화 단계에서 빠르게 개선되는 반면 Success는 변동성이 크다는 관찰이 시각적으로 확인되었다.
MultiWOZ에서 최적화 단계별 Inform, Success, JGA, Slot Recall/Precision/F1 등 지표의 변화 추이를 보여주는 다중 서브플롯이다.

레이더 차트는 교차 도메인 오류, 정보 누락, 과다 예측이 주요 오류 축임을 강조해 기여도 기반 최적화가 주로 상태 추적 및 도메인 라우팅 문제를 완화했음을 시사했다. 가중치 공식에 따라 오류 패턴이 달라지는 점이 최적화 전략 선택의 중요성을 뒷받침했다.
MultiWOZ 최적화에서 연결 가중치별로 옵티마이저가 감지한 오류 유형 발생 빈도를 레이더 차트로 정리한 그림이다.

히트맵은 도메인별 워커(예: hotel, train 등)의 업데이트 빈도가 높아 해당 에이전트들이 최적화 과정에서 주요 조정 대상이었음을 보여주었다. 이 시각적 근거는 오류 분석에서 도메인 워커 중심의 수정이 성능 향상에 기여했음을 보강했다.
연결 전략별로 에이전트 업데이트 빈도를 정규화해 히트맵으로 표현한 그림이다.

막대그래프는 mean/max L1 norm이 다른 방식보다 기여도 정확도가 높다는 점을 보여주어, 최종 성능 향상의 주요 원인이 높은 기여도 품질임을 정량적으로 뒷받침했다. 모델 간 차이도 함께 나타나며, 기여도 추정 방식의 선택이 최적화 성공률에 직접적인 영향을 미쳤다.
모델별·연결 가중치별로 추정한 기여도 정확도를 막대그래프로 정리한 그림이다.

레이더 차트는 검색 및 식별 실패가 가장 빈번한 오류임을 보여주어 ττ-bench의 장기적 도구 사용 과정에서 실질적 병목이 어디인지 시각적으로 확인시켰다. 이 결과는 기여도 기반 최적화가 도구 호출 위치와 입력 정합성 개선에 초점을 맞추어야 함을 시사했다.
ττ-bench에서 옵티마이저가 감지한 오류 유형 분포를 연결 가중치별로 비교한 레이더 차트이다.
기술 상세
아키텍처는 에이전트 그래프 G=(V,E)로 정의되며 각 에이전트 v는 프롬프트-모델 쌍(P_v, M_v)으로 표현된다. 각 에이전트 출력 O_v는 O_v = M_v(P_v + I_v) 형태로 계산되며, I_v는 선행 에이전트 출력의 합으로 구성되어 토큰 수준의 정보가 누적된다. 이 구조는 기여도 산정과 역전파를 위한 계산 그래프라는 관점을 제공한다. 기여도 가중치 W_{O_v}(O_u)는 네 가지 변형으로 계산된다. mean/max L1 norm은 출력 확률의 토큰별 그래디언트의 L1 노름을 평균 또는 최댓값으로 집계해 토큰 중요도를 산정한다. mean/max gradient–input product는 각 토큰의 그래디언트와 해당 입력 임베딩을 곱해 1차 상호작용을 반영한 값을 평균 또는 최댓값으로 집계한다. attribution graph는 각 출력에 대해 상위 m개의 선행 출력만 보존하는 방식으로 구성되며 기본적으로 m=1이 사용된다. 역전파 알고리즘은 손실 노드에서 시작해 pre_attr 관계를 따라 재귀적으로 경로를 누적해 각 주체별 기여 궤적 집합 T(s)를 생성한다. 프리픽스 기반 그래디언트 구현은 프롬프트 토큰을 먼저 forward-only로 처리해 KV 캐시를 얻고 입력 토큰에서만 그래디언트를 계산하는 방식으로 메모리 사용을 줄였다. 이로 인해 메모리 복잡도가 n·d·L에서 (n−k)·d·L로 감소해 긴 프롬프트 환경에서 실용성이 향상되었다. 옵티마이저는 언어모델을 사용해 현재 프롬프트, 기여도 궤적, 최적화 이력을 입력으로 받아 프롬프트를 재작성하는 루프를 수행하며 이 과정이 전체 학습 절차를 구성한다.
한계점
첫째, 계산 비용이 여전히 크다. 프리픽스 최적화로 메모리 사용은 줄었지만 기여도 계산을 위해 여러 번의 순전파·역전파가 필요해 블랙박스 방법보다 비용이 높다. 둘째, 최적화 결과가 verbal loss의 설계에 민감하다. 손실이 자연어로 표현되므로 손실 문구가 세밀하지 않으면 기여도 신호가 잡음으로 흐를 가능성이 있다. 셋째, 그래디언트 기반 신호는 1차 근사에 해당하므로 비선형 상호작용이 강한 장기적 워크플로의 모든 영향을 완전하게 포착하지 못할 수 있다. 넷째, 실험은 MultiWOZ와 ττ-bench, 매니저–워커 구조에 한정되어 있어 다른 도메인이나 동적 토폴로지에 대한 일반성은 추가 검증이 필요하다.
실무 활용
AgentChord 구현체가 공개되어 있어 프롬프트 기반 다중 에이전트 워크플로를 가진 시스템에서 기여도 기반 최적화를 실험적으로 적용할 수 있다. 프리픽스 기반 그래디언트 계산으로 메모리 사용을 줄였으므로 대형 모델을 이용한 실험에도 적용 가능성이 있다.
- 다중 도메인 대화 시스템에서 대화 상태 추적 오류를 줄이기 위한 에이전트별 프롬프트 튜닝
- 툴 사용이 포함된 워크플로에서 잘못된 도구 호출을 야기하는 에이전트 및 토큰 식별 후 프롬프트 수정
- 시뮬레이터 기반 사용자 상호작용을 활용한 반복적 프롬프트 최적화 실험
코드 공개 여부: 공개
코드 저장소 보기키워드
용어 해설
- Attribution Graph
- — 에이전트 출력 간의 영향 관계를 방향성 그래프로 표현한 구조이다. 각 간선은 상위 출력이 하위 출력에 토큰 수준으로 미치는 기여도를 수치화하며, 손실 신호를 역전파하여 오류 원인을 추적하는 데 사용된다.
- Gradient–Input Product
- — 모델 출력 확률의 그래디언트와 입력 임베딩을 요소별로 곱해 토큰 기여도를 계산하는 방법이다. 이 값은 입력 요소가 출력 확률에 미친 1차 기여를 반영하므로 특정 토큰의 영향력을 더 직접적으로 파악할 수 있다.
- Prefix-based Gradient
- — 프롬프트 토큰은 고정된 프리픽스로 처리하고 입력 토큰에 대해서만 그래디언트를 계산하여 메모리 사용량을 줄이는 기법이다. 프롬프트는 KV 캐시만 생성하고 입력 구간에서만 역전파를 수행하므로 메모리 복잡도가 n⋅d⋅L에서 (n−k)⋅d⋅L로 감소한다.
- Joint Goal Accuracy
- — 대화 상태의 모든 슬롯이 정확히 예측된 비율을 측정하는 지표이다. 다중 도메인 대화에서 전체 목표 달성 정도를 평가하므로 상태 추적 및 슬롯 오버예측/누락 문제를 민감하게 반영한다.
코드 예제
Algorithm 1 Backpropagation of Attribution Trajectories
1: Attribution graph G_attr = (V_attr, E_attr)
2: Loss node set V_loss = {(ℓ, L_ℓ)}
3: Initial input I_initial
4: Initialize an empty list T(s) for each subject s ∈ V ∪ {I_initial}
5: for all (ℓ, L_ℓ) ∈ V_loss do
6: cache ← [[(ℓ, L_ℓ)]]
7: for all (v, O_v) ∈ pre_attr(ℓ, L_ℓ) do
8: Backward((v, O_v), cache(v,O_v), cache)
9: end for
10: end for
11: return {T(s)}_{s∈V∪{I_initial}}
12: function Backward((v, O_v), cache(v,O_v), cache)
13: new_cache ← []
14: for all τ ∈ cache do
15: τ' ← copy(τ)
16: Insert (v, O_v) at the beginning of τ'
17: Append τ' to new_cache
18: end for
19: T(v) ← T(v) ∪ new_cache
20: if pre_attr(v, O_v) = ∅ then
21: input_cache ← []
22: for all τ ∈ new_cache do
23: τ' ← copy(τ)
24: Insert (input, I_initial) at the beginning of τ'
25: Append τ' to input_cache
26: end for
27: T(input) ← T(input) ∪ input_cache
28: else
29: for all (u, O_u) ∈ pre_attr(v, O_v) do
30: Backward((u, O_u), new_cache(u,O_u), new_cache)
31: end for
32: end if
33: end function이 코드는 Attribution Graph에서 손실 노드로부터 역방향으로 기여 경로를 추적하여 각 주체(입력 또는 에이전트)에 대한 기여 궤적을 수집하는 알고리즘의 의사코드이다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.