
728x90

AI 코딩 도구(Codex, Copilot 등)를 쓰다 보면 이런 상황 한 번쯤 겪는다.
“이 부분만 고쳐달라고 했는데… 파일 전체를 갈아엎어버림 😇”
특히 기존 레거시 코드나 안정적으로 돌아가는 로직이 있을 때,
AI가 과하게 리팩토링하면 머지 지옥이 시작된다.
오늘은 이걸 깔끔하게 해결하는 방법을 정리해본다.
🔥 문제 상황
예를 들어 이런 요청을 한다고 해보자.
year 파라미터 검증 로직만 추가해줘
그런데 Codex는:
- 들여쓰기 바꿈
- 변수명 변경
- 함수 구조 변경
- 불필요한 리팩토링까지 수행
결과:
👉 “뭐가 바뀐 건지 diff가 안 보임”
✅ 해결 전략 핵심 3가지
1. 무조건 work branch에서 작업
git checkout -b codex/task-name
👉 절대 main에서 바로 작업하지 말 것
이 한 줄이 사고 80%를 막는다.
2. Codex에게 “작업 방식”을 명확히 지시
이거 진짜 중요하다.
현재 브랜치에서만 작업해.
기존 코드 구조는 유지하고 최소 수정만 해.
불필요한 리팩토링 하지 마.
작업 후 git diff 요약을 보여줘.
커밋하지 마.
👉 Codex는 지시 안 하면 과하게 수정하는 습관 있음
3. 필요한 부분만 선택 머지 (git add -p)
핵심 기술
git diff
git add -p
이걸로:
- 좋은 수정만 선택
- 이상한 리팩토링은 버림
👉 “AI 코드 = 전부 수용”이 아니라
👉 “필터링해서 사용”
🧪 실전 연습 시나리오
시나리오 1: 오타만 수정
Codex 요청:
오타만 수정하고 다른 건 절대 건드리지 마
확인:
git diff
선택 반영:
git add -p
시나리오 2: 일부 기능만 추가
year 파라미터 검증 로직만 추가해
기존 주차 계산 로직은 건드리지 마
👉 Codex가 많이 건드리면?
git add -p
👉 검증 코드만 가져오기
시나리오 3: patch 방식 (강력 추천)
Codex 요청:
원본 파일은 수정하지 말고
unified diff patch 형식으로만 만들어줘
결과 적용:
git apply fix.patch
👉 가장 깔끔한 방식
시나리오 4: 브랜치 비교 후 가져오기
git diff main...codex/task-name
특정 파일만 가져오기:
git checkout codex/task-name -- file.php
시나리오 5: 커밋 단위로 가져오기
Codex 브랜치:
git add -p
git commit -m "Add validation"
main에서:
git cherry-pick 커밋해시
👉 안정적인 운영 방식
💡 추천 워크플로 (실전용)
이거 하나만 기억해도 충분함:
git checkout -b codex/task
# Codex 작업
git diff
git add -p
git commit -m "필요한 변경만 반영"
git checkout main
git cherry-pick 커밋해시
⚠️ Codex 사용할 때 주의점
- ❌ “전체 리팩토링 해줘” → 위험
- ❌ main 브랜치에서 작업 → 매우 위험
- ❌ diff 확인 없이 머지 → 재앙
🚀 결론
Codex는:
❌ “자동 코드 생성기”가 아니라
✅ “코드 제안 도구”로 써야 한다
핵심은 이거 하나:
👉 “AI가 만든 코드는 항상 선택해서 반영하라”
👍 한 줄 요약
Codex는 똑똑하지만 과하다.
그래서 Git으로 제어해야 한다.

반응형
'WEB - PHP, JQuery, Bootstrap' 카테고리의 다른 글
| 바이브 코딩 최적화 전략(PHP 기준): 성능 하한은 높이고 토큰은 아끼는 현실적인 기술스택 추천 (1) | 2026.03.21 |
|---|---|
| CodeIgniter 4 + Shield 설치부터 Cafe24 웹호스팅 배포 (1) | 2025.10.07 |
| .NET MVC5에서 OneDrive API(Microsoft Graph)로 파일 업로드 (8) | 2025.08.13 |
| 가독성 높은 JavaScript Array 순회 방법 TOP 4 (2) | 2024.11.11 |
| JavaScript 정밀 연산 라이브러리 TOP 4: big.js, bignumber.js, decimal.js, math.js (5) | 2024.09.24 |