AI 도서관 · Claude · 단축 명령어 · 바이브코딩
고쳤다는데 또 같은 오류. 세 번째부터는 방법을 바꿔야 합니다
📌 흔한 늪
오류가 난다 → 고쳐준다 → 또 같은 오류 → 또 고친다 → 다른 오류
이걸 반복하다 보면 처음보다 더 엉킵니다.
📌 세 번 반복되면 멈추세요
같은 자리에서 세 번 실패했다는 건 **원인을 못 찾고 증상만 건드리고 있다**는 뜻입니다.
네 번째도 같은 결과가 나옵니다.
[ 빠져나오는 지시문 ]
같은 오류가 계속 나고 있어. 고치려 하지 말고 먼저 정리해줘.
① 지금까지 시도한 것과 각각 왜 안 됐는지
② 이 오류가 정확히 무엇을 뜻하는지 — 쉬운 말로
③ 원인 후보를 가능성 순으로. 각각 어떻게 확인하는지도
④ 내가 알려주지 않았지만 네가 가정하고 있던 것
⑤ 지금 코드에서 이 오류와 상관없는데 이미 망가진 부분이 있는지
고치는 건 원인을 정한 다음에 하자.
{{INPUT}}
📌 ④가 자주 범인입니다
"파일이 이 위치에 있을 것", "이 값이 항상 들어올 것" 같은
말 안 한 가정이 어긋나 있는 경우가 많습니다.
[ 그래도 안 되면 — 되돌리기 ]
오류를 고치는 것보다 **되돌리는 게 빠를 때**가 있습니다.
마지막으로 잘 돌아가던 시점으로 돌아가고 싶어.
① 지금까지 바꾼 것 중 무엇을 되돌려야 하는지
② 되돌리면 잃는 것이 무엇인지
③ 되돌린 다음에 다르게 접근할 방법
💡 잘 돌아갈 때마다 저장해두세요
되돌릴 지점이 없으면 되돌릴 수도 없습니다.
한 덩어리가 완성될 때마다 사본을 남기거나 커밋하세요.
이게 바이브코딩에서 가장 값어치 있는 습관입니다.
{{INPUT}} 자리에 내 내용을 넣어 쓰는 프롬프트입니다. 아래 버튼으로 열면 넣는 칸이 나옵니다.
언제 쓰나 · 고쳤다는데 같은 오류가 세 번째 나올 때
(가상의 상황입니다) 오류 메시지 TypeError: Cannot read properties of undefined (reading 'name') at renderList (app.js:62) 지금까지 시도한 것 1. AI 가 62번째 줄에 물음표를 붙여줬는데 화면이 빈 채로 나옵니다 2. 데이터를 불러오는 부분을 다시 써줬는데 같은 오류가 납니다 3. 페이지를 새로고침하면 가끔 되고 가끔 안 됩니다 제가 아는 것: 목록 화면에서만 나고, 상세 화면은 멀쩡합니다
우리가 쓴 예시입니다. 실제 실행 결과가 아니고, 답변은 매번 조금씩 다릅니다.
① 지금까지 시도한 것과 왜 안 됐는지
1 물음표(옵셔널 체이닝)는 오류를 없앤 게 아니라 가린 것입니다.
값이 없으면 화면이 비는 이유가 이것입니다
2 불러오는 코드를 바꿔도 같은 오류가 난다면 원인이 그 부분이 아닐 가능성
3 「가끔 된다」는 타이밍 문제를 가리키는 신호입니다
② 이 오류가 무엇을 뜻하나
62번째 줄에서 어떤 값의 name 을 꺼내려 했는데, 그 값 자체가 아직 없었습니다.
③ 원인 후보 (가능성 순)
1 자료가 도착하기 전에 화면을 그린다 — 확인법: 그리기 직전에 값이 있는지 찍어보기
2 자료는 왔는데 모양이 예상과 다르다 — 확인법: 받은 자료를 통째로 찍어보기
3 목록 중 일부 항목에만 name 이 없다 — 확인법: 몇 번째에서 멈추는지 보기
④ 내가 가정하고 있던 것 (알려주지 않으신 것)
• 목록 자료가 항상 배열로 온다
• 모든 항목에 name 이 있다
• 화면을 그릴 때 자료가 이미 도착해 있다
→ 「가끔 된다」는 세 번째 가정이 어긋났을 때 나타나는 모습입니다
⑤ 이 오류와 상관없이 이미 망가진 곳
〈있으면 여기에〉
⚠️ 원인을 정하기 전에 고친 코드를 내놨다면 잘못 나온 것입니다.고치지 말고 먼저 정리해줘. 원인을 정한 다음에 고치자. 내가 알려주지 않았는데 네가 가정하고 있던 것을 다시 꺼내줘. 이미 시도해서 안 됐던 방법은 빼줘.