AI 에이전트가 원하지 않는 코드 변경을 하지 않도록 하는 방법

발행: (2025년 12월 11일 오후 07:53 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

Cover image for How to Stop Your AI Agent From Making Unwanted Code Changes

AI 에이전트는 종종 뛰어나지만 과도하게 열정적인 인턴과 같다 — 도와주고 싶어하지만 때때로 너무 과하게 행동한다. 명확한 지시를 주어도 가끔 “이것도 고쳐볼게…” 라고 스스로 판단하고, 갑자기 코드베이스에 요청하지 않은 변경 사항이 생긴다.

이는 최신 LLM이 도움을 주는 방향으로 학습되었기 때문이다. 소프트웨어 프로젝트에서는 “과도하게 도움이 되는” 것이 곧 혼란으로 이어질 수 있다. 작은, 의도치 않은 편집이 수십 개의 수정된 파일 안에 숨어 있을 수 있다. git diff 로 수동으로 검토하는 것은 고통스럽고, 에이전트에게 되돌리라고 요청하는 것은 더 악화된다 — 에이전트는 파일 상태를 기억하지 못하고 대화만 기억한다.

해결책은 복잡하지 않다. 고전적인 엔지니어링 원칙, 즉 버전 관리다. 우리는 이미 일찍 그리고 자주 커밋을 하므로, 같은 규칙을 AI 에이전트에도 적용하면 된다. 아래는 goose 를 사용해 깨끗한 스냅샷과 손쉬운 롤백을 보장하는 워크플로우다.

1. 버전 관리 설정

  • GitHub 사용.
  • GitHub CLI(gh)가 잘 작동한다. goose가 이를 완벽히 연동한다.
  • GitHub MCP Server도 워크플로우에 더 맞다면 좋은 대안이다.

2. 항상 먼저 브랜치를 만든다

에이전트가 main 에 직접 작업하도록 두지 말라.
기능 브랜치에서 시작해 에이전트의 변경 사항을 격리하고 되돌릴 수 있게 한다.

3. 컨텍스트 파일에 규칙 추가

진짜 게임 체인저다. .goosehints 혹은 AGENTS.md 파일에 다음 줄을 넣는다:

Every time you make a change, make a commit with a clear message.

이 한 줄의 규칙이 협업 전체를 바꾼다:

  • 자동 체크포인팅을 강제한다.
  • 에이전트의 결정 과정을 완벽한 연대기 형태로 남긴다.
  • git 히스토리를 즉시 실행 취소 시스템으로 만든다.

숨겨진 편집을 수동으로 찾을 필요가 없어졌다.

4. 자신감을 가지고 작업한다

규칙을 적용했으면 에이전트가 자유롭게 빌드, 리팩터링, 수정하도록 두어라.
만약 에이전트가 탈선하더라도 필요한 것은 다음뿐이다:

git log          # 단계 확인
git diff         # 변경 내용 검토
# 혹은 간단히:
git revert       # “Revert to commit abc123.”

워크플로우가 투명하고 되돌릴 수 있게 된다.

결과

한 가지 간단한 습관 — 자주 커밋 — 을 적용함으로써 AI‑지원 개발에서 오는 불안을 없앨 수 있다. 에이전트는 여전히 도움이 되지만 당신은 통제권을 유지한다.

  • 수십 개 파일을 뒤져서 악성 변화를 찾을 필요가 없다.
  • 에이전트가 “기억한다”는 기대도 사라진다.
  • 레포에 숨은 깜짝 편집도 없다.

깨끗한 커밋, 명확한 히스토리, 그리고 완전한 자신감만 있으면 된다. 다음 프로젝트에 goose를 사용해 보라—미래의 당신(그리고 git 히스토리)이 고마워할 것이다.

Thumbnail credit: https://petesena.medium.com/

Back to Blog

관련 글

더 보기 »