Reticle이 AI 코딩 에이전트의 '완료' 주장을 실행으로 검증한다
AI 코딩 에이전트가 "고쳤습니다"라고 말할 때 그 말이 사실인지 확인하는 도구가 나왔다. GitHub에 공개된 오픈소스 프로젝트 Reticle은 에이전트가 만든 변경을 실제로 실행 중인 웹·데스크톱 앱 위에서 돌려보고, 그 결과를 판정으로 돌려준다. 화면 캡처가 아니라 통과·실패·판단 불가 중 하나의 결론과, 고쳐야 할 파일과 줄 번호까지 함께 준다는 점이 핵심이다.
구조는 이렇다. 앱 안에 개발 전용 SDK를 심고, 에이전트는 MCP 도구를 통해 그 SDK로 앱을 조작하고 관찰하고 단언한다. 그러면 에이전트는 화면에 보이는 것 너머까지 읽을 수 있다. 클릭 한 번이 어떤 요청을 보냈고 응답이 무엇이었는지, 스토어의 실제 상태가 어떤지, 콘솔에 무엇이 찍혔는지, 각 요소가 소스의 어느 줄에서 왔는지가 판정의 근거로 첨부된다. 상태 관리 쪽은 zustand, Redux, TanStack Query, Pinia 등을 지원하고 React 렌더 횟수와 요청 수 같은 지표도 함께 본다.
판정 원칙이 눈에 띈다. 확실한 "예"만 통과로 인정한다. 검증이 결론을 내리지 못하면 이유를 붙여 판단 불가로 돌려보내며, 조용히 초록불을 켜는 일은 없다. 이 설계는 검증 도구가 흔히 빠지는 함정, 즉 확인하지 못한 것을 확인한 것처럼 처리하는 문제를 겨냥한다.
한 번 통과한 여정은 플로우로 저장해 AI 모델 없이 결정적으로 다시 돌릴 수 있다. 같은 경로를 매번 새로 추론하지 않아도 되니, 이번 주의 수정이 지난주 기능을 조용히 깨뜨렸는지 값싸게 확인할 수 있다. CI에서는 reticle gate가 저장된 플로우의 코드를 건드렸는데 새로 통과한 실행 기록이 없으면 변경을 실패로 처리한다.
지원 범위는 넓은 편이다. Claude Code, Cursor, Codex, Windsurf, VS Code, Gemini CLI를 비롯해 MCP를 말하는 에이전트면 붙는다. 프레임워크는 React, Next.js, Vue, Svelte, Angular 같은 웹 진영과 Electron, Tauri 데스크톱을 커버한다. Node 20.11 이상이 필요하고, 로컬에서 개발 서버를 띄울 수 있는 앱이 전제다. 설치 후에는 앱 안에 뜨는 HUD로 에이전트가 어떤 행동을 했고 어떤 판정이 나왔는지 지켜볼 수 있다.
왜 이런 도구가 필요한지는 코딩 에이전트의 성격에서 나온다. 에이전트는 변경을 만들어내도록 설계된 존재라 낙관적이다. 반면 검증은 "아니오"를 들고 돌아올 준비가 된 작업이다. 이 비대칭이 그대로 남으면 깨진 모달, 조용한 500 응답, 실패한 배포 위의 "배포 성공" 메시지가 그대로 릴리스된다. 결국 사람이 클릭해가며 에이전트의 QA를 대신하게 되는데, Reticle은 그 역할을 앱 내부 관찰로 되돌리려 한다.
보안과 배포 쪽 전제도 명시돼 있다. SDK는 프로덕션 빌드에 포함되지 않고, 브리지는 127.0.0.1에서만 대기한다. 판정은 로컬에서 계정 없이 이뤄지며, 프로젝트를 연결하지 않는 한 앱의 DOM·네트워크 본문·콘솔·상태·소스가 기기 밖으로 나가지 않는다. 기본으로 켜지는 익명 사용량 통계는 reticle telemetry disable이나 환경변수로 끌 수 있다. 수집 데이터의 비밀번호·토큰·카드번호는 보기 전에 [REDACTED]로 치환되고, 페이지 안에서 임의의 자바스크립트를 실행하는 도구는 아예 제공하지 않는다. 라이선스는 SDK·어댑터·코어·엔진이 Apache-2.0, 서버와 CLI는 FSL-1.1-ALv2로 2년 뒤 Apache-2.0으로 전환된다.
설치가 손대는 범위는 알아둘 필요가 있다. 개발 의존성과 빌드 설정, reticle-dev 파일 하나에 더해 CLAUDE.md, AGENTS.md, RETICLE.md 같은 에이전트용 문서와 각 에이전트의 프롬프트 훅 설정까지 건드린다. 기존 파일은 덮어쓰지 않고 덧붙이는 방식이며, --no-mcp나 --no-prompt-capture로 건너뛸 수 있고 init --dry-run으로 아무것도 쓰지 않고 계획만 확인할 수 있다. 검증 도구가 개발 모드 앱 안에 들어가는 구조인 만큼, 프로덕션 번들에서 확실히 빠지는지와 로컬 서비스 포트 정책은 팀에서 한 번 확인해두는 게 좋다.
실무적으로 달라지는 지점은 분명하다. 에이전트의 완료 보고를 사람이 매번 재현해보는 대신, 실행 근거가 붙은 판정을 받아 리뷰에 붙일 수 있다. 저장된 플로우와 CI 게이트를 조합하면 회귀 감시를 에이전트 작업 흐름 안으로 끌어들일 수 있다는 것도 이 도구가 던지는 제안이다.