AI 에이전트가 작업 범위를 벗어나지 않았는지 어떻게 확인하시나요?
How do you verify if an AI agent actually stayed inside the task you gave it?
핵심 요약
AI 코딩 에이전트의 무분별한 코드 변경을 방지하고 작업 범위를 강제하는 로컬 도구 'Ripple'을 개발했습니다.
- 작업 범위 이탈 — AI가 의도치 않게 범위를 벗어나 코드를 수정하는 문제 발생
- Ripple 도구 — 로컬 체크포인트와 훅을 통해 승인된 범위 외 변경을 차단함
- 리뷰 패킷 생성 — 변경 사항을 강제 삭제하지 않고 터미널에 명확한 리뷰 패킷을 출력함
- 로컬 보안 — 클라우드 업로드 없이 100% 로컬 환경에서 작동함
[블록 1/18] AI 코딩 에이전트에게 좁은 범위의 작업(예: "이 함수 하나만 고쳐줘")을 줄 때,
[블록 2/18] 가끔은 에이전트가 제멋대로 행동해서 그 경계 밖의 것들을 완전히 바꿔버리곤 함.
[블록 3/18] "도움이 되려고" 그랬다는 이유로 말이지.
[블록 4/18] 방대한 git diff에서 승인되지 않은 추가 변경 사항을 수동으로 찾는 건 정말 고통스러운 일임. git diff는 무엇이 바뀌었는지만 알려줄 뿐, AI가
[블록 5/18] 실제로 무엇을 변경하도록 승인받았는지는 알려주지 않거든.
[블록 6/18] 이걸 자동으로 잡아내고 싶어서, 나는
[블록 7/18] Ripple이라는 오픈 소스 도구를 만들었음.
[블록 8/18] 이건 간단한 로컬 체크포인트로 작동함:
[블록 9/18] 1. AI가 편집하기 전에 승인된 경계를 저장함(MCP 서버 사용).
[블록 10/18] 2. AI가 작업을 마치고 git commit을 시도하면, 로컬 훅이
[블록 11/18] 스테이징된 파일들을 검사함.
[블록 12/18] 3. AI가 승인된 경계 밖의 무언가를 건드렸다면, 커밋이 차단됨.
[블록 13/18] 단순히 일반적인 에러를 던지는 대신, 터미널에 명확한 리뷰 패킷(Review Packet)을 출력함. 다음 내용을 정확히 보여줌: - 원래 승인된 범위가 무엇이었는지. - AI가 그 범위 밖에서 건드린 파일이나 함수가 무엇인지.
[블록 14/18] 코드를 자동으로 삭제하지는 않음(AI의 추가 변경 사항이 실제로 필요할 때도 있으니까). 대신 워크플로우를 일시 중지해서 사람이
[블록 15/18] 리뷰 패킷을 보고 추가된 파일을 되돌릴지, 아니면 더 넓은 범위를 명시적으로 승인할지 결정하게 함.
[블록 16/18] 100% 로컬에서 실행됨. 클라우드 업로드나 계정 생성도 없음.
[블록 17/18] 방금 npm에 V1을 배포했음(@getripple/cli). 이런 종류의
[블록 18/18] 경계 검사가 여러분의 워크플로우에 유용할지, 아니면 그냥 수동 PR 리뷰에 의존해서 AI 환각을 잡아내고 있는지 궁금함.


