에이전트가 설계하고, 리뷰하고, 수정하고, 머지한다 — 사람은 방향만 정한다.
Go 데몬 + HTTP 대시보드 + 7개 병렬 리뷰어 + 자율 백로그 소탕이 만드는 완전 자동화 개발 생태계.
Claude Code의 도구 호출을 세션을 넘어 영속적으로 관리하는 Go 데몬 프로세스. SQLite에 상태를 저장하고, Named Pipe(Windows) / Unix Socket(Linux)으로 IPC 통신한다. Hook이 밀리초 단위로 실행되는 환경에서 장기 상태 머신과 트랜잭션을 가능하게 만드는 핵심 인프라.
Claude Code의 Hook은 각 도구 호출 전/후에 실행되는 무상태 셸 스크립트다. 브랜치가 어떤 상태인지, 백로그 항목이 누구에게 할당됐는지, 빌드가 큐에 있는지 — 이런 정보를 Hook만으로는 추적할 수 없다. 데몬이 있어야 상태 기반 게이트가 가능해진다.
OPEN → FIXING → RESOLVEDFIXING → OPEN 롤백gh pr merge 실행 차단/api/ 경로로 프로그래매틱 접근 가능notify start --skip-design으로 바로 implementing 상태에 진입.
각 전이는 선행 상태를 검증하므로 잘못된 전환은 자동 차단된다.
apex-agent 데몬에 내장된 브라우저 기반 실시간 대시보드.
Go html/template + HTMX 2.0.4로 구현하여 외부 프레임워크 의존 없이 단일 바이너리에 내장된다.
SQLite DB의 상태를 1초 간격으로 폴링하여 브라우저에 실시간 반영하며,
빌드 lock, 핸드오프 상태, 백로그 현황, 큐 점유를 한 눈에 파악할 수 있다.
idle timer 연동으로 비활성 탭에서는 폴링을 자동 중단하여 리소스를 절약한다.
hx-get / hx-trigger로 서버 사이드 렌더링 + 부분 업데이트. 전체 페이지 새로고침 없이 실시간 갱신./api/dashboard, /api/backlog, /api/handoff, /api/queue — 프로그래매틱 접근을 위한 구조화된 JSON 응답.embed로 템플릿·CSS·JS를 바이너리에 내장 — 별도 파일 배포 불필요.코드 변경을 분석하고 7개 도메인 전문 리뷰 에이전트를 동시에 디스패치하는 자동 리뷰 시스템. 각 리뷰어는 자신의 전문 영역을 심층 분석하고, 발견한 문제를 직접 수정한다. 수정 불가능한 이슈는 등급·스코프와 함께 백로그에 자동 등록된다.
백로그에 쌓인 기계적 작업을 사람의 개입 없이 스캔→선별→구현→머지까지 완전 자율로 수행하는 시스템. 설계 판단이 필요한 항목은 자동으로 건너뛰고, 확실한 항목만 골라서 처리한다. 자율주행차의 "확신이 없으면 멈춘다" 철학을 소프트웨어 개발에 적용.
[FSD 분석] 태그를 달아 백로그에 기록. 나머지 항목은 계속 진행한다.
[FSD 분석] 주석이 달려 추후 추적 가능에이전트에게 자율성을 주면서 동시에 절대 위반할 수 없는 규칙을 강제해야 한다. Hook은 Claude Code의 PreToolUse 이벤트에 바인딩되어, 도구 실행 자체를 차단한다. 에이전트가 아무리 창의적으로 우회를 시도해도 Hook이 먼저 실행되므로 물리적으로 규칙 위반이 불가능하다.
| Hook | 이벤트 | 역할 | 타입 |
|---|---|---|---|
validate-build |
Bash | cmake, ninja, build.bat 직접 호출 차단 — apex-agent queue build만 허용 |
BLOCK |
validate-merge |
Bash | 머지 lock 미획득 상태에서 gh pr merge 실행 차단 |
BLOCK |
validate-handoff |
Bash / Write | 핸드오프 미등록 브랜치에서 Edit/Write/커밋 차단 | GATE |
enforce-rebase |
Bash (push) | push 전 자동 rebase 실행 — 충돌 시 차단+안내 | AUTO |
handoff-probe |
Edit / Write | 설계 단계에서 소스 파일(.cpp/.hpp) 편집 차단, 문서는 허용 | PROBE |
validate-backlog |
Edit / Write / Read | docs/BACKLOG.json 직접 접근 차단 — CLI(backlog list/show/add/...) 경유 필수 |
BLOCK |
하나의 기능이 착수부터 머지까지 거치는 전체 흐름. 각 단계에서 데몬과 Hook이 어떻게 개입하는지 보여준다.
JSON 파일 = git 백업 (메타데이터: 제목, 등급, 스코프)
SQLite DB = 운영적 진실 (상태, 타임스탬프)
Git 추적 가능한 메타데이터와 빠른 상태 쿼리를 동시에 달성.
Import-first Export로 두 소스 간 데이터 불일치를 원천 방지한다.
기존: 리뷰어가 "여기 문제있음"이라고 코멘트 → 개발자가 수정
혁신: 리뷰어가 문제를 찾으면 직접 코드를 고친다
7개 도메인 전문 에이전트가 병렬로 분석하므로
사람 리뷰어 1명이 순차로 훑는 것보다 빠르고 빈틈이 없다.
"확신이 없으면 멈춘다"
FSD-Backlog는 명확한 해법이 있는 항목만 처리하고,
설계 판단이 필요한 건 태그를 달고 건너뛴다.
자동화의 범위를 점진적으로 넓히면서도
사고를 일으키지 않는 안전한 확장이 가능하다.
Go 템플릿 + HTMX로 구현한 브라우저 대시보드.
DB 상태를 1초 폴링으로 시각화.
외부 프레임워크 없이 net/http 표준 라이브러리만으로 단일 바이너리에 내장.
대시보드를 통해 빌드 lock PID 버그를 발견하여 즉시 수정 —
모니터링 도구가 시스템 신뢰성을 직접 높인 사례.
에이전트에게 "이것은 절대 하지 마"라고 프롬프트에 쓰는 것만으로는 부족하다. Hook이 도구 실행 레벨에서 물리적으로 차단하므로 에이전트의 hallucination이나 창의적 우회가 불가능하다.
Hook은 ~100ms 안에 실행되어야 하므로 장기 상태를 자체적으로 관리할 수 없다. Go 데몬이 세션 전체에 걸쳐 상태를 유지하고, 모든 Hook과 자동화 시스템이 IPC로 상태를 조회·변경한다.
Windows(Named Pipe)와 Linux(Unix Socket) 모두 지원.
run-hook 스크립트가 플랫폼을 감지하고
적절한 바이너리를 실행한다.
Go의 크로스 컴파일로 단일 코드베이스, 이중 배포.
| 컴포넌트 | 지표 | 상세 |
|---|---|---|
| apex-agent | 8,000+ LOC (Go) | Backlog 1,928 + Handoff 1,131 + Queue 393 + Hook 133 + httpd + IPC/daemon + CLI |
| Auto-Review | 7 parallel agents | docs-spec, docs-records, logic, systems, test, design, infra-security |
| FSD-Backlog | 4-phase pipeline | Scan → Select → Implement → Merge (confidence-gated) |
| Hook Gates | 6 enforcement points | build, merge, handoff, rebase, edit-probe, backlog |
| HTTP Dashboard | 4 pages | Dashboard, Backlog, Handoff, Queue — HTMX 1s polling, JSON API |
| DB Migrations | v1 → v3 | AUTOINCREMENT, case normalization, junction table, git_branch fallback |
| State Machines | 3개 | Handoff (7-state), Backlog (3-state), Queue (FIFO) |
| IPC | JSON over pipe/socket | Windows Named Pipe + Linux Unix Socket, 자동 플랫폼 감지 |
| 테스트 | ~2,000 LOC | 유닛 + E2E (in-process daemon), -race flag on CI |
이 생태계의 핵심은 단순한 "AI 도구"가 아니라 자기 규율을 갖춘 자율 시스템이라는 점이다.
apex-agent는 영속 상태를 관리하는 뇌이고, 6개의 Hook은 규칙을 물리적으로 강제하는 울타리이며, Auto-Review는 품질을 보장하는 눈이고, FSD-Backlog는 기계적 작업을 소화하는 손이며, Dashboard는 전체를 조망하는 시야다.
이 다섯 가지가 유기적으로 결합되어, 사람이 "무엇을 만들 것인가"에만 집중할 수 있는 환경을 만든다. 브랜치 생성부터 코드 리뷰, 백로그 정리, 실시간 모니터링, 머지까지 — 개발의 모든 기계적 단계를 에이전트가 자율적으로 수행한다. 이것이 AI Agent-Driven Development의 현재이자, 소프트웨어 개발의 미래다.