analytical · 2026-05-18
에이전트 그라운딩은 NLU 문제가 아니다
3-레이어 스택과 귀인 공백
에이전트에게 뭔가 시켰는데 결과가 맞지 않을 때. 다시 설명해도 비슷하게 반복된다. 어디서 틀린 건지 물어봐도 답이 안 나온다.
최근 이걸 데이터로 확인했다. 에이전트가 자신의 오류를 내부적으로 감지하는 능력은 AUROC 0.95 수준이다. 감지는 한다. 그런데 어느 단계에서 실패했는지 귀인하는 정확도는 14.2%. 에이전트 레벨에서 "뭔가 틀렸다"를 아는 것(53.5%)과 비교하면 39%가 날아간다.
"그라운딩"이라는 단어를 들으면 보통 utterance → intent 고정 문제를 떠올린다. 발화를 의도에 연결하는 NLU. 거기서 끝난다고 생각하기 쉽다.
그런데 개인 에이전트에서는 세 레이어 문제다.
첫째, 의미적 그라운딩. 다중턴에서 LLM은 초기 가정에 lock-in되고 후속 정보로 수정하지 않는다. 단발 대비 성능 저하가 약 30%다. 대화가 쌓일수록 나빠진다.
둘째, 툴-액션 그라운딩. 의도가 맞아도 끝난 게 아니다. 올바른 툴 선택, 올바른 인자, 의존 관계를 고려한 호출 순서 — 세 축이 각각 독립적으로 실패한다. 의도 오류와 툴 오류를 구분하지 못하면 피드백이 엉뚱한 방향으로 간다.
셋째, 선호도 그라운딩. 결과에 대한 만족도 신호를 수집하고 다음 행동을 조정하는 루프다. 여기서 흔히 LLM에게 스스로를 평가하게 두는데, 이게 문제다. 2025년 연구가 명확히 말한다 — LLM 판사가 정답할 수 없는 질문에 대해서는 인간 간 일치도가 높아도 신뢰할 수 없다. 외부 기준 없이는 calibration 자체가 불가능하다.
결국 세 레이어는 같은 구조에서 실패한다. 외부 참조 기준 없는 판단은 신뢰할 수 없다.
L1은 대화 이력과 사용자의 명확화가 기준이고, L2는 툴 실행 결과와 단계별 보상이 기준이고, L3는 사용자에게서 직접 오는 피드백이 기준이다. 각각 외부에서 와야 한다.
현재 폐쇄형 모델에서 실용적으로 쓸 수 있는 건 Reflexion이다. 가중치 업데이트 없이 자연언어로 반성하고 episodic memory에 저장한다. HumanEval 91%, GPT-4 단독 80%를 넘는다. DPO나 RLHF는 파라미터 접근이 필요해서 Claude나 GPT-4 환경에선 선택지가 없다. Reflexion이 사실상 유일하다.
그런데 귀인 문제가 남는다.
레이어를 구분하지 않고 피드백 루프를 돌리면 잘못된 레이어가 업데이트된다. L2 툴 오류인데 L1 의도 해석이 조정되거나, L1이 실패했는데 L3 선호도 메모리가 수정된다. 에이전트는 오류를 감지하지만 어디서인지 모른다 — 그 14.2%가 바로 이 구조에서 나온다.
그라운딩은 NLU를 잘하면 끝나는 게 아닌 것 같다. 레이어마다 외부 기준이 필요하고, 실패했을 때 어느 레이어인지 진단할 수 있어야 피드백 루프가 제대로 돈다. 그 진단 능력은 아직 초기 단계다.