AI 개발 시 가장 짜증 나는 점은 요청하지도 않은 코드를 멋대로 바꾸는 것임. 내가 AI를 통제하는 방법.
The most annoying thing about building with AI is it changes code you didn't ask it to touch. Here's how I keep it in its lane.
핵심 요약
AI가 요청하지 않은 코드까지 수정하는 문제를 방지하기 위해, 특정 명령어를 설정해 AI의 범위를 제한하는 팁을 공유함.
- 코드 무단 수정 — AI가 기존 기능을 멋대로 바꾸는 문제 해결
- 명령어 설정 — 'Frozen', 'Minimal' 등 핵심 제약 조건 정의
- 일시 정지 요청 — 변경 전 영향도를 먼저 설명하게 유도
- 프롬프트 공유 — 세션 간 유지 가능한 명령어 세트 제공
AI로 작은 프로젝트 이상의 무언가를 만들어 본 적이 있다면 그 패턴을 알 것이다. 하나만 바꿔달라고 요청했는데, 이미 잘 작동하던 다른 함수 두세 개를 조용히 수정해 버려서, 한 시간 전에는 멀쩡했던 것들을 디버깅하느라 시간을 낭비하게 된다. 문제는 코드의 품질이 아니라, 모델이 요청한 것보다 더 많은 부분을 수정한다는 점이다.
나에게 효과적이었던 방법은 빌드 세션을 시작할 때 몇 가지 상시 지침을 설정하고 짧은 이름으로 참조하게 하는 것이다. 이렇게 하면 내가 따로 말하지 않는 한 기존에 잘 작동하던 부분은 건드리지 않게 된다:
For the rest of this session, follow these when I
name them:
Frozen = treat all existing functionality as fixed.
Change only what I explicitly ask for. Leave
everything else alone.
Minimal = make the smallest change that satisfies my
request, and keep everything else intact. If you
cannot do it without altering other parts, pause and
explain why first.
Changes-only = show me only what is different from the
previous version, not the whole file.
Impact = before you apply a change, tell me what
existing features it might affect.
Acknowledge these and wait for my first request.
Frozen과 Minimal이 대부분의 역할을 한다. Minimal에서 유용한 부분은 '일시 정지 후 설명' 단계다. 이 단계가 없으면 모델은 새로운 요청을 맞추기 위해 기존 코드를 재구성해 버린다. 이 단계를 넣으면 요청을 깔끔하게 처리할 수 없을 때, 파일을 절반이나 멋대로 수정하는 대신 왜 안 되는지 설명해 준다. 덕분에 검토하지도 않은 변경 사항 속에 숨겨진 진짜 설계 문제를 표면화할 수 있다.
이것들은 내가 빌드하고, 의사결정을 압박 테스트하고, 글쓰기를 다듬을 때 사용하는 더 큰 세트의 일부다. 각 명령어의 기능과 사용법, 그리고 세션 간 유지되도록 저장하는 방법을 포함한 50개의 명령어를 문서로 정리해 두었으니 도움이 필요하면 여기를 참고하길 바란다.


