기초편과 확장편을 따라오면서, 이제 어떤 요청이 좋은지에 대한 감은 어느 정도 잡혔을 겁니다. 문제는 그다음입니다. 처음 한두 번은 괜찮은데, 대화가 길어지기 시작하면 어느 순간부터 AI가 자꾸 예전 맥락을 붙잡고 있거나, 이미 정리한 기준을 다시 묻거나, 이번 단계와 상관없는 방향으로 답을 넓혀버리는 순간이 생깁니다.

이럴 때 많은 사람이 “아까 분명 말했는데 왜 또 이러지?”라는 답답함을 느낍니다. 그런데 이건 꼭 AI가 멍청해서라기보다, 긴 대화 안에서 무엇을 계속 유지해야 하고 무엇은 이번 작업에서만 잠깐 필요한지가 정리되지 않았기 때문인 경우가 많습니다. 즉, 문제는 문장을 잘 못 쓴 것이 아니라 맥락을 운영하는 방식에 있는 경우가 적지 않습니다.

이번 확장편 마지막 글에서는 바로 그 부분을 다뤄보겠습니다. 핵심은 긴 대화를 무조건 오래 끌고 가는 것이 아닙니다. 반복해서 유지할 기준은 따로 묶고, 지금 작업에만 필요한 정보는 별도로 정리하고, 대화가 꼬이기 시작하면 새 대화로 안전하게 넘기는 법을 익히는 데 있습니다. 이 감각이 붙으면, AI와의 작업은 훨씬 덜 즉흥적으로 바뀝니다.

이번 글에서 먼저 잡아둘 핵심
겉으로 보이는 문제 실제로는 무엇이 부족한가 먼저 정리할 것
AI가 예전에 하던 설명을 또 반복한다 현재 목표와 이전 목표가 분리되지 않았다 지금 단계 목표를 한 문장으로 다시 고정한다
매번 같은 설명 스타일과 제약을 다시 적는다 반복 지침이 따로 정리되어 있지 않다 공통 지침을 짧은 템플릿으로 묶는다
대화가 길어질수록 답이 흔들린다 계속 끌고 갈 정보와 새로 시작할 정보가 섞여 있다 인수인계용 요약을 만들고 새 대화로 넘긴다

이번 글의 핵심 한 줄
긴 대화를 잘 운영한다는 것은 대화를 오래 끄는 일이 아니라, 반복해서 유지할 기준과 이번 작업에만 필요한 맥락을 분리해서 관리하는 일에 가깝습니다.


왜 대화 맥락 관리가 중요한가

바이브 코딩을 조금만 해보면, 문제는 좋은 한 번의 프롬프트를 쓰는 데서 끝나지 않는다는 걸 금방 느끼게 됩니다. 처음에는 “검색 기능 추가해줘”, “이 에러를 고쳐줘”, “이 코드 설명해줘”처럼 개별 요청 하나하나가 중요해 보입니다. 그런데 실제 작업은 그렇게 딱 끊기지 않습니다. 검색 기능을 붙이다가 필터와 충돌하고, 그걸 고치다가 summary 문구를 다시 손보게 되고, 그다음에는 테스트와 정리까지 이어집니다.

즉, 실제 작업은 하나의 멋진 요청보다 여러 개의 작은 요청이 이어지는 흐름에 가깝습니다. 이때 공통 기준이 따로 없으면, 매번 말투와 출력 형식, 제약, 우선순위를 처음부터 다시 적어야 합니다. 반대로 현재 작업 요약이 없으면, 방금까지 무슨 문제를 다루고 있었는지도 흐려지기 쉽습니다.

  • 반복 지침이 없으면 매번 같은 기준을 다시 써야 합니다.
  • 현재 작업 요약이 없으면 예전 목표와 지금 목표가 섞이기 쉽습니다.
  • 대화가 길어진다고 해서 무조건 맥락이 좋아지는 것은 아닙니다.
  • 오히려 오래된 지시와 새 지시가 뒤섞이면 답이 더 흔들릴 수 있습니다.

초보자가 특히 자주 겪는 문제는 두 가지입니다. 하나는 같은 말을 너무 자주 반복하게 되는 피로이고, 다른 하나는 이미 지나간 작업 단계의 맥락이 현재 작업에 계속 끼어드는 문제입니다. 예를 들어 지금은 검색 기능만 다루고 싶은데, 예전에 이야기했던 저장 기능이나 리팩터링 방향이 계속 답변에 섞이는 식입니다.

핵심 포인트
좋은 맥락 관리는 정보를 많이 쌓는 일보다, 어떤 정보는 계속 유지하고 어떤 정보는 이번 단계에서만 쓰고 버릴지 구분하는 일에 더 가깝습니다.


이번 편에서는 어디까지 다룰 것인가

이번 글은 “대화 운영”을 다루지만, 너무 넓게 잡으면 금방 추상적인 이야기로 흘러가기 쉽습니다. 그래서 이번에도 범위를 먼저 잘라두는 편이 좋습니다. 이번 편에서는 반복 지침 정리, 현재 작업 맥락 관리, 대화가 꼬였을 때 새 대화로 넘기는 방법 이 세 가지를 중심으로 보겠습니다.

이번 글에서 다룰 내용은 아래와 같습니다.

  • 항상 유지할 공통 지침과 매번 바뀌는 작업 맥락을 구분하는 법
  • 자주 쓰는 반복 지침을 짧은 텍스트로 정리하는 법
  • 대화가 길어졌을 때 이어받기용 요약을 만드는 법
  • 새 대화로 넘기는 기준과 실전 템플릿

반대로 이번 글에서는 아래 내용은 깊게 다루지 않겠습니다.

  • 도구별 메뉴 위치나 세부 기능 설명
  • 팀 단위 문서 운영 방식
  • 버전 관리 시스템 전체 설계
  • 기업용 워크플로우나 협업 정책

지금 단계에서 중요한 것은 거창한 시스템을 만드는 일이 아닙니다. 혼자 작업하는 입문자가 AI와의 긴 대화를 덜 흔들리게 관리하는 기본 습관을 익히는 쪽이 먼저입니다.


고정할 지침과 매번 바뀌는 맥락을 구분하기

긴 대화가 자꾸 꼬이는 가장 흔한 이유 중 하나는, 항상 유지해야 하는 기준이번 단계에서만 필요한 정보를 한 덩어리로 다루기 때문입니다. 이 둘은 성격이 다릅니다. 그런데 초보자는 보통 이걸 한 문단에 몰아넣습니다.

예를 들어 “코딩 초보에게 설명해줘”, “어려운 용어는 풀어서 설명해줘”, “전체 재작성 말고 최소 수정 위주로 해줘” 같은 문장은 매번 거의 같은 의미로 반복됩니다. 반면 “지금은 검색 기능을 붙이는 중이고, 완료 보기에서만 결과가 이상하다” 같은 문장은 이번 단계에서만 중요합니다. 이 둘을 구분하지 않으면, 대화가 길어질수록 매번 같은 말은 계속 길어지고, 지금 필요한 정보는 오히려 묻히게 됩니다.

반복 지침과 현재 작업 맥락은 성격이 다르다
구분 무엇이 들어가나 예시 언제 바뀌나
반복 지침 말투, 설명 수준, 출력 형식, 우선순위, 금지사항 코딩 초보 기준 설명, 전체 재작성 금지, 테스트 순서 포함 자주 안 바뀐다
현재 작업 맥락 지금 만들고 있는 기능, 현재 문제, 관련 파일, 최근 수정 검색 기능 점검 중, script.js의 renderTodos 관련 문제 작업이 바뀔 때마다 바뀐다
이어받기 요약 현재 상태를 새 대화로 넘길 때 필요한 핵심만 추린 메모 완료된 기능, 남은 문제, 다음 단계, 바뀐 파일 대화를 새로 시작할 때 만든다

이 구분이 잡히면 운영이 꽤 편해집니다. 반복 지침은 짧은 공통 템플릿으로 고정해두고, 현재 작업 맥락만 그때그때 갈아끼우면 되기 때문입니다. 결국 매번 긴 프롬프트를 새로 짜는 것이 아니라, 공통 틀 하나와 현재 상태 요약 하나를 조합하는 방식으로 바뀌게 됩니다.

짧은 정리
반복 지침은 “어떻게 일할지”에 관한 것이고, 현재 작업 맥락은 “지금 무엇을 다루는지”에 관한 것입니다. 둘을 나눠두면 대화가 훨씬 덜 꼬입니다.


반복 지침은 이렇게 정리하면 된다

반복 지침을 정리할 때 중요한 것은 길이가 아니라 항상 다시 말하게 되는 요소만 남기는 것입니다. 너무 길어지면 매번 붙이는 의미가 줄어들고, 너무 짧으면 실제로 도움이 안 됩니다. 입문자라면 아래 다섯 가지 정도면 충분합니다.

  • 역할: 어떤 관점으로 답할지
  • 설명 수준: 초보자 기준인지, 실무자 기준인지
  • 작업 우선순위: 단순함, 이해 가능성, 최소 수정 같은 기준
  • 출력 형식: 요약, 코드, 설명, 테스트 순서
  • 금지 또는 제약: 전체 재작성 금지, 불확실하면 단정하지 말기

예를 들어 할 일 앱 같은 개인 학습 프로젝트에서는 아래 정도로 묶어둘 수 있습니다.

[반복 지침]

너는 코딩 초보에게 설명하는 웹 개발 튜터다.

어려운 용어는 바로 쉬운 말로 풀어서 설명할 것

한 번에 너무 많은 기술을 도입하지 말 것

지금 단계에서는 이해하기 쉬운 구조를 우선할 것

전체 재작성보다 현재 구조를 유지한 최소 수정안을 우선할 것

불확실한 내용은 단정하지 말고 전제를 먼저 구분할 것

답변은 가능하면 아래 순서로 정리할 것

무엇을 하려는지 짧게 요약

바뀌는 파일 또는 관련 함수

필요한 코드 또는 수정 포인트

왜 이렇게 바꾸는지 설명

내가 직접 확인할 테스트 항목

이 지침은 기능 요청, 디버깅 요청, 설명 요청 거의 모든 상황에서 공통으로 쓸 수 있습니다. 그래서 매번 “초보자 기준으로 설명해줘”, “어려운 말은 풀어줘”, “전체 갈아엎지 말아줘”를 다시 길게 적을 필요가 줄어듭니다.

반복 지침은 너무 욕심내지 않는 편이 좋다

처음에는 이것저것 다 넣고 싶어집니다. “톤은 친근하게”, “설명은 자세히”, “코드는 짧게”, “예시는 많이”, “리팩터링도 해주고”, “테스트도 해주고” 식으로 계속 늘어나기 쉽습니다. 그런데 그렇게 되면 기준끼리 충돌하는 경우가 생깁니다. 예를 들어 아주 짧게 답해달라고 하면서 동시에 매우 자세히 설명해달라고 하면 답이 흔들릴 수밖에 없습니다.

그래서 반복 지침은 정말 자주 반복하게 되는 기준만 남기고, 현재 작업에만 필요한 조건은 작업 맥락 쪽으로 보내는 편이 낫습니다. 즉, “이건 항상 중요하다” 싶은 것만 남기는 방식이 좋습니다.

핵심 포인트
반복 지침은 모든 걸 담는 만능 문서가 아니라, 자주 잊기 쉬운 공통 기준을 짧게 고정하는 메모에 가깝습니다.


긴 대화가 꼬였을 때는 새 대화로 넘기는 편이 낫다

많은 사람이 긴 대화를 계속 이어가는 쪽이 더 좋아 보인다고 느낍니다. 분명 이전 대화가 있으니 편해 보이기 때문입니다. 하지만 실제로는 어느 시점부터 이어가는 것보다 새로 여는 편이 더 깔끔한 순간이 옵니다. 특히 오래된 목표와 최근 목표가 섞이기 시작하면 그렇습니다.

예를 들어 이런 신호가 보이면 새 대화로 넘기는 편이 낫습니다.

  • 지금은 검색 기능만 고치고 싶은데 저장 기능이나 배포 얘기가 자꾸 섞인다.
  • 같은 제약을 여러 번 말했는데도 자꾸 전체 구조를 다시 짜려 한다.
  • 예전 코드 상태를 기준으로 설명해서 현재 파일 구조와 안 맞는 답이 나온다.
  • 내가 읽어야 할 이전 대화가 너무 길어져 지금 문제의 초점이 흐려진다.

이럴 때 억지로 계속 끌고 가면, “아까 말한 건 잊고 지금 것만 봐줘” 같은 문장이 점점 길어집니다. 반면 새 대화로 넘기면, 지금 필요한 정보만 추려서 다시 출발할 수 있다는 장점이 있습니다. 중요한 건 대화를 버리는 게 아니라, 필요한 핵심만 추려서 넘기는 것입니다.

이럴 때는 새 대화가 더 낫다
상황 그대로 이어갈 때 생기기 쉬운 일 새 대화로 넘기면 좋은 점
작업 단계가 크게 바뀌었다 이전 목표와 현재 목표가 섞이기 쉽다 현재 단계 목표만 남기고 깔끔하게 시작할 수 있다
같은 제약을 계속 반복하게 된다 프롬프트가 길어지고 핵심이 흐려진다 반복 지침과 현재 맥락만 다시 붙여 간결하게 운영할 수 있다
예전 코드 상태가 섞여 답이 어긋난다 현재 파일 기준과 안 맞는 수정안이 나온다 지금 코드 상태만 기준으로 다시 요청할 수 있다

즉, 새 대화로 넘긴다는 것은 실패가 아닙니다. 오히려 불필요하게 남은 맥락을 정리하고 현재 작업에 맞는 출발선으로 다시 맞추는 일에 가깝습니다. 초보자에게는 이 판단이 꽤 중요합니다. 괜히 한 대화를 끝까지 끌고 가려다가 더 많이 헷갈리는 경우가 생각보다 많기 때문입니다.

오해하기 쉬운 지점
새 대화를 연다고 해서 이전 작업이 끊기는 것은 아닙니다. 핵심만 요약해서 넘기면, 오히려 지금 필요한 문제를 더 선명하게 다룰 수 있습니다.


이어받기용 요약은 이렇게 만들면 된다

새 대화로 넘길 때 중요한 것은 “지금까지 다 했던 얘기를 다시 다 쓰는 것”이 아닙니다. 그렇게 하면 새 대화의 장점이 줄어듭니다. 핵심은 현재 작업을 다시 이어가는 데 필요한 최소한의 정보만 남기는 것입니다.

입문자라면 이어받기용 요약에 아래 여섯 가지 정도가 들어가면 충분합니다.

  • 무엇을 만들고 있는지
  • 현재까지 정상 동작하는 기능
  • 지금 남아 있는 문제
  • 관련 파일이나 함수
  • 반드시 유지해야 할 제약
  • 다음 단계 목표

이걸 손으로 직접 써도 좋고, AI에게 지금까지 대화를 기준으로 짧게 요약해달라고 부탁해도 됩니다. 중요한 건 너무 길게 만들지 않는 것입니다. 새 대화 첫 메시지에 붙였을 때 한 번에 훑히는 정도가 가장 좋습니다.

지금까지 대화를 기준으로

새 대화에서 바로 이어갈 수 있게 아래 형식으로만 짧게 요약해줘.

현재 만들고 있는 것

완료된 기능

지금 남아 있는 문제

관련 파일 또는 함수

꼭 유지해야 할 제약

다음 단계 목표

15줄 안쪽으로 정리해줘.

예를 들어 할 일 앱 검색 기능 작업을 새 대화로 넘길 때는 이런 식이 됩니다.

[현재 작업 요약]

HTML, CSS, JavaScript로 할 일 앱을 만드는 중

추가, 삭제, 완료 체크, 전체 삭제, 필터까지는 정상 동작

검색 기능을 붙였고 기본 검색도 동작함

[현재 문제]

완료 보기 상태에서 검색 후 마지막 항목 삭제 시
summary 문구와 빈 상태 메시지 갱신이 어긋남

[관련 파일]

script.js

renderTodos, updateSummary, getFilteredTodos, createDeleteButton

[유지할 제약]

코딩 초보 기준 설명

현재 구조 최대한 유지

전체 재작성 금지

최소 수정 위주

[다음 단계 목표]

summary와 빈 상태 메시지 갱신 문제만 수정

수정 후 테스트 순서까지 정리

이 요약을 새 대화 첫 메시지에 반복 지침과 함께 붙이면 됩니다. 그러면 긴 이전 대화를 통째로 복기하지 않아도, 현재 작업에 필요한 핵심만 가지고 다시 출발할 수 있습니다.

새 대화 첫 메시지는 이렇게 구성하면 편하다

[반복 지침]

너는 코딩 초보에게 설명하는 웹 개발 튜터다.
어려운 용어는 풀어서 설명하고,
전체 재작성보다 최소 수정안을 우선해줘.
답변은 요약 → 관련 파일/함수 → 수정 포인트 → 설명 → 테스트 순서로 정리해줘.

[현재 작업 요약]

HTML, CSS, JavaScript 할 일 앱

추가, 삭제, 완료 체크, 전체 삭제, 필터 정상 동작

검색 기능은 기본 동작하지만
완료 보기 + 검색 + 삭제 조합에서 summary 갱신 문제 있음

관련 파일은 script.js

현재 구조 유지가 중요함

[이번 요청]
이 문제의 가장 가능성 큰 원인 3개와
먼저 확인할 함수 흐름,
그리고 필요한 최소 수정 포인트만 제안해줘.

이 방식의 장점은 분명합니다. 공통 기준은 짧게 고정해두고, 현재 작업은 새로 요약해서 붙이기 때문에 대화가 훨씬 가볍고 또렷해집니다. 즉, 매번 처음부터 다시 쓰는 것이 아니라 반복 지침 + 현재 작업 요약 + 이번 요청의 세 조각으로 운영하는 셈입니다.

핵심 포인트
이어받기용 요약은 지난 대화를 모두 저장하는 문서가 아니라, 다음 대화에서 바로 써먹을 핵심만 남기는 작업 메모에 가깝습니다.


자주 하는 실수와 운영 체크리스트

맥락 관리와 반복 지침을 도입해도, 몇 가지 실수를 반복하면 다시 답이 흔들리기 쉽습니다. 이 부분만 기억해도 작업 흐름이 꽤 안정됩니다.

맥락 관리에서 자주 하는 실수
실수 왜 문제가 되나 어떻게 바꾸면 좋은가
반복 지침과 현재 작업을 한 문단에 다 넣는다 무엇이 공통 기준이고 무엇이 이번 단계 정보인지 흐려진다 반복 지침과 현재 작업 요약을 분리해서 쓴다
반복 지침을 너무 길게 만든다 매번 붙이는 의미가 줄고, 기준끼리 충돌할 수 있다 정말 자주 반복되는 기준만 남긴다
대화가 꼬였는데도 끝까지 이어가려 한다 오래된 목표와 현재 목표가 계속 섞인다 이어받기 요약을 만들고 새 대화로 넘긴다
새 대화에서 너무 많은 이전 내용을 다 붙인다 새 대화의 장점이 사라지고 핵심이 다시 묻힌다 현재 작업에 필요한 핵심만 10~15줄 안팎으로 요약한다
반복 지침을 고정해두고도 현재 목표를 안 적는다 AI는 공통 기준은 알지만 지금 뭘 해야 하는지 흐릴 수 있다 이번 단계 목표를 항상 한 문장으로 다시 적는다

실제로는 아래 체크리스트만 있어도 꽤 도움이 됩니다.

  • 지금 메시지에 공통 기준과 현재 작업 요약이 분리되어 있는가
  • 반복 지침이 너무 길어지지 않았는가
  • 이번 단계 목표를 한 문장으로 적었는가
  • 이전 대화가 현재 문제를 오히려 흐리게 만들고 있지는 않은가
  • 새 대화로 넘길 만한 시점인지 한 번 점검했는가
  • 이어받기 요약에 완료된 기능, 남은 문제, 제약, 다음 단계가 들어 있는가

이 체크리스트는 거창한 규칙이 아닙니다. 긴 대화가 조금씩 흐려질 때 다시 중심을 잡기 위한 점검표에 가깝습니다. 한두 번 익숙해지면, 작업 방식이 꽤 달라집니다. 예전에는 같은 말을 여러 번 반복했다면, 이제는 공통 기준과 현재 작업을 나눠서 훨씬 선명하게 운영할 수 있기 때문입니다.

짧은 정리
맥락 관리의 핵심은 많이 적는 데 있지 않습니다. 계속 남길 것과 지금만 필요한 것을 나누고, 대화가 무거워지면 과감히 새 출발할 줄 아는 데 있습니다.


마무리

이번 글까지 오면, 처음에 생각했던 “프롬프트를 잘 쓰는 법”이라는 주제가 꽤 다르게 보일 수 있습니다. 실제로 중요한 건 그럴듯한 한 문장을 만드는 일이 아니었습니다. 역할을 정하고, 요청 구조를 잡고, 작업을 나누고, 현재 상태를 전달하고, 결과를 검토하고, 디버깅 질문을 정리하고, 마지막으로 긴 대화를 어떻게 덜 흔들리게 운영할지까지 이어졌기 때문입니다.

결국 바이브 코딩에서 도움이 되는 사람은 특별한 비밀 문장을 가진 사람이 아니라, 무엇을 고정하고 무엇을 바꿔야 하는지 구분할 줄 아는 사람에 더 가깝습니다. 반복 지침은 따로 묶고, 현재 작업 맥락은 짧게 요약하고, 대화가 꼬이면 새 대화로 넘길 줄 아는 습관. 이 정도만 잡혀도 AI와의 작업은 훨씬 덜 불안해집니다.