블로그

AI 채팅에서 내린 결정은 왜 사라질까, 그리고 어디에 남겨야 할까

ChatGPT나 Claude에서 내린 결정은 채팅이 스크롤되면 사라집니다. 작업에 연결해 보드에 기록하면 다음 AI 세션이 그것부터 읽습니다.

Weft는 1인 창업자와 소규모 팀을 위한 AI 작업 관리 도구입니다.

모든 글

글쓴이: Andrei Finogeev ·

ChatGPT나 Claude 대화에서 내린 결정이 사라지는 이유는 채팅에 상태가 없기 때문입니다. 채팅 안에는 어떤 줄을 "우리가 이렇게 정했다"고 표시하는 것도, 그 줄을 그것이 영향을 주는 일에 묶는 것도 없고, 새 채팅은 빈 상태로 시작합니다. 해결책은 AI가 그 결정을 일이 있는 곳에 이유와 함께 짧은 기록으로 적게 하고, 다음 세션이 행동하기 전에 그 기록을 읽게 하는 것입니다.

Weft는 우리가 만듭니다. 다른 제품에 대한 사실은 2026년 10월 27일에 확인한 공식 페이지에서 가져왔습니다. 스레드에 "상태가 없다"는 생각은 Slack 스레드에 관한 Hypertask의 글에서 왔습니다. 이 가이드는 그 생각을 AI 채팅에 적용합니다.

ChatGPT나 Claude와 내린 결정은 왜 사라질까?

비서와 40분 동안 데이터베이스 업체 두 곳, 가격 모델 두 가지, API를 구성하는 두 방식을 저울질합니다. 하나로 정합니다. 근거도 좋고 비서도 동의하니, 다음 일로 넘어갑니다.

일주일 뒤 그 결론은 여전히 그 채팅 속, 메시지 이백 개 위 어딘가에 있습니다. 새 채팅은 그것을 전혀 모릅니다. 팀원은 본 적이 없습니다. 그리고 다음 날 다른 AI 클라이언트, 예를 들어 터미널의 코딩 에이전트를 열면, 그 클라이언트는 처음부터 시작하고 당신이 기각한 선택지를 태연하게 제안할 수도 있습니다.

이것은 규율의 문제가 아닙니다. 대화는 메시지의 연속입니다. "결정됨"을 위한 칸도, 주인도, 작업과의 연결도, "이것이 화요일에 한 말을 대체한다"고 말할 방법도 없습니다. 스크롤 저편으로 사라지고 나면 결정된 질문과 버려진 질문은 똑같아 보입니다.

채팅 메모리가 이미 해결해 주지 않나?

이 일에는 아닙니다. 이제 많은 비서가 채팅 사이에 당신에 관한 것을 기억할 수 있고, 취향과 배경 정보에는 유용합니다. 하지만 그 메모리는 하나의 제품, 하나의 계정에 속합니다. 사람이 한 줄씩 검토할 수 있는 기록이 아니라 그 비서가 쓰도록 적힌 것이고, 다른 AI 클라이언트는 읽을 수 없습니다. 어떤 선택이 어느 작업에 관한 것이었는지, 어느 이전 선택을 대체했는지도 말해 주지 않습니다.

결정 로그에는 다른 요건이 있습니다. 프로젝트에서 일하는 사람과 에이전트가 찾을 수 있어야 하고, 다음에 일을 이어받는 어떤 AI 클라이언트든 읽을 수 있어야 하고, 그 일에 묶여 있어야 하고, 이력에 정직해야 합니다. 결정이 바뀌면 예전 결정은 대체된 이유와 함께 계속 보여야 합니다.

기록할 가치가 있는 결정은 무엇일까?

누군가 충분히 다르게 고를 수도 있었고, 그 선택이 이후의 일을 좌우한다면 기록하세요. 좋은 예는 이렇습니다.

  • 도구, 업체, 라이브러리 중 하나를 다른 것 대신 고르기.
  • 일부러 무언가를 빼기("이번 분기에는 추천 프로그램 없음").
  • 일이 따라야 할 규칙 정하기("EU에서는 모든 가격을 부가세 포함으로 표시").
  • 이전 선택을 이유와 함께 바꾸기.
  • 어렵게 얻은 교훈("업무 시간에는 마이그레이션을 돌리지 않는다").

기록하지 말 것:

  • 던져 보기만 하고 채택하지 않은 아이디어.
  • 일 자체의 단계(그것은 작업과 그 결과에 들어갑니다).
  • 사람이 아직 동의하지 않은 것. 제안이라고 분명히 표시한 경우는 예외.
  • 누구든 1분이면 다시 찾아볼 수 있는 사실.

쓸 만한 시험: 새 AI 세션이 이 선택을 뒤집으려 한다면, 멈추고 이유를 읽기를 바라나요? 그렇다면 기록하세요.

좋은 결정 기록은 어떤 모습일까?

짧게 쓰고 이유는 남기세요. 아래 형식은 Weft의 record_decision 도구가 쓰는 MADR(Markdown Architectural Decision Records)의 가벼운 버전입니다.

Title:        파일 업로드: 데이터베이스가 아니라 객체 스토리지
Outcome:      업로드된 파일은 객체 스토리지로 간다. 데이터베이스에는
              파일 키와 메타데이터만 둔다.
Status:       accepted
Context:      사용자는 최대 50 MB의 파일을 첨부한다. 데이터베이스에
              두면 백업이 느리고 커진다.
Options:      1. 객체 스토리지   + 저렴하고 백업이 작게 유지됨
                                 - 설정할 서비스가 하나 늘어남
              2. 데이터베이스 컬럼 + 모든 것이 한곳에
                                 - 업로드할 때마다 백업이 커짐
Consequences: 다운로드에 서명된 URL이 필요하다.
              작업을 지우면 그 파일도 지워야 한다.
Revisit when: 파일 내용 안을 검색해야 할 때.
Task:         파일 업로드
  • Title(제목)은 훑어보며 찾을 수 있도록 결정에 이름을 붙입니다.
  • Outcome(결과)은 새로 온 사람이 바로 따를 수 있는 한 문장입니다.
  • Context(맥락)는 그때 사실이었던 것입니다. 기억에서 가장 먼저 사라지는 부분입니다.
  • Options(선택지)에는 나중에 지어낸 대안이 아니라 실제로 따져 본 것만 적습니다.
  • Consequences(영향)에는 감수하기로 한 단점도 넣어, 나중에 누군가 그것을 버그로 "발견"하지 않게 합니다.
  • Revisit when(재검토 조건)은 무엇이 이 선택을 틀리게 만들지 말합니다.

Weft는 결정 기록을 어떻게 보관할까?

Weft는 AI 클라이언트가 https://letsweft.com/api/mcp에서 MCP로 접근하는 작업 보드입니다. 도구 32개 중 세 개가 결정을 다룹니다.

  • record_decision은 제목과 결과, 그리고 맥락, 장단점이 붙은 최대 다섯 개의 선택지, 영향, 재검토 조건을 받습니다. 작업(taskId)이나 프로젝트에 연결할 수 있습니다. 기록은 바꿀 수 없습니다. 바꾸려면 AI가 예전 기록을 가리키는 supersedesId로 새 결정을 기록하고, 예전 기록은 대체됨으로 표시된 채 남습니다.
  • get_context는 워크스페이스의 살아 있는 결정과 교훈을 최신순으로, 토큰 예산(기본 800 토큰)에 맞춰 돌려줍니다. 프로젝트나 작업으로 좁힐 수 있습니다. 각 줄에는 날짜가 붙고, 대체된 결정은 나오지 않으며, 들어가지 못한 줄은 숨기지 않고 개수로 알려 줍니다.
  • decisions 모드의 get_task_history는 검토 판정과 그 이유를 포함해 작업 하나에 관해 기록된 모든 결정을 나열합니다.

record_decision에는 두 번째 용도가 있습니다. 검토를 기다리는 일에 대해 사람이 대화 중에 내린 판정(수락, 재작업, 폐기, 보류)을 전달하는 것입니다. 도구 설명은 AI에게 여기서는 결정하는 쪽이 아니라 전달자라고 알려 주므로, AI는 이것을 자기 일을 수락하는 데 써서는 안 됩니다.

기록은 그 자리에서 고쳐지지 않으므로 이력이 정직하게 유지됩니다. 3월에 업체를 바꿨다면 1월의 결정은 대체됨으로 표시된 채 그대로 있고, 3월의 기록이 그 이유를 말합니다.

AI에게 결정을 기록하라고 어떻게 시킬까?

Weft를 AI 클라이언트에 연결한 다음, 채팅을 시작할 때 이런 지시를 붙여 넣으세요. 클라이언트에 맞춤 지시나 프로젝트 파일이 있다면 거기에 넣어도 됩니다.

이 채팅에서 우리가 진짜 선택을 하면(한 선택지를 다른 것 대신 고르거나,
무언가를 빼거나, 이전 선택을 바꾸면), 다음으로 넘어가기 전에
record_decision으로 Weft에 기록해 줘:
- title: 몇 단어로 이름 붙인 결정
- outcome: 한 문장으로 쓴 선택
- context: 그 선택을 하게 만든 그때의 사실
- options: 실제로 따져 본 선택지만, 장단점과 함께
- consequences: 좋든 나쁘든 뒤따르는 것
- confirmation: 언제 다시 검토해야 하는지
- taskId 또는 project: 이 결정이 관한 작업이나 프로젝트
이전 결정을 바꾸는 것이라면 고치지 말고 supersedesId를 넘겨.
잡담, 추측, 내가 동의하지 않은 것은 기록하지 마.
내가 아직 확정하지 않았다면 status "proposed"를 써.
사소하지 않은 일을 시작할 때는 먼저 get_context를 호출하고,
어떤 과거 결정이 적용되는지 알려 줘.

연결은 1분이면 됩니다. ChatGPT에서 Weft는 플러그인 디렉터리에 게시된 앱으로, 무료를 포함한 모든 요금제에서 쓸 수 있습니다(설정). Claude Code에서는 명령 하나입니다(설정). Claude.ai와 Claude Desktop은 커스텀 커넥터로 추가합니다. 로그인은 브라우저의 OAuth이므로 복사할 키가 없고, Weft가 리프레시 토큰을 발급하므로 클라이언트가 스스로 로그인을 갱신합니다. Cursor와 Codex를 포함한 다른 클라이언트의 설정 페이지는 문서에 있습니다.

다음 날 ChatGPT에서 Claude Code로 바꾸면 어떻게 될까?

위의 지시가 바로 이 경우를 위해 만들어졌습니다.

  1. 월요일에 ChatGPT에서 기능을 계획합니다. 업로드를 데이터베이스가 아니라 객체 스토리지에 두기로 정하고, ChatGPT가 맥락, 두 선택지, 영향을 담아 "파일 업로드" 작업에 연결된 record_decision을 호출합니다.
  2. 화요일에 저장소에서 Claude Code를 엽니다. 아직 연결하지 않았다면: claude mcp add --transport http weft https://letsweft.com/api/mcp.
  3. 업로드 작업을 가져가라고 합니다. 코드를 쓰기 전에 그 작업에 대해 get_context를, 또는 decisions 모드의 get_task_history를 호출하고, 월요일의 기록을 돌려받습니다.
  4. 질문을 다시 열지 않고 객체 스토리지를 기준으로 만듭니다. 선택이 틀렸다는 진짜 이유를 찾으면, 월요일 것을 대체하는 새 결정을 제안할 수 있고, 결정은 당신이 합니다.

기록이 어느 채팅도 아닌 Weft에 있으므로, 두 클라이언트는 같은 보드와 같은 결정을 읽습니다. OAuth 연결은 각각 별도의 행위자이고, 보드에는 각 클라이언트가 등록한 이름이 표시되므로 어느 연결이 어떤 작업을 만들었는지 볼 수 있습니다. 여러 에이전트를 충돌 없이 한 보드에서 돌리는 방법은 여러 AI 에이전트, 하나의 보드를 보세요.

ChatGPT에서 내린 결정은 어디에 남아야 할까?

흔한 네 곳을 결정 로그에 필요한 것 기준으로 비교했습니다.

결정이 남는 곳나중에 찾을 수 있나다른 AI가 읽을 수 있나일에 묶여 있나이유와 함께 대체할 수 있나
채팅 기록어느 채팅이었는지 기억하고 검색에 걸릴 때만아니요, 다른 클라이언트는 열 수 없음아니요아니요, 나중 메시지가 표시 없이 반박할 뿐
문서나 메모 페이지누군가 정리해 뒀다면 예그 AI가 문서에 연결되어 있을 때만링크로 느슨하게대개 고쳐 쓰는 방식이라 예전 근거가 지워지기 쉬움
작업 댓글예, 그 작업에서AI가 트래커의 댓글을 읽을 수 있다면예명시적으로는 아님, 새 댓글이 예전 댓글을 대체됨으로 표시하지 않음
Weft 보드의 결정 기록예, get_context와 get_task_history로예, MCP로 워크스페이스에 연결된 어떤 클라이언트든예, 작업이나 프로젝트 단위로예, supersedesId가 예전 기록을 대체됨으로 표시해 남김

채팅이나 문서가 나쁘다는 말이 아닙니다. 채팅은 생각하는 곳입니다. 결정은 내려지는 바로 그 순간, 이미 대화에 있는 당사자인 AI가 채팅에서 상태가 있는 곳으로 옮겨 적어야 합니다.

이것이 우리 문서나 위키를 대신할까?

아닙니다. Weft에는 문서나 위키가 없고, 그것이 되려 하지도 않습니다. 긴 설명, 온보딩 가이드, 설계 문서는 문서 도구에 있어야 합니다. 결정 기록은 일부러 작습니다. 선택 하나, 그 이유, 그리고 무엇이 그것을 대체했는지. 팀이 이미 위키에 결정 기록을 두고 있고 쓰는 모든 AI 클라이언트가 그것을 읽을 수 있다면, 그것으로 충분할 수 있습니다. Weft는 결정이 AI 채팅에서 내려지고 다음 독자가 대개 또 다른 AI일 때 쓸모가 있습니다. 이 용도로 Notion을 저울질하고 있다면 AI 작업을 위한 Notion 대안을 보세요.

솔직한 한계가 두 가지 더 있습니다. Weft는 당신의 채팅을 읽지 않습니다. 결정은 AI가 record_decision을 호출할 때만 기록되고, 그래서 위의 지시가 중요합니다. 그리고 AI는 무엇이 결정인지 잘못 판단할 수 있으니, 가끔 get_context를 읽고 틀린 것은 대체하세요.

비용은 얼마일까?

결정을 기록하고 읽는 것은 무료 요금제에서 동작하며, 무료에는 활성 작업 50개와 월 200회 AI 도구 호출이 포함됩니다. record_decision이나 get_context 호출은 각각 한 번으로 셉니다. Pro는 좌석당 월 $7 또는 좌석당 연 $60이고, 작업과 호출이 무제한입니다(요금). Weft에는 AI 크레딧이 없습니다. 생각은 당신의 AI 클라이언트에서 일어나고, Weft는 보드와 그 기록만 보관합니다.

채팅이 끝날 때 ChatGPT에게 결정을 요약해 달라고 하면 되지 않나요?
그래도 되고, 도움이 됩니다. 하지만 그 요약은 여전히 그 채팅이나 붙여 넣은 곳에 있습니다. 작업에 묶여 있지 않고, 다른 AI 클라이언트는 읽을 수 없고, 결정이 바뀌면 무엇을 대체했는지 기록이 없습니다. 결정을 내리는 즉시 하나씩 기록하면 이 세 가지를 모두 피할 수 있습니다.
AI가 시키지 않아도 결정을 기록하나요?
record_decision 도구 설명은 사용자가 대화에서 진짜 선택을 할 때마다 그것을 쓰라고 AI에게 알려 주므로, 그렇게 하는 클라이언트도 있습니다. 거기에 기대지는 마세요. 붙여 넣은 지시가 그것을 명시하고, 언제든 "그 결정 기록해 줘"라고 말할 수 있습니다.
잘못 기록된 결정을 고칠 수 있나요?
그 자리에서는 안 됩니다. 기록은 바꿀 수 없습니다. 잘못된 기록을 가리키는 supersedesId로 바로잡은 결정을 기록하세요. 예전 기록은 대체됨으로 표시된 채 남고, get_context는 더 이상 그것을 보여 주지 않습니다.
결정에는 작업이 꼭 필요한가요?
아닙니다. 결정은 작업에도, 프로젝트에도, 어느 쪽에도 연결하지 않을 수 있습니다. 작업에 연결하면 get_task_history가 그 일 옆에 보여 주고, get_context를 그 작업으로 좁힐 수 있습니다.
Weft의 작업 메모리와 같은 건가요?
아닙니다. 작업 메모리(짧게 학습한 메모)는 별도의 Pro 기능입니다. 결정 기록은 record_decision에서 나오며, 코드상 Pro로 제한되어 있지 않습니다.
AI 클라이언트를 둘 이상 쓰면요?
그것이 이렇게 하는 가장 큰 이유입니다. 같은 Weft 워크스페이스에 연결된 ChatGPT, Claude Code, Cursor, Codex는 모두 get_context로 같은 결정을 읽으므로, 두 번째 클라이언트가 첫 번째가 정리한 질문을 다시 열지 않습니다.