비상 정지 버튼이 있는 자율성
자율 에이전트는 되돌릴 수 없는 작업을 실행하기 직전까지만 안전합니다. EDDI 6.2.0은 휴먼 인 더 루프 거버넌스를 도입했습니다. 세 가지 세분화 수준의 명시적 승인 게이트를 타임아웃 정책, 루프 감지, 재시작 후에도 유지되는 상태가 뒷받침합니다. 승인은 별도의 애플리케이션 코드가 아니라 설정입니다.
승인 게이트가 플랫폼에 있어야 하는 이유
대부분의 팀은 승인을 애플리케이션 계층에 덧붙입니다. 여기에 큐, 저기에 웹훅, 어딘가에 데이터베이스 플래그. 이 방식은 프로세스가 재시작되거나, 승인자가 자리를 비우거나, 에이전트가 같은 요청을 반복하는 순간 무너집니다. EDDI는 게이트를 대화 파이프라인 안에 둡니다. 일시 중지된 턴은 그대로 유지되고, 끼어드는 입력은 명확한 409 Conflict로 거부되며, 모든 결정은 에이전트 수명주기의 나머지와 동일한 감사 추적에 기록됩니다.
세 단계의 승인
- 턴 단위 승인:
PAUSE_CONVERSATION액션이 전체 파이프라인을 중단합니다. 사람이 재개할 때까지 이후의 사용자 입력은409 Conflict를 반환하므로, 보류 중인 결정을 앞질러 실행되는 것이 없습니다. - 도구 호출별 게이팅: 개별 도구 호출마다 실행 전에 사람의 승인을 요구할 수 있습니다. glob 패턴 허용 목록과 예외 목록이 무엇을 통제할지 정확히 정하며, 내장, HTTP, MCP, A2A, 동적, 메모리 도구 전반에 적용됩니다.
- 그룹 단계 승인: 멀티 에이전트 논의 단계는
PHASE또는TASK단위로 사람의 승인을 요구할 수 있어, 그룹이 감독 없이 계획에서 실행으로 넘어가지 않습니다.
타임아웃 정책
사람은 고가용성 서비스가 아닙니다. 모든 게이트는 제때 아무도 응답하지 않을 때의 동작을 선언합니다.
WAIT_INDEFINITELY: 사람이 결정할 때까지 실행을 중지 상태로 둡니다. 무인 실행이 결코 허용되지 않는 작업에 사용합니다.AUTO_APPROVE: 대기 시간이 지나면 진행합니다. 감독이 표본 점검 수준이면 충분한 저위험 작업에 적합합니다.AUTO_REJECT: 보류 중인 작업을 거부하고 에이전트가 거부 경로로 진행하게 합니다.ABORT: 실행을 즉시 종료합니다. 되돌릴 수 없거나 영향 범위가 큰 작업에 가장 안전한 선택입니다.
운영 환경을 견디도록 설계
승인 시스템의 진가는 최악의 날에 드러납니다. 검토 도중의 재시작, 같은 질문을 반복하는 에이전트, 관리 UI가 아니라 Slack에 머무는 승인자.
- 무진행 가드: EDDI는 모든 일시 중지에 지문을 만듭니다. 자동 결정 이후 동일한 지문이 다시 나타나면 무한 승인 루프로 인식하고, 토큰을 낭비하는 대신 순환을 끊습니다.
- 장애 복구: 보류 중인 승인은 서버 재시작 후에도 유지되고 타임아웃 타이머가 자동으로 재설정되므로, 롤링 배포가 진행 중이던 결정을 조용히 잃는 일이 없습니다.
- Slack 승인: 대화형 Block Kit 카드가 결정을 승인자에게 전달합니다. 인수 미리보기는 마스킹되고 승인자 화이트리스트로 권한이 있는 사람만 조작할 수 있습니다.
- MCP 승인: 외부 클라이언트가 보류 중인 승인을 조회하고 MCP 도구로 승인하거나 거부할 수 있습니다. 77개 도구의 일부이므로 IDE나 에이전트 클라이언트가 제어 평면이 됩니다.
거버넌스와 규정 준수
사람의 감독은 운영상의 선호가 아니라 규제 요건입니다. 승인 게이트는 EU AI법 제14조의 인적 감독에 구체적인 구현을 제공합니다. 지정된 담당자가 특정 작업을 승인하고 그 결정이 기록됩니다. EDDI의 규정 준수 프레임워크와 HMAC-SHA256 감사 추적을 결합하면, 에이전트가 무엇을 했는지뿐 아니라 누가 언제 허용했는지까지 감사인에게 제시할 수 있습니다.