패턴·플레이북 · Patterns
Human-in-the-loop — 사람이 "아니오"를 말할 자리
사람을 어디에 끼울지보다, 그 사람이 진짜로 "아니오"를 말할 수 있는지가 중요하다. 개입이 형식이 되면 없는 것만 못하다.
승인 게이트 글에서 게이트를 어디 둘지를 위험으로 정했다면, 이 글은 그 게이트에 앉는 사람에 관한 것이다. “사람이 개입한다”는 말은 쉽지만, 실제로 그 사람이 흐름을 멈출 수 있게 만드는 건 다른 문제다. Human-in-the-loop의 핵심은 사람을 어디에 끼우느냐가 아니라, 끼운 그 사람이 진짜로 “아니오”를 말할 수 있느냐에 있다.
사람을 루프에 끼우는 것만으로는 통제가 생기지 않는다. 그 자리에서 거부가 실제로 가능하고, 거부가 흐름을 멈출 때에만 개입은 통제가 된다.
사람이 들어가는 세 자리
개입은 흐름의 어디에 놓이느냐로 세 가지로 나뉜다. 위험과 양에 따라 고른다.
사전 승인은 적용 전에 멈춰 사람의 확인을 기다린다. 되돌리기 어려운 일의 기본값이다. 가장 안전하지만 흐름을 느리게 하고, 양이 많으면 곧 병목이 된다. 사후 검토는 일단 적용하고 나중에 표본을 보거나 문제가 드러나면 롤백한다. 회복이 쉬운 일에서 속도를 얻는 방법이다. 예외 에스컬레이션은 평소엔 자동으로 흘리다가, 신뢰도가 낮거나 이상 신호가 잡힌 건만 사람에게 올린다. 양을 감당하면서 위험만 거르는 절충이다.
대부분은 셋을 섞는다. 저위험은 예외 에스컬레이션으로 흘리고, 고위험만 사전 승인으로 막고, 전체를 사후 샘플로 다시 본다.
개입이 형식이 될 때
가장 흔한 실패는 승인 게이트에서 말한 “도장이 된 게이트”와 같다. 사람이 자리에는 있는데, 실제로는 내용을 안 보고 통과시킨다. 이렇게 되는 데는 늘 같은 세 가지 이유가 있다.
- 판단할 맥락이 화면에 없다
- 거부보다 승인이 쉽다
- 양이 많아 다 못 본다
- 왜 이 제안인지 근거를 같이 본다
- 아니오·보류가 한 번에 된다
- 저위험은 빼 양을 줄인다
거꾸로 말하면, 살아있는 개입을 만드는 건 이 셋을 뒤집는 일이다. 승인하는 사람이 판단할 수 있도록 제안의 근거와 맥락을 같이 보여주고, “아니오”와 “보류”를 “예”만큼 쉽게 누를 수 있게 하고, 신뢰도가 높은 저위험 건은 자동으로 빼서 사람이 봐야 할 양 자체를 줄인다.
사람은 아껴 쓰는 자원이다
결국 균형의 문제다. 사람의 판단은 비싸고 느린 자원이라, 모든 자리에 사람을 두면 자동화가 주려던 값이 사라진다. 그렇다고 아무 데도 안 두면 되돌릴 수 없는 사고를 기다리는 셈이다. 그래서 사람의 “아니오”는 가장 위험한 자리에 아껴 둔다. 어디가 그 자리인지는 승인 게이트의 위험 2축으로 정하고, 나머지는 기계가 거르게 둔다.
아직 답이 안 난 건 에스컬레이션의 임계치를 어떻게 잡느냐다. 너무 낮으면 사람이 다시 병목이 되고, 너무 높으면 위험한 것까지 자동으로 흘러간다. 이 선을 어디에 그을지는 운영하면서 새는 곳을 보고 조정하는 수밖에 없다고 지금은 보고 있다.
- 초안 작성. 개입 세 자리·형식화 안티패턴·아껴 쓰기 정리 (성숙도: 탐색 중)
- 에스컬레이션 임계치 설정을 익명화 사례로 보강