Human-in-the-loop만으로는 부족하다. AI를 '멈추고 수정할 수 있는가'까지 고려해야 한다
요약
기존의 Human-in-the-loop 방식은 사람이 확인하는 '장소'를 만드는 데 그쳤으나, 진정한 자동화는 사람이 원할 때 후속 처리를 완전히 멈추고(STOP), 판단을 받은 후 올바르게 재개하는 메커니즘까지 고려해야 합니다. OpenAI Agents SDK와 LangChain 등 공식 문서들은 이러한 일시 정지 및 재개 기능을 지원합니다.
핵심 포인트
- AI 처리 과정에서 '정확한 STOP 조건' 설정이 필수적입니다.
- STOP 상태가 단순히 표시되는 것을 넘어, 후속 처리가 실제로 멈춰야 합니다.
- 사람의 판단(Approve/Reject)을 받고 데이터를 수정하여 재개하는 메커니즘이 중요합니다.
- 재개된 결과뿐 아니라 이전 처리 과정의 무결성까지 확인해야 합니다.
AI를 업무에 사용할 때, "결국은 사람이 확인한다"는 이야기를 자주 듣습니다.
저 자신도 AI나 자동화를 업무에 도입할 때는 AI・툴이 처리 → 의심스러운 것을 포착 → 사람이 확인/판단으로 나누게 되었습니다.
하지만 또 하나 궁금한 점이 있습니다. 사람이 확인하는 장소를 만들었다는 것만으로 정말 충분한가?
사람이 멈추고 싶다고 판단했을 때, 정말 후속 처리를 멈출 수 있는가. 수정했다면, 올바르게 반영하여 재개할 수 있는가.
'사람이 확인한다'에서 끝났다
지금까지 만들어 온 업무 도구들에서는 규칙대로라면 처리하고, 조건에서 벗어난 것을 "확인 필요"로 하여 마지막 판단을 사람에게 돌리는 형태를 자주 사용했습니다.
근태 관리라면 조건에 맞는 데이터를 포착합니다. 대조 작업이라면 일치하는 것과 차액이 있는 것을 나눕니다. 모든 것을 AI나 툴에 맡기지 않고, **"여기까지는 맡긴다. 여기부터는 사람이 본다"**라는 경계를 만드는 사고방식입니다.
그런데 그 너머에도 확인해야 할 것이 있었습니다.
STOP 조건은, 적는 것만으로는 부족하다
예를 들어 금액 대조 판정을 간략화하면 다음과 같습니다.
if amount != expected:
return Result(
status="STOP",
...
※실제로 사용하고 있는 툴의 코드가 아니라, 판단의 사고방식을 보여주는 의사 코드입니다. STOP라는 결과를 반환하는 것만으로는 후속 업데이트/전송이 자동으로 멈춘다고 할 수 없습니다. 호출하는 쪽에도 "STOP이면 처리를 진행하지 않는다"는 제어가 필요합니다.
공식 문서가 보여주는 '멈추고, 판단을 받고, 재개하는' 메커니즘
2026년 10월 시점에 공개된 OpenAI Agents SDK의 Human-in-the-loop 문서에서는 승인이 필요한 툴 호출 전에 실행을 일시 정지하고, 사람이 approve 또는 reject한 후, 실행 결과에서 얻은 RunState에 승인/거부 판단을 기록하고, Runner.run(agent, state)로 재개하는 흐름이 설명되어 있습니다.
LangChain의 Human-in-the-loop 문서에서도 대상 툴 호출을 interrupt로 중단하고, 사람이 approve・edit・reject 등을 선택하여 재개하는 메커니즘이 제시되어 있습니다.
여기까지는 공식 문서에서 설명된 기능입니다. 어떤 업무에서 무엇을 STOP 조건으로 할지, 어떻게 테스트할지는 이용하는 쪽에서 고민해야 합니다.
'멈췄다' = 실패인 것은 아니다
예를 들어, 대조 툴에 다음 규칙을 설정했다고 가정해 봅시다.
| 상태 | 판정 | 다음 처리 |
|---|---|---|
| 금액 일치 | OK | 자동 처리를 계속한다 |
| ... | ||
| 결정한 조건으로 멈추고 사람에게 돌릴 수 있다면, 그것은 예상대로의 동작입니다. 문제는, STOP이라고 표시되어도 후속 처리가 진행되지 않는가 하는 점입니다. |
그럼, 무엇을 테스트할 것인가
여기부터는 공식 문서 체크리스트가 아니라, 제가 실무에서 확인하고 싶은 5가지 지점입니다.
1. STOP 조건은 명확한가
"AI가 망설이면"이 아니라, 금액 불일치・필수 항목 없음・동일 키 다중 등, 확인할 수 있는 조건으로 만듭니다.
2. STOP했다는 것을 알 수 있는가
"STOP"뿐만 아니라, 이유와 대상 데이터를 사람이 확인하도록 합니다.
3. 정말 후속 처리가 멈추는가
STOP을 반환한 후에 업데이트나 전송이 실행되지 않는지, 테스트 데이터로 확인합니다.
4. 사람이 판단/수정할 수 있는가
승인・거부・데이터 수정 등을 받을 수 있는지. 누가 판단했는지도 필요에 따라 기록합니다.
5. 수정 후에도 올바른가
재개 후의 결과뿐만 아니라, 이전에 올바른 처리가 변하지 않았는지도 확인합니다.
처리뿐만 아니라 '되돌리는 방법'까지 설계하기
입력
↓
AI・툴이 처리
...
이는 모든 AI 시스템에 공통적인 표준 플로우라는 의미가 아니라, 제가 업무 툴을 설계할 때 채택하고 싶은 사고방식입니다.
어디서 멈출지. 누구에게 돌릴지. 어떻게 고칠지. 고친 후 무엇을 확인할지. 거기까지 결정하고, 실제로 그대로 작동하는지 시험해보고 싶습니다.
내일 하나 시도한다면
지금 사용하고 있는 AI나 자동화 중 하나를 골라, **"이 메커니즘은 어떤 때 사람에게 돌아가는가?"**를 생각해 보세요.
답이 나왔다면, 또 하나. "정말로 거기서 멈추는 것을 시도해 봤는가?"
"결국은 사람이 확인한다"를 구체적인 업무 설계로 바꾸는 첫걸음입니다.
참고 자료
※두 문서의 기술 내용은 2026년 10월 8일 기준입니다. API 사양 및 용어는 업데이트될 수 있습니다.
토론 (Discussion)

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기