에이전트 복구가 성공을 망칠 때: rescue·harm 평가와 CIR 적용

같은 실행 상태에서 복구 유무를 비교해 rescue와 harm을 분리하고, CIR의 개입 조건을 하네스 평가와 설계에 적용한다.

2026-10-08

성공률이 올라도 복구가 안전해진 것은 아니다

CIR은 ALFWorld·Qwen3-14B 평가에서 전체 성공률을 70.33%에서 73.33%로 높였다. 같은 평가에서 복구가 실패를 성공으로 바꾼 사례는 11건이었고, 성공을 실패로 바꾼 사례는 2건이었다. 순이득이 양수라는 사실만 보고 복구를 채택하면, 그 안에 포함된 성공 손실을 놓친다.

When Harnesses Lose the Signal: Causal Evaluation of Recovery in LLM Agents는 이 문제를 복구의 인과적 결정 문제로 다룬다. 이 글의 근거 범위는 arXiv 2610.00372 (2026-09-30 제출), Qwen3-14B, ALFWorld다.

하네스에서 refresh나 replanning을 넣을 때 필요한 질문은 “복구를 켜면 성공률이 오르는가”에서 끝나지 않는다. “어떤 실행을 구하고, 어떤 실행을 망치는가”까지 확인해야 한다. 논문은 이를 다음처럼 구분한다.

  • rescue: 복구하지 않으면 실패하지만, 복구하면 성공한다.
  • harm: 복구하지 않으면 성공하지만, 복구하면 실패한다.
  • 안정적 성공: 복구 유무와 관계없이 성공한다.
  • 안정적 실패: 복구 유무와 관계없이 실패한다.

이 구분에는 같은 실행 상태의 대안 결과가 필요하다. 일반 실행 하나만으로는 복구 덕분에 성공했는지, 복구 없이도 성공했을지 알 수 없다.

아래 그림은 같은 실행 상태에서 갈라진 결과를 어떻게 rescue와 harm으로 판정하는지 보여 준다.

⤢✕동일한 실행 상태무복구 분기복구 분기무복구 결과와 복구 결과 비교성공 / 성공: 안정적 성공실패 / 실패: 안정적 실패실패 / 성공: rescue성공 / 실패: harm

평가 보고서에는 전체 성공률과 함께 이 범주별 결과를 남기는 편이 좋다. 순이득이 같아도 rescue와 harm의 수가 다르면, 정책을 채택할 근거도 달라진다. 성공 손실을 얼마나 허용할지 결정하려면 harm을 별도 지표로 볼 수 있어야 한다.

같은 상태에서 분기하고 관측 조건과 지연을 나눈다

논문의 쌍 반사실 평가는 사전에 정한 시점의 동일한 실행 상태에서 시작한다. 무복구 분기는 개입 없이 이어가고, 복구 분기는 refresh 또는 replanning을 적용한 뒤 이어간다. 서로 다른 실행의 최종 성공률을 비교하는 대신, 분기 전 상태를 맞춰 복구 유무의 차이를 측정하는 방식이다.

결과가 성공이면 1, 실패이면 0일 때 인스턴스 효과는 다음과 같다.

[ \tau_i^m(e,d)=Y_i^m(e,d)-Y_i^0(e) ]

여기서 (e)는 관측 조건, (d)는 복구 지연, (m)은 복구 동작이다. 효과가 양수면 rescue, 음수면 harm이며, 결과가 같으면 효과는 0이다. 논문의 정의로는 (\tau=R-H)다.

무복구 결과 복구 결과 분류 인스턴스 효과
성공 성공 안정적 성공 0
실패 실패 안정적 실패 0
실패 성공 rescue +1
성공 실패 harm −1

실무 평가에서도 복구를 켠 실행과 끈 실행을 단순히 모으기보다, 동일한 상태에서 이어진 쌍을 분석 단위로 삼아야 한다. 그래야 성공률 차이를 구성하는 rescue와 harm을 직접 구분할 수 있다.

분기 시점을 맞춘 뒤에는 관측 조건과 지연을 분리한다. 논문이 사용한 관측 조건은 clean, 1단계 stale, 2단계 stale, missing이다. 복구 지연은 (d\in{0,1,2,4}) 환경 행동으로 설정했다. 주 교란인 2단계 stale은 현재 관측을 두 행동 전 관측으로 대체한다.

이 구분이 필요한 이유는 복구 가치가 관측 상태와 개입 시점에 따라 달라졌기 때문이다.

관측 조건과 지연 성공률 변화 95% 신뢰구간
2단계 stale, 지연 1 +7.53 pp [−3.23, 18.28]
clean, 지연 0 −6.45 pp [−11.83, −2.15]
위 stale 효과와 clean 효과의 차이 +13.98 pp [2.15, 24.73]

2단계 stale에서의 점추정은 양수지만 신뢰구간은 0을 포함한다. 반면 clean 관측의 즉시 복구는 음의 효과를 보였고, 신뢰구간도 음수 범위에 있다. 따라서 이 결과를 “stale이면 언제나 복구하라”로 바꾸면 안 된다. 자료가 뒷받침하는 판단은 관측 조건과 지연을 묶어 평가해야 하며, 올바른 관측에 대한 개입도 손실을 낼 수 있다는 것이다.

복구 후보를 평가할 때는 오류 조건의 평균 이득만 확인하지 말고 clean 조건을 함께 넣는다. clean 평가가 빠지면, 불필요한 개입 때문에 원래 성공했을 실행이 실패하는지를 확인할 수 없다.

CIR은 오류 탐지와 개입 가치를 함께 판단한다

오류가 의심된다는 사실만으로 refresh의 이득이 정해지지는 않는다. CIR은 복구 전에 얻을 수 있는 정보로 오류 가능성과 복구 유무의 성공 가능성을 추정한다.

논문이 사용한 추정기는 로지스틱 모델이다.

추정값 의미 개입 판단에서의 역할
(p_{\mathrm{err}}(x)) 관측이 오류일 확률 오류 가능성 확인
(p_0(x)) 복구 없이 성공할 확률 무복구 성공 가능성 추정
(p_1(x)) 즉시 refresh했을 때 성공할 확률 복구 성공 가능성 추정

이 추정값으로 rescue 점수와 harm 점수를 만든다.

[ s_R(x)=(1-p_0(x))p_1(x) ]

[ s_H(x)=p_0(x)(1-p_1(x)) ]

[ u_\lambda(x)=s_R(x)-\lambda s_H(x) ]

(s_R)은 무복구 실패 가능성과 복구 성공 가능성을 결합한다. (s_H)는 무복구 성공 가능성과 복구 실패 가능성을 결합한다. (\lambda)는 harm에 부과하는 페널티다. 이 점수는 개입 판단을 위한 추정값이므로, 평가에서 실제로 관찰한 rescue·harm 건수와 구분해 기록해야 한다.

CIR의 목표도 오류 조건의 평균 이득만 최대화하는 형태가 아니다. 오류 관측 조건에서 기대 개선을 최대화하되, clean 조건의 기대 harm을 (\varepsilon) 이하로 제한한다. 논문의 실험 설정은 다음과 같다.

설정 값
harm 페널티 (\lambda) 2
clean harm 제약 (\varepsilon) 0.02
최소 지연 (d_{\min}) 1
오류 확률 임계 (\alpha) 0.876
실패 확률 임계 (\beta) 0.052
효용 임계 (\gamma) 0

실제 결정 규칙은 최소 지연, 오류 확률, 실패 확률, 효용 조건을 모두 통과하면 refresh하는 것이다. CIR은 후보 시점을 순차적으로 평가하고 궤적당 최대 한 번만 refresh한다.

아래 그림은 논문의 설정값으로 개입 조건을 표현한 것이다. 조건을 통과하지 못하면 해당 후보 시점의 개입을 보류한다.

⤢✕예아니오아니오예아니오예아니오예아니오예후보 시점이미 refresh했는가추가 refresh 없음지연 d ≥ 1개입 보류오류 확률 ≥ 0.876실패 확률 ≥ 0.052효용 ≥ 0refresh

제공된 자료는 실패 확률 (p_{\mathrm{fail}}(x))의 임계 조건을 명시하지만, 이 값을 (p_0(x))에서 어떻게 구성하는지는 밝히지 않는다. 이 자료만으로 구현을 작성한다면 그 관계를 임의로 채워서는 안 된다. 수식과 결정 규칙은 논문 HTML의 방법 절을 확인할 출발점으로 삼을 수 있다.

하네스 설계에 가져갈 핵심은 “이상하면 복구”라는 단일 조건을 버리고, 복구가 구할 가능성과 망칠 가능성을 함께 평가하는 경계를 두는 것이다. 임계값은 이 실험의 설정값으로 남겨 두고, 다른 환경에서도 유효하다고 단정하지 않는다.

성능표에는 순이득과 개입의 대가를 함께 남긴다

CIR 평가는 valid_seen 과업 76개 중 prefix가 가능한 75개에 관측 조건을 적용한 300 에피소드로 구성됐다. 모델 적합에는 valid_unseen 과업 93개를 사용했다.

실행 조건은 Qwen3-14B, ReAct 스타일 하네스, 탐욕 디코딩이었다. 최대 49 모델 턴과 실행당 환경 행동 64회라는 한도도 있었다. 결과를 하네스 변경의 근거로 사용할 때는 성공률과 함께 이 평가 범위를 보존해야 한다.

평가 범위 무복구 성공률 CIR 성공률 변화 95% 신뢰구간
전체 70.33% 73.33% +3.00 pp [0.67, 5.67]
2단계 stale 60.00% 69.33% +9.33 pp [1.33, 17.33]
clean 81.33% 81.33% 0.00 pp 자료에 제시되지 않음

전체 평가에서 rescue는 11건, harm은 2건, 개입률은 16.3%였다. clean 관측에는 개입하지 않았다.

아래 비교 그림은 전체 이득과 오류 조건의 개선을 clean 조건의 개입 억제와 나란히 보여 준다.

⤢✕ CIR의 성공률 변화와 개입 결과 무복구 vs CIR 성공률 구간 무복구 CIR 변화 95% CI · 개입 전체 2단계 stale clean 70.33% 60.00% 81.33% 73.33% 69.33% 81.33% +3.00 pp +9.33 pp 0.00 pp [0.67, 5.67] [1.33, 17.33] 개입 0회 핵심 수치 전체 에피소드 300 rescue 11건 harm 2건 개입률 16.3% 에이전트 복구가 성공을 망칠 때: rescue·harm 평가와 CIR 적용 | ai-agents

이 결과에서 clean harm이 없었던 이유를 “개입해도 안전했다”로 읽으면 안 된다. 관찰된 사실은 clean 궤적에 개입 자체가 없었다는 것이다. clean 성공률 보존은 개입을 억제한 정책의 결과다. 또한 (\varepsilon=0.02)라는 목적 함수의 제약과, 평가에서 관찰된 clean 개입 0회는 서로 다른 정보다.

기준선과 비교할 때도 성공률 변화만으로 표를 끝내지 않는다.

정책 전체 성공률 변화 rescue harm
순차 이상 탐지기 +1.67 pp 6건 1건
개입률을 맞춘 이상 탐지 기준선 +2.00 pp 6건 0건
CIR +3.00 pp 11건 2건

CIR은 이 비교에서 가장 높은 점추정을 보였지만, 전체 harm은 개입률을 맞춘 기준선보다 많았다. 따라서 “CIR이 모든 기준에서 우월하다”는 판단은 자료를 넘어선다. 정책 선택에 필요한 보고서는 성공률 이득, rescue, harm, 개입률, clean 결과를 함께 제시해야 한다.

refresh의 이득을 관측 내용만으로 설명하지 않는다

refresh가 도움이 됐다면 새로 받은 관측이 원인이라고 생각하기 쉽다. 논문은 환경에 질의하되 반환 관측을 숨기는 내용 절제 refresh를 사용해 이 설명을 점검했다.

2단계 stale, 지연 4 조건에서 결과는 다음과 같았다.

복구 방식 환경 질의 반환 관측 내용 제공 성공률 변화
전체 refresh 있음 있음 +13.43 pp
내용 절제 refresh 있음 없음 +10.45 pp
replanning만 없음 해당 없음 +1.49 pp

전체 refresh와 내용 절제 refresh에서 공통으로 발생한 rescue는 8건이었다. 반환 관측을 숨겨도 이득이 남았으므로, 관측 내용만이 복구 효과의 원천이라고 설명할 수 없다. 이 조건에서는 질의 동작 자체의 기여도 드러났다.

그렇다고 관측 내용이 필요 없다는 뜻도 아니다. 부록의 과업 수준 중첩 분석에서는 65개 과업 중 전체·절제 refresh의 결과가 59개에서 일치했다. 공통 rescue는 8건, 전체 refresh 단독 rescue는 2건, 절제 refresh 단독 rescue는 1건이었다. 전체 refresh의 우위는 +3.08 pp였지만 95% 신뢰구간은 [−4.62, 10.77]로 0을 포함했다.

하네스에서 refresh의 비용이나 동작을 바꾸려면 먼저 무엇이 이득을 만드는지 분리해야 한다. 논문의 절제 방식은 그 확인 방법을 제공한다. 전체 refresh, 반환 내용이 없는 refresh, 질의 없는 replanning을 비교하면 “새 정보가 유용했다”는 설명을 실제 결과와 대조할 수 있다.

이 실험은 refresh를 일반적인 재시도와 동일하게 취급할 근거도 주지 않는다. 여기서 비교한 동작의 효과를 다른 복구 동작으로 옮기려면, 그 동작에 대한 쌍 분기 평가가 필요하다.

하네스에 적용할 때는 평가 경계를 먼저 옮긴다

이 연구에서 바로 가져올 수 있는 것은 특정 임계값보다 평가 방식과 개입 판단의 구조다. 복구 도입의 검증 기준을 다음처럼 잡을 수 있다.

  • 동일한 실행 상태의 복구·무복구 쌍으로 rescue와 harm을 판정한다.
  • clean과 오류 관측 조건을 나누고, 복구 지연별 효과를 확인한다.
  • 평균 성공률에 rescue·harm 건수와 개입률을 함께 남긴다.
  • 오류 탐지 결과와 복구 효용 판단을 분리한다.
  • refresh가 작동한 이유를 확인할 때 반환 관측 내용과 질의 동작을 절제해 비교한다.

평가 대상의 선택도 점검할 필요가 있다. 논문은 사실상 성공한 궤적에 국한된 분석과 실패 궤적을 포함한 분석을 비교했다. 실패를 포함한 106개 과업의 주 코호트에서도 stale 효과는 +6.60 pp, clean 효과는 −3.77 pp였다. 사실상 실패 궤적을 포함해도 stale 조건의 양의 효과가 유지됐다는 결과다. 복구 평가에서 성공했을 실행만 남기면, 실패 중인 실행을 구하는 능력을 충분히 보지 못할 수 있다.

다만 이 결과의 적용 범위는 좁다. 환경은 ALFWorld이고 모델은 Qwen3-14B 하나다. 관측 교란은 자연 발생 오류가 아니라 통제된 교란이며, CIR 평가 과업은 75개였다. 복구도 궤적당 최대 한 번의 refresh로 단순화돼 복수 개입의 순차 결정은 다루지 않았다.

CIR의 판단은 로지스틱 분류기의 품질에 의존한다. 반복, no-op, 새로움 같은 수작업 특징은 도메인이 바뀌면 취약할 수 있다는 한계도 저자들이 명시했다. 다른 하네스에서는 이 특징과 임계값의 유효성을 다시 확인해야 한다.

복구 정책을 채택할 근거는 “성공률이 올랐다”에서 끝나지 않는다. 어떤 조건에서 실패를 구했고, 어떤 조건에서 성공을 잃었으며, 불필요한 개입을 어떻게 억제했는지까지 확인돼야 한다. CIR의 실험은 그 판단을 같은 상태의 분기 결과와 개입 전 정보로 연결하는 방법을 보여 준다.

LLM 에이전트에이전트 하네스반사실 평가복구 정책CIR