에이전트 운영 설계 노트 (7/9) — Approval Loop는 어떻게 설계하나

에이전트에게 더 많은 일을 맡길수록 권한만으로는 충분하지 않다. 어떤 행동은 허용하고, 어떤 행동은 막는 것만으로는 운영이 선명해지지 않는다. 그 사이에는 반드시 하나의 층이 더 필요하다. 바로 사람이 언제, 무엇을, 어떤 정보와 함께 승인해야 하는가를 정하는 approval loop다.


핵심 요약

  • approval loop는 자동화를 방해하는 절차가 아니라, 되돌리기 어려운 행동을 더 이른 단계에서 사람 판단 앞으로 가져오는 구조다.
  • 승인 대상은 기술 종류보다 실패 반경, 되돌리기 비용, 외부 흔적, 권한 상승 여부로 나누는 편이 실용적이다.
  • 모든 단계에 사람을 넣는 것은 좋은 승인 설계가 아니다. 오히려 ask가 남발되면 진짜 중요한 승인 신호가 사라진다.
  • Managed Agents가 공통 실행층을 흡수하더라도, approval 기준은 여전히 로컬 운영 정책이다.

1. 왜 approval loop가 다시 중요해졌나

예전의 보조형 AI는 주로 답변이나 초안을 제안했다. 사람이 그 결과를 보고 직접 행동하는 구조였다. 하지만 에이전트는 파일을 수정하고, 명령을 실행하고, 웹을 조작하고, 외부로 무언가를 보낼 수 있다.

이 순간부터 "나중에 리뷰하면 된다"는 말은 충분하지 않다.

  • 어떤 행동은 실행 전에 사람이 봐야 한다.
  • 어떤 행동은 실행 후 로그만 있어도 된다.
  • 어떤 행동은 구조적으로 막아야 한다.

approval loop는 바로 이 중간층을 설계하는 문제다.

권한 모델이 allow / ask / deny를 자르는 구조라면, approval loop는 ask를 실제 운영 절차로 바꾸는 구조다.

2. 승인 대상은 기술 종류보다 되돌리기 비용으로 나눠야 한다

승인 설계를 처음 할 때 많은 팀이 "셸 명령은 위험", "브라우저는 위험", "파일 수정은 위험"처럼 도구 종류로 나눈다. 하지만 실무에서는 이 기준이 금방 흔들린다.

같은 파일 수정이라도 위험도는 다르다.

행동 겉보기 되돌리기 비용
초안 파일 수정 쓰기 낮음
운영 스크립트 수정 쓰기 높음
내부 메모 업데이트 쓰기 낮음~중간
외부 게시 전송/발행 매우 높음
자격 증명 접근 읽기 매우 높음

따라서 approval loop는 도구 종류보다 아래 기준으로 자르는 편이 낫다.

  1. 되돌리기 쉬운가
  2. 외부 흔적이 남는가
  3. 보호 자산에 닿는가
  4. 사람 판단이 실제로 가치가 있는가
  5. 실패를 사후 로그만으로 충분히 회수할 수 있는가

3. 읽기, 수정, 실행, 외부 전송은 같은 권한이 아니다

approval loop를 설계할 때 가장 먼저 해야 할 일은 행동 종류를 더 잘게 나누는 것이다.

실무적으로는 최소한 아래는 분리하는 편이 좋다.

  • 읽기
  • 제한된 로컬 수정
  • 코드/명령 실행
  • 외부 네트워크 전송
  • 발행/배포
  • 권한 상승 또는 보호 자산 접근

이 구분이 중요한 이유는 ask의 빈도와 품질이 여기서 결정되기 때문이다. 읽기와 외부 발행을 같은 승인 체계에 넣으면 ask가 지나치게 많아지거나, 반대로 너무 느슨해진다.

좋은 approval loop는 권한 모델과 결합돼야 하지만, 권한 모델과 동일하지는 않다. 권한은 "무엇이 가능한가"를 자르고, approval loop는 "가능하더라도 언제는 사람이 중간에 봐야 하는가"를 정한다.

4. 좋은 approval loop는 모든 단계에 사람을 넣지 않는다

안전하게 운영하고 싶다는 이유로 모든 중요한 단계에 사람 승인을 붙이는 경우가 많다. 그러나 그렇게 되면 두 가지 문제가 생긴다.

  1. 사람이 병목이 된다.
  2. 승인 자체의 품질이 급격히 떨어진다.

승인이 너무 자주 오면 사람은 맥락을 읽지 않고 넘기기 시작한다. 그러면 approval은 구조상 존재하지만 실제로는 형식적 절차가 된다.

좋은 approval loop는 오히려 아래를 줄인다.

  • 의미 없는 ask
  • 같은 종류의 반복 ask
  • 사후 회수 가능한 행동에 대한 과잉 승인

그리고 아래를 강화한다.

  • 비가역 행동 승인
  • 외부 전송 승인
  • 넓은 범위 수정 승인
  • 권한 상승 승인

즉 approval loop의 목적은 "사람을 많이 넣기"가 아니라 사람 판단이 가장 가치 있는 지점에만 넣기다.

5. 승인 요청에는 무엇이 포함되어야 하나

승인의 품질은 ask를 띄우느냐가 아니라, ask에 어떤 정보가 들어가느냐에서 갈린다.

좋은 승인 요청에는 최소한 아래가 포함되는 편이 좋다.

항목 이유
무엇을 하려는가 행동 목적 확인
왜 지금 필요한가 우회 가능한지 판단
무엇이 바뀌는가 영향 범위 판단
되돌리기 방법은 있는가 회수 가능성 판단
승인하지 않으면 대안은 무엇인가 ask 남발 방지

사람이 "승인" 버튼만 보게 만들면 approval loop는 거의 무의미해진다. 사람은 행동의 정당성, 영향 범위, 대안 여부를 봐야 한다.

6. 승인 지연보다 더 큰 문제는 승인 기준 부재다

approval loop를 이야기하면 흔히 "사람이 늦게 응답하면 병목"을 먼저 걱정한다. 물론 맞다. 하지만 더 큰 문제는 지연보다 승인 기준이 없는 상태다.

기준이 없으면 다음 현상이 생긴다.

  • 사람마다 다른 결정을 내린다.
  • 비슷한 행동이 어떤 날은 승인되고 어떤 날은 거절된다.
  • 에이전트는 일관된 운영 경계를 학습하지 못한다.
  • 사후 리뷰에서 왜 승인됐는지 설명하기 어렵다.

그래서 approval loop에는 기술적 팝업보다 먼저 승인 정책 문서가 필요하다.

예:

  • 어떤 행동은 기본 허용
  • 어떤 행동은 언제나 승인
  • 어떤 행동은 기본 금지
  • 어떤 행동은 특정 조건에서만 승인

7. Managed Agents가 approval 문제를 대신 풀어주지 못하는 이유

Managed Agents는 장시간 실행, 공통 도구 연결, 일부 관측 표면을 줄여 줄 수 있다. 하지만 approval 기준까지 대신 정해 주지는 못한다.

이유는 간단하다. 승인 기준은 조직마다 다르기 때문이다.

  • 어떤 팀은 외부 전송을 무조건 승인 대상으로 둔다.
  • 어떤 팀은 운영 스크립트 수정만 승인 대상으로 둔다.
  • 어떤 팀은 브라우저 조작보다 발행을 더 위험하게 본다.

즉 approval loop는 플랫폼 기능일 수는 있어도, 운영 판단 자체는 로컬 정책이다.

8. 도입 전에 팀이 먼저 정해야 할 질문들

approval loop를 설계하기 전에 아래 질문에 답하면 구조가 훨씬 선명해진다.

  1. 어떤 행동이 가장 비가역적인가
  2. 어떤 행동은 사후 로그만으로 충분한가
  3. 어떤 행동은 사람이 봐도 더 나은 판단을 할 수 없는가
  4. 어떤 ask가 너무 자주 뜨면 오히려 위험해지는가
  5. 승인 거절 시 에이전트는 어떤 대안을 가져야 하는가

이 질문이 없으면 approval loop는 운영 구조가 아니라, 단순한 팝업 모음이 된다.

9. 실무 체크리스트: approval loop가 형식화되고 있는가

  • ask가 너무 자주 떠서 사람이 거의 자동 승인한다
  • 승인 요청에 목적과 영향 범위가 없다
  • 거절 시 대안 경로가 없다
  • 같은 행동이 사람마다 다르게 승인된다
  • 사후 리뷰에서 왜 승인됐는지 설명하기 어렵다

두세 개 이상 해당하면 approval loop를 다시 자를 시점일 가능성이 크다.

10. 결론: approval loop는 사람을 늦게 개입시키는 장치가 아니라, 너무 늦기 전에 개입시키는 장치다

approval loop를 잘못 이해하면 자동화를 방해하는 절차처럼 보인다. 하지만 제대로 설계하면 오히려 반대다.

좋은 approval loop는:

  • 사소한 ask를 줄이고
  • 진짜 중요한 ask를 선명하게 만들고
  • 비가역 행동을 더 이른 시점에 잡아낸다

결국 approval loop는 "사람을 어디에 넣을까"의 문제가 아니라, 어디까지를 자동화가 책임질 수 있고 어디서부터는 조직 판단이 필요하냐를 자르는 문제다.

함께 읽으면 좋은 글

참고 자료

시리즈 전체 안내: 시리즈 목차

댓글

이 블로그의 인기 게시물

"LLM 핵심 학습 (1/6) — 기본: 토큰화·임베딩·어텐션·위치 인코딩"

"LLM 핵심 학습 (2/6) — 파인튜닝: LoRA·QLoRA·증류·Adapter"

"ML 기초 학습 (1/9) — 머신러닝과 sklearn: 학습의 좌표계"