인지야공

인지야공/딥러닝 기초 정리/54번째 글

에이전트와 도구 사용 — 신뢰성의 산수

실행: python NN_30_agents.py (검증 환경: torch 2.8.0+cu129, RTX 5080) 이 글의 수치는 전부 그 스크립트를 돌려 얻은 것이다.


지금까지 모델이 무엇을 아는가를 봤다면, 이번엔 모델이 무엇을 하는가다. 추론 시간 계산 편에서 사고 사슬이 계산을 여러 단계로 나눴다면, 에이전트는 그 단계 하나하나를 바깥 세상에 대고 실행한다 — 검색하고, 코드를 돌리고, 파일을 고치고, 메일을 보낸다.

여기서 성질이 달라진다. 답은 틀려도 다시 물으면 그만이지만, 행동은 남는다. 그리고 단계가 여럿이면 성공은 곱해진다. 그 산수를 잰다.

환경: 상태는 0~210의 수, 도구 4개가 각각 +1·+3·+7·+11을 한다(mod 211). 목표 상태에 도달하면 성공이다. 최단 경로를 아는 정책을 학습시켰고(다음 도구 선택 정확도 99.9%), 도구는 확률 qq로 실패한다(아무 일도 안 일어남).


1. 사슬은 곱셈으로 죽는다

nn단계짜리 작업을 한 번에 계획하고 그대로 실행하면(열린 루프), 한 단계라도 어긋나는 순간 나머지 계획이 전부 헛돈다. 성공률은 이렇게 된다.

P(성공)=(1−q)nP(\text{성공}) = (1-q)^n
기호뜻
qq도구 한 번이 실패할 확률
nn작업에 필요한 단계 수

직접 재 보기 A

에피소드 4,000개씩, 실패율과 단계 수를 바꿔 가며 쟀다.

에이전트 신뢰성

단계 수12481216
실패율 0% (기준선)98.9%98.7%98.5%98.5%98.5%98.5%
실패율 2%97.2%94.6%90.7%84.0%77.5%71.3%
실패율 5%94.6%89.2%80.4%65.0%52.5%42.6%
실패율 10%89.2%79.1%64.4%42.8%28.5%19.3%
실패율 20%79.8%62.7%40.2%17.1%7.0%2.8%

(실패율 0%에서도 98.5%인 것은 정책 자체가 1.5%쯤 틀리기 때문이다 — 그게 이 실험의 천장이다.)

실측이 (1−q)n(1-q)^n과 거의 정확히 겹친다(10%·16단계에서 실측 19.3% 대 예측 18.5%). 눈여겨볼 것은 한 단계만 보면 멀쩡해 보인다는 점이다. 도구 성공률 90%는 나쁘지 않게 들리지만, 16단계를 이으면 다섯 번에 네 번은 실패한다. 에이전트 데모는 잘 되는데 실제 업무에 붙이면 무너지는 일이 흔한 이유가 이것이다 — 단계 수가 늘었을 뿐인데 체감이 완전히 달라진다.


2. 관측과 재시도가 사슬을 되살린다

해법은 계획을 더 잘 짜는 것이 아니다. 매 단계 결과를 보고 거기서 다시 계획하는 것이다(폐루프). 도구가 실패해도 상태가 그대로일 뿐이니, 다음 턴에 같은 자리에서 다시 시도하면 된다.

직접 재 보기 B

같은 정책, 같은 실패율로 열린 루프와 폐루프를 나란히 돌렸다(폐루프에는 단계 수의 2배를 예산으로 줬다).

실패율방식1단계4단계8단계16단계
5%한 번에 계획94.0%79.8%65.3%42.6%
5%매 단계 관측98.8%99.9%99.9%99.9%
10%한 번에 계획89.2%64.4%42.8%19.3%
10%매 단계 관측98.0%99.7%99.9%99.9%
20%한 번에 계획79.1%41.2%16.9%3.2%
20%매 단계 관측95.1%98.7%99.6%99.9%

실패율 20%에서 16단계 작업의 성공률이 3.2%에서 99.9%로 올라간다. 모델도 도구도 바뀌지 않았다. 바뀐 것은 관측을 하느냐뿐이다.

더 흥미로운 것은 곡선의 모양이다. 열린 루프는 단계가 늘수록 떨어지는데, 폐루프는 단계가 늘수록 오히려 좋아진다(98.0% → 99.9%). 재시도 예산이 단계 수에 비례해 늘어나 실패를 흡수할 여유가 커지기 때문이다. 한 번에 다 맞히기에서 틀리면 다시 하기로 문제를 바꾸면, 긴 작업이 오히려 안전해진다.

이것이 오늘날 에이전트 하네스가 하나같이 관찰-행동 루프로 생긴 이유다. 계획을 길게 뽑아 놓고 그대로 실행하는 구조는 실패율에 지수로 노출되고, 매 턴 결과를 되먹이는 구조는 그렇지 않다.


3. 단, 되돌릴 수 있을 때만

2절의 마법에는 숨은 전제가 있다. 실패해도 아무 일도 일어나지 않았다는 것이다. 현실의 도구는 다르다. 파일을 지우고, 돈을 보내고, 메일이 나가고, 프로덕션 설정이 바뀐다. 그런 실패는 다시 시도할 자리가 없다.

직접 재 보기 C

실패율 10%를 고정하고, 그 실패 중 몇 %가 되돌릴 수 없는 사고인가를 바꿔 가며 폐루프로 돌렸다.

실패 중 비가역 비율1단계4단계8단계16단계
0% (전부 되돌릴 수 있음)98.5%99.9%100.0%100.0%
10%97.7%95.6%91.4%83.5%
30%95.8%87.5%76.2%59.2%
50%94.0%80.3%64.4%42.5%
100% (전부 비가역)89.5%65.1%41.8%18.3%

비가역 비율이 100%가 되면 폐루프의 이점이 통째로 사라진다(16단계 18.3% — 1절의 열린 루프 19.3%와 같다). 그리고 10%만 섞여도 16단계 성공률이 99.9%에서 83.5%로 떨어진다. 재시도는 되돌릴 수 있는 실패만 흡수할 수 있고, 되돌릴 수 없는 실패는 그대로 곱셈에 남는다.

여기서 권한 단조성 편이 왜 알고리즘 문제인지가 분명해진다. “에이전트에게 무엇을 허용할 것인가”는 안전 취향의 문제가 아니라 성공률의 문제다. 비가역 행동을 줄이면 (샌드박스, 드라이런, 승인 게이트, 되돌리기 가능한 커밋) 위 표에서 위쪽 줄로 이동한다. 그리고 명세 게이밍 편이 말한 대로, 에이전트가 목표를 이상하게 달성하는 경우에도 되돌릴 수 있으면 그냥 한 번의 실패지만 되돌릴 수 없으면 사고가 된다.


4. 흔한 오해와 한계

  1. “모델이 더 똑똑해지면 해결된다” — 부분적으로만이다. 이 실험의 정책은 99.9% 정확한데도 열린 루프에서는 16단계 19.3%였다. 실패의 원인이 모델이 아니라 도구와 환경일 때, 모델을 키워도 곱셈은 그대로다.
  2. “재시도하면 된다” — 되돌릴 수 있을 때만이다(3절). 그리고 재시도에는 예산이 든다(여기선 2배).
  3. “성공률 95%면 쓸 만하다” — 몇 단계짜리 작업인지를 먼저 물어야 한다. 20단계면 0.9520=36%0.95^{20}=36\%다.
  4. “검증만 잘하면 된다” — 검증자가 틀리면 틀린 상태를 성공으로 확정한다. 추론 시간 계산 편의 생성-검증 격차가 여기서도 그대로 이득이자 위험이다.
  5. 이 글의 실험 — 상태가 하나의 수인 장난감 환경이고, 실패를 “아무 일도 안 일어남”으로 모형화했다. 실제 도구 실패는 엉뚱한 일이 일어나는 쪽이 많아 더 나쁘다. 99.9%·18.3% 같은 수는 이 설정의 값이고, 요점은 곱셈·되먹임·가역성이라는 세 가지 구조다.

5. 한 문단 요약

에이전트의 성패는 모델의 똑똑함보다 신뢰성의 산수가 지배한다. 도구가 10%만 실패해도 한 번에 계획해 실행하면 16단계 작업의 성공률은 (1−q)n(1-q)^n을 따라 19.3%로 무너진다(정책 정확도는 99.9%였는데도). 매 단계 결과를 관측하고 다시 계획하면 같은 조건에서 99.9%가 되고, 단계가 길수록 오히려 안전해진다 — 재시도 예산이 함께 늘기 때문이다. 다만 이 회복은 실패를 되돌릴 수 있을 때만 성립한다. 실패가 전부 비가역이면 폐루프도 18.3%로, 열린 루프와 같은 자리로 돌아간다. 그래서 에이전트 설계의 핵심 질문은 “모델이 얼마나 똑똑한가”가 아니라 “무엇을 되돌릴 수 있게 만들 것인가”다.


에이전트와 도구 사용 편까지 오며 — 중간 정리

여기까지를 관통한 질문은 결국 하나였다 — 무엇을 어디에 둘 것인가.

  • 지식을 어디에 둘까: 가중치 안(사전학습)인가, 밖의 저장소(검색, RAG 편)인가.
  • 계산을 어디서 살까: 파라미터(깊이, 크기)인가, 시간(반복, 사고 사슬, 루프 트랜스포머 편·추론 시간 계산 편)인가.
  • 정밀도를 어디에 쓸까: 비트(양자화·혼합정밀도)와 메모리·속도의 거래.
  • 권한을 어디까지 줄까: 되돌릴 수 있는 것과 없는 것의 선(권한 단조성 편).

그리고 이 연재를 쓰면서 가장 여러 번 확인한 것은 직접 재 보면 예상이 자주 틀린다는 사실이다. 플래시 어텐션의 온라인 소프트맥스는 한 줄을 빠뜨려 틀렸고, 제로샷은 대조 손실이 아니라 데이터 구조에서 왔고, “깊이를 늘리면 순차 문제가 풀린다”는 가설은 아예 반증됐다. 모든 수치를 돌려서 얻는다는 규칙은 글을 느리게 만들었지만, 틀린 확신을 여러 번 막아 줬다.

긴 문맥 편부터는 같은 방식으로 긴 문맥·증류·데이터·평가·분산 학습을 이어서 잰다.


참고

표시는 이 브라우저에만 남는다. 서버로 가는 것은 없다.