에이전트 RL에서 보상은 보통 궤적 끝에 한 번 주어집니다. 50턴 상호작용 후 실패하면 어느 턴이 문제인지 알 수 없죠. EFCA는 환경 피드백 텍스트에서 크레딧 신호를 직접 추출해서 이 문제를 풉니다.
핵심 방법: 다중 시간규모 크레딧
EFCA는 세 가지 시간규모의 신호를 결합합니다.
- 장기(outcome): 궤적 끝의 성공/실패 보상. 기존과 같음
- 단기(feedback): 직전 행동에 대한 환경의 즉각 응답. “Nothing happens”면 -1, “You pick up …”이면 +1
- 중기(state-history): 최근 K턴 윈도우에서 부정 피드백이 반복되면 -1, 긍정이 한 번도 없으면 -η
이 세 신호를 결합해서 스텝별 가중치 w_t를 만들고, 기존 스텝 리턴에 곱합니다.

EFCA 전체 구조입니다. 장기 보상 위에 단기·중기 신호를 더해 스텝별 크레딧을 재조정합니다.
단기 신호: 환경이 주는 텍스트 그대로
ALFWorld에서 환경은 행동마다 텍스트를 돌려줍니다. “Nothing happens”는 무효 행동, “You open the drawer”는 유효 행동입니다. EFCA는 이 텍스트를 positive/negative 패턴 매칭으로 분류해서 c_fb ∈ {-1, 0, +1}을 만듭니다.
별도 보상 모델을 학습할 필요 없이, 환경이 주는 텍스트를 규칙으로 분류합니다.
중기 신호: 최근 K턴의 패턴
최근 K=5턴 동안 부정 피드백만 연속하면 c_hist = -1입니다. 긍정이 한 번도 없으면 c_hist = -η (η=0.3)입니다. 이 신호는 에이전트가 같은 실수를 반복하거나 진전이 없는 루프에 빠졌을 때 크레딧을 깎습니다.
결과: ALFWorld & WebShop
| 설정 | EFCA (1.5B) | HGPO | GiGPO | GraphGPO |
|---|---|---|---|---|
| ALFWorld Overall | 95.31 | 91.99 | 90.88 | 92.71 |
| WebShop Task Score | 89.81 | 86.76 | 86.54 | 87.55 |
7B에서도 ALFWorld 96.03, WebShop Task Score 89.06로 모든 baseline을 넘습니다.

WebShop에서 특히 의미 있는 건 Task Score입니다. 단순 구매 성공 여부가 아니라, 구매한 상품이 사용자 요구사항과 얼마나 일치하는지를 측정합니다. EFCA가 가장 높다는 건 크레딧 할당이 행동 완료뿐 아니라 의미론적 적합성까지 개선한다는 뜻입니다.
분석: 어떤 신호가 기여하는가

- 단기 신호 제거: 95.31 → 91.40 (-3.91)
- 중기 신호 제거: 95.31 → 90.95 (-4.36)
- 둘 다 있을 때 최고
중기 신호의 기여가 더 큽니다. 반복적 비효율 패턴을 잡아내는 것이 즉각 피드백보다 중요하다는 뜻입니다.

훈련이 진행될수록 평균 가중치가 1.0 위로 올라갑니다. 정책이 점점 더 많은 행동이 “유효하다”고 인식받으면서 학습된다는 뜻입니다.
구조적 의의
기존 크레딧 할당은 보상 모델을 따로 학습하거나, 터미널 보상을 역전파하는 방식이었습니다. EFCA는 환경이 이미 제공하는 피드백 텍스트에서 규칙 기반으로 신호를 추출합니다. 추가 네트워크가 없고, plug-and-play로 기존 stepwise optimizer(GiGPO, HGPO)에 끼워넣을 수 있습니다.
코드는 공개 예정이며, 논문은 https://arxiv.org/abs/2608.08255 에서 확인할 수 있습니다.