AI 코딩 에이전트가 작업 범위를 벗어나지 않았는지 확인하는 도구가 있을까요?
Is there any tool that clearly checks whether an AI coding agent stayed inside the task I gave it?
핵심 요약
AI 코딩 에이전트가 요청한 작업 외의 변경을 수행하는 문제를 방지하기 위해 작업 범위를 검증하는 도구에 대한 논의.
- 작업 범위 검증 — 에이전트가 허가된 범위를 벗어나 코드를 수정하는 문제를 해결함.
- 의도 계층 필요성 — 단순한 git diff를 넘어 작업의 의도와 허용 범위를 파악하는 계층이 필요함.
- Ripple 프로젝트 — 에이전트의 변경 사항이 승인된 범위를 벗어났는지 확인하는 로컬 도구 개발 중.
- 안전 장치 논의 — 결정론적 가드와 LLM 기반 검증을 결합한 다층적 방어 체계에 대한 의견 교환.
AI 코딩 에이전트를 사용할 때 계속 같은 문제가 보여서 질문합니다.
에이전트에게 좁은 범위의 작업을 주면, 가끔 그 작업 외의 추가적인 변경을 해버립니다.
간단한 예시를 들자면:
이런 함수가 있는 레포에서 테스트해 봤습니다:
// 승인된 작업
src/merge.ts::mergeHeaders
의도한 지시는 오직 이것뿐이었습니다:
Refactor/fix mergeHeaders()
하지만 에이전트는 근처의 다른 함수도 변경했습니다:
src/merge.ts::mergeHooks
두 번째 변경 사항은 유용해 보일 수도 있습니다.
하지만 제 진짜 질문은 단순히 이것이 아닙니다:
코드가 좋은가?
제 진짜 질문은 이것입니다:
에이전트가 mergeHooks()를 수정하도록 허락받았는가?
이건 AI 코딩 워크플로우에서 빠진 계층처럼 느껴집니다.
Git diff는 무엇이 변경되었는지는 보여주지만, 다음 질문에는 명확히 답하지 못합니다:
승인된 작업은 무엇이었나?
에이전트가 편집하도록 허용된 파일/함수는 무엇인가?
에이전트가 그 경계를 넘었는가?
계속 진행할 것인가, 수정할 것인가, 아니면 사람의 검토를 위해 멈출 것인가?
저는 이 아이디어를 중심으로 Ripple이라는 로컬 도구를 만들고 있습니다.
흐름은 이렇습니다:
- 편집 전에 승인된 작업을 저장
- AI 에이전트가 변경하도록 함
- 편집 후 스테이징된 diff를 확인
- 에이전트가 승인된 경계를 넘었는지 감지
- 계속/수정/사람의 검토 중 하나를 반환
예시 출력:
Approved: src/merge.ts::mergeHeaders
Changed outside approved boundary: src/merge.ts::mergeHooks
Decision: STOP / repair
Risk: HIGH
Reason: Agent changed a symbol outside the approved function boundary.
다른 개발자들은 이 문제에 대해 어떻게 생각하는지 궁금합니다.
AI 에이전트가 유용하지만 승인되지 않은 변경을 할 때, PR 리뷰 전에 그걸 잡아내는 게 중요한가요?
아니면 일반적인 git diff만으로 충분한가요?

