LLM이 최종 결정권을 갖지 않도록 하면서 실제 세계의 행동을 수행하게 하세요
요약
AI 에이전트가 실제 세계에서 안전하게 행동할 수 있도록 하는 '안전한 자동화 제어 평면(SACP)' 패턴을 소개합니다. LLM에 직접적인 권한을 부여하는 대신, 결정 엔진, AI 모델 레이어, 아웃바운드 게이트웨이로 구성된 계층 구조를 통해 검증과 감사를 강제하는 설계 방식을 제안합니다.
핵심 포인트
- LLM은 결정권자가 아닌 제안자로 제한해야 함
- SACP를 통한 결정 엔진, 모델 레이어, 게이트웨이의 계층적 설계
- 실패 시 허용(fail open) 설정의 위험성 경고
- 비결정론적 AI를 결정론적 시스템 내에 배치하는 구조적 접근
대부분의 "AI 에이전트 (AI agent)" 튜토리얼은 모델을 실행에 직접 연결합니다:
사용자 질문 → 모델 결정 → 시스템 실행
데모용으로는 괜찮습니다. 하지만 행동이 카드를 결제하거나, 유료 채널로 메시지를 보내거나, 콘텐츠를 게시하거나, 플랜 제한을 위반할 수 있는 순간부터는 위험해집니다. "모델이 결정했다"는 것은 허용 가능한 감사 추적 (audit trail)이 아닙니다.
저는 프로젝트를 진행하며 동일한 가드레일 (guardrails)을 계속해서 재구축해 왔고, 그 과정에서 패턴을 추출했습니다: 안전한 자동화 제어 평면 (Safe Automation Control Plane, SACP).
한 줄 요약
AI는 제안합니다.
엄격한 규칙이 허용 여부를 결정합니다.
검증기 (Validators)가 실행 가능 여부를 결정합니다.
실행기 (Executors)는 검증된 결정만을 실행합니다.
모델은 결코 권한을 갖지 않습니다. 모델은 결정론적 (deterministic) 규칙이 그려놓은 상자 안에서 최적화를 수행하며, 모든 결정은 실행되기 전에 검증, 캐싱, 비용 산정 및 감사를 거칩니다.
세 가지 구성 가능한 요소
- 결정 엔진 (Decision Engine) — 모든 행동을 검증되고 감사된 결정으로 변환합니다. 규칙이 우선이고, AI가 그다음이며, 검증기가 마지막입니다.
- AI 모델 레이어 (AI Model Layer) — LLM이 거주하는 유일한 장소입니다: 모델 선택, 캐싱, 사용량 측정, 서킷 브레이킹 (circuit breaking), 스키마 검증 (schema validation), 프롬프트 인젝션 방어 (prompt-injection defense).
- 아웃바운드 게이트웨이 (Outbound Gateway) — 모든 외부 API 호출을 위한 하나의 통제된 문입니다: 토큰, 멱등성 (idempotency), 재시도 (retries), 브레이커 (breaker), 속도 제한 (rate limit), 비용 원장 (cost ledger).
가장 먼저 읽어볼 부분: 무엇이 망가졌는가
이 내용은 실제 운영 시스템에서 나온 것이므로, 이론이 아닌 실제 버그에 대한 lessons-learned 문서가 있습니다:
- 모델이 자신의 학습 데이터 차단 시점 (training cutoff) 기준의
expiresAt날짜를 반환했습니다 — 이미 과거의 날짜였습니다. 교훈: AI는 실제 시간을 알지 못합니다; 서버 측에서 시간 필드를 정규화(normalize)하세요. - 테스트 중에 게으른 레지스트리 (lazy registry)가 초기화되지 않아 정책 엔진이 모든 것을 조용히 허용했습니다. "실패 시 허용 (fail open)" 기본 설정은 장전된 총과 같습니다.
- 리프레시 토큰 경합 (refresh-token race): 두 작업자가 병렬로 토큰을 갱신하면서, 두 번째 작업자가 첫 번째 작업자가 이미 교체한 토큰을 소비하여 계정이 먹통이 되었습니다. 원자적 임대 (atomic lease)로 해결했습니다.
이들 중 대부분은 AI 버그가 아닙니다. 결정론적 (deterministic)이고 감사 가능한 (audited) 시스템 내부에 비결정론적 (non-deterministic) 구성 요소를 배치함으로써 발생하는 버그입니다.
시도해 보기
npm install sacp-core
...
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기