어두운 격납고의 거대한 게이트 사이로 통제된 오렌지 빛줄기가 통과하는 이미지

AI 자동화 함대 — 거버넌스를 코드로

개인 Mac 한 대에서 도구 58종 MCP 데몬과 150+개의 자율 루프를 운영한다. 핵심은 모델이 아니라 승인 게이트·감사 로그·회로차단기 — 거버넌스-as-코드.

2025–2026 (개인 프로젝트, 운영 중)아키텍처·구현·운영 전부 (1인)

  • TypeScript
  • MCP
  • Ollama/MLX (로컬 LLM)
  • launchd/cron
  • Discord
58종실측MCP 데몬이 노출하는 도구 수
150+실측단일 원장으로 관리되는 자율 루프
$0실측월 종량 과금 (구독 제외 클라우드 비용)

문제

에이전트 데모와 신뢰할 수 있는 운영 시스템 사이의 간극은 모델 성능이 아니다. 승인 없이 행동하는 에이전트, 감사할 수 없는 결정, 상한 없는 비용 — 이 세 가지다. 개인 환경에서라도 이 간극을 정면으로 메우는 시스템을 만들어 운영해보고 싶었다.

접근

개인 Mac 한 대를 상시 호스트로, 세 층으로 쌓았다.

  1. 도구 계층 — MCP 데몬. 메일·캘린더·파일·브라우저·셸 등 58종 도구를 Model Context Protocol로 노출한다. 변경을 일으키는 행동은 정책에 따라 사람 승인을 요구하고, 모든 호출이 감사 로그에 남으며, 정책 결정은 “왜 차단됐는지” 설명 가능하다.
  2. 운영 계층 — 자율 루프 원장. 메일 정리, 뉴스 수집, 보안 스캔, 백업 검증 같은 반복 작업 150+개(실측 157개)를 단일 레지스트리로 관리한다. 각 루프는 실패 시 침묵하지 않고 알림 채널로 떠오른다(fail-closed-loud). 새 루프는 게이트(런북+린트)를 통과해야 등록된다.
  3. 통제 계층 — 회로차단기와 상한. 외부로 게시·발송하는 행동에는 횟수 상한과 회로차단기, 하드 deny 목록, 킬스위치가 있다. 프런티어 모델이 없어도 로컬 모델만으로 전체가 동작하도록 설계했다 — 비용 상한이 아니라 비용 구조 자체를 $0으로 고정했다.

결과

  • 도구 58종·자율 루프 150+개가 단일 호스트에서 수개월째 무중단 운영 중이다.
  • 종량 과금 0원 — 로컬 LLM(Ollama/MLX)과 무료 티어의 조합으로, 지출이 “절약”이 아니라 구조적으로 불가능하게 만들었다.
  • 실수했던 것들도 시스템이 남긴다: 잘못된 재시작으로 장애를 만든 기록, 루프 이중 발화 같은 결함이 감사 로그와 사후 문서로 남아 다음 설계를 바꿨다.

한계와 실패 모드

  • 개인 프로젝트다. 조직 환경의 권한 분리·다중 사용자·규정 준수 요구는 다루지 않는다.
  • 단일 호스트 구조라 그 Mac이 죽으면 전체가 멈춘다 — 가용성보다 통제 가능성을 우선한 선택이다.
  • 승인 게이트는 피로를 만든다. 어떤 행동을 자동 승인할지의 정책 튜닝은 끝나지 않는 작업이다.
  • “완전 자율”이 아니며, 그렇게 만들 생각도 없다 — 사람의 사후 거부권(veto)이 설계의 일부다.

배운 것

거버넌스는 에이전트에 나중에 붙이는 안전장치가 아니라 아키텍처의 1층이다. 승인·감사·상한을 먼저 깔면, 그 위의 자동화는 과감해질 수 있다. 순서가 반대면 아무것도 못 믿는다.