사람이 개입해야 하는 순간
Human-in-the-loop는 사람이 모든 일을 대신 확인한다는 뜻이 아닙니다. 에이전트가 스스로 처리해도 되는 일과 반드시 사람의 판단을 거쳐야 하는 일을 나누는 설계입니다.
승인이 필요한 작업은 대체로 네 가지 특징을 가집니다. 첫째, 외부에 영향을 줍니다. 게시, 이메일 발송, 고객 응답, 파일 공유가 여기에 해당합니다. 둘째, 돈이 움직입니다. 결제, 환불, 광고 집행, 유료 API 대량 호출은 작은 실수도 비용으로 이어집니다. 셋째, 데이터를 지우거나 바꿉니다. 삭제, 덮어쓰기, 권한 변경은 복구가 어렵습니다. 넷째, 평판과 법적 책임이 생깁니다. 공식 공지, 계약 문서, 개인정보 포함 메시지는 AI가 단독으로 처리하면 안 됩니다.
반대로 읽기, 요약, 분류, 초안 작성처럼 내부 결과만 만드는 작업은 자동화해도 위험이 낮습니다. 중요한 기준은 "실행 후 영향을 되돌릴 수 있는가"와 "사용자 밖의 세계에 변화가 생기는가"입니다.

초안에서 멈추는 검토 흐름
안전한 콘텐츠 에이전트는 초안을 만들고 바로 발행하지 않습니다. 먼저 초안을 생성하고, 사용자에게 보여주고, 수정 요청을 받은 뒤, 명시적인 승인이 있어야 다음 단계로 넘어갑니다.
흐름은 단순하게 만들 수 있습니다.
사용자가 주제와 목적을 입력합니다.
에이전트가 초안을 작성합니다.
사용자가 수정하거나 승인합니다.
승인된 초안만 발행 준비 단계로 이동합니다.
마지막 발행 버튼은 사람이 누릅니다.
여기서 중요한 점은 "좋아", "괜찮아 보이네" 같은 애매한 문장을 승인으로 처리하지 않는 것입니다. 시스템은 승인 상태를 별도로 저장해야 합니다. 예를 들어 draft_created, review_requested, approved, publish_ready처럼 작업 상태를 나누면 Executor가 다음 행동을 안전하게 판단할 수 있습니다.
승인 강도는 위험도에 따라 달라야 한다
모든 작업에 같은 수준의 승인을 요구하면 사용자는 금방 지칩니다. 승인 설계는 위험도에 따라 달라져야 합니다.
되돌릴 수 있는 작업은 약한 승인으로 충분합니다. 예를 들어 문서 형식 변경, 태그 추천, 임시 저장, 내부 메모 생성은 실행 후 다시 고칠 수 있습니다. 이런 작업은 실행 로그만 남기고 자동 처리해도 됩니다.
되돌리기 어려운 작업은 강한 승인이 필요합니다. 고객에게 이메일 보내기, 공개 블로그 발행, 데이터 삭제, 결제 실행은 실행 전 확인 화면을 보여줘야 합니다. 특히 삭제나 결제처럼 결과가 즉시 발생하는 작업은 한 번 더 확인하거나, 입력 문구를 요구할 수 있습니다. 예를 들어 "삭제"라고 직접 입력해야 버튼이 활성화되게 만드는 방식입니다.
핵심은 AI를 믿지 않는 것이 아닙니다. 작업의 성격에 맞게 신뢰의 범위를 정하는 것입니다.
승인 UI에 담아야 할 정보
승인 화면은 단순히 "실행하시겠습니까?"라고 묻는 곳이 아닙니다. 사용자가 판단할 수 있는 정보를 충분히 제공해야 합니다.
먼저 변경 내용을 보여줘야 합니다. 무엇이 추가되고, 수정되고, 삭제되는지 한눈에 확인할 수 있어야 합니다. 콘텐츠라면 제목, 본문, 대상 채널, 첨부 파일을 보여줍니다. 문서 수정이라면 기존 내용과 변경 후 내용을 비교해서 보여주는 것이 좋습니다.
다음으로 예상 결과를 설명해야 합니다. "승인하면 이 글은 블로그 발행 대기 상태로 이동합니다", "승인하면 고객 328명에게 이메일이 전송됩니다"처럼 실행 후 벌어질 일을 구체적으로 말해야 합니다.
위험 정보도 필요합니다. 개인정보 포함 가능성, 외부 공개 여부, 되돌리기 가능 여부, 비용 발생 여부를 표시합니다. 마지막으로 실행 버튼은 명확해야 합니다. "확인"보다 "뉴스레터 발송", "블로그 발행 준비", "파일 영구 삭제"처럼 행동을 그대로 담은 버튼이 안전합니다.
실습: 게시 전 확인하는 콘텐츠 에이전트
간단한 콘텐츠 에이전트를 설계해 봅시다. 목표는 사용자가 주제를 입력하면 초안을 만들고, 승인 후에만 발행 준비를 진행하는 것입니다.
상태는 네 단계로 나눕니다.
draft: 초안 생성 완료needs_review: 사용자 검토 필요approved: 사용자 승인 완료ready_to_publish: 발행 준비 완료
에이전트는 초안을 만든 뒤 반드시 needs_review 상태에서 멈춥니다. 이때 UI에는 제목, 본문, 발행 채널, 예상 공개 범위, 수정 요청 입력창, 승인 버튼을 표시합니다. 사용자가 수정 요청을 입력하면 에이전트는 초안을 다시 작성하고 같은 상태로 돌아옵니다. 사용자가 명시적으로 승인 버튼을 누르면 상태가 approved로 바뀝니다.
그다음 Executor는 승인 상태를 확인한 뒤에만 발행 준비 도구를 호출합니다. 승인 기록에는 승인자, 승인 시각, 승인한 콘텐츠 버전이 함께 저장되어야 합니다. 그래야 나중에 어떤 초안이 어떤 판단으로 다음 단계에 넘어갔는지 추적할 수 있습니다.
좋은 에이전트는 사람을 배제하지 않습니다. 반복적이고 낮은 위험의 일은 AI가 빠르게 처리하고, 책임이 필요한 순간에는 사람이 판단하도록 멈춥니다. 이것이 실제 서비스에서 오래 사용할 수 있는 통제형 에이전트의 기본 구조입니다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.