0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code が途中で議論を忘れる問題に向き合う3つの設計パターン — Checkpoint / 構造化引継ぎ / Plan persistence

0
Posted at

はじめに

Claude Code MAXを実務で毎日使い倒している現役CTO(ベンチャー10年)です。

最近、Qiitaで「Claude Codeが途中で議論を忘れる問題」が話題になっています。実際、長丁場のタスクや複雑な意思決定を伴う作業で、前半の議論が後半で消える 問題は現場でも頻発しています。

この記事では、自分が実務で運用している3つの対処パターンを紹介します。

なぜ Claude Code は議論を忘れるのか

直接的な原因は コンテキストウィンドウの限界 です。

Claude Code(Opus 4.7)の context window は1M tokenまで拡張されたとはいえ、

  • 長時間セッションで context が溜まりすぎ
  • compaction(自動圧縮)で議論の細部が落ちる
  • ツール実行結果が context を圧迫

これらが組み合わさり、前半の合意事項や設計意図が薄まっていきます。

特に問題なのは、「忘れた」と Claude 自身が認識しないまま、別の方向で進めてしまう ことです。

パターン1: Checkpoint ファイルで意思決定を外部化する

最も簡単で効果が大きいのがこれです。

セッション中に重要な意思決定が出たら、ファイルに書き出す ことを CLAUDE.md でルール化します。

# CLAUDE.md(プロジェクト共通)

## 重要な意思決定の記録ルール

セッション中に以下の意思決定が出たら、即座に `.claude/checkpoints/YYYY-MM-DD.md` に追記する:

- 設計判断(A案 vs B案で A を選んだ等)
- アーキテクチャ変更
- ライブラリ選定
- ユーザー要件の変更
- 「やらないことリスト」への追加

.claude/checkpoints/ フォルダを Plan / Skills 経由で参照可能にしておくと、コンテキストが圧迫されても意思決定が消えなくなります。

.claude/
├── checkpoints/
│   ├── 2026-04-25.md   # その日の意思決定ログ
│   └── 2026-04-26.md
└── CLAUDE.md

パターン2: 構造化引継ぎテンプレ

セッションが長引きそうな場合、自分は次の引継ぎテンプレを使います。

# Session Handoff: 2026-04-27

## 現在のゴール
(1文で)

## これまでの合意事項
- 採用した設計: ...
- 却下した案: ...
- 残課題: ...

## 次のセッションでやること
1. ...
2. ...

## 参照すべきファイル
- @.claude/checkpoints/2026-04-26.md
- @docs/architecture.md

## 触ってはいけない箇所
- ...

これを /clear 直前に書き出して、新セッションの最初に @Session Handoff: 2026-04-27 で読み込ませます。

新しい Claude セッションでも、重要な合意と禁止事項が明示的に渡るので、議論の齟齬がほぼゼロになります

パターン3: Plan persistence(計画の永続化)

実装系のタスクで強力なのは、Plan を実行可能なファイルとして保存することです。

# .claude/plans/feature-auth.yaml
goal: ユーザー認証機能を Supabase で実装する

decisions:
  - id: D1
    statement: 認証は OAuth ではなくメール+パスワードで実装
    rationale: MVP優先、OAuth は次フェーズ
  - id: D2
    statement: セッション管理は cookie ベース
    rationale: SSR 対応のため

tasks:
  - id: T1
    title: Supabase Auth 初期化
    status: completed
    completed_at: 2026-04-26
  - id: T2
    title: ログインフォーム実装
    status: in_progress
    notes: バリデーションは zod を使用
  - id: T3
    title: セッション管理
    status: pending
    dependencies: [T1, T2]

セッションが切れても、このファイルを開けば どの判断でなぜ進めていたか / 次に何をすべきか が一目で分かります。

Claude Code に「この plan ファイルを読んで、続きから実装してください」と渡せば、議論を忘れていても元の文脈に復帰できます。

3つを組み合わせる運用

実務で安定するのは、3つすべてを使い分ける運用です。

状況 使うパターン
重要な意思決定が出た瞬間 Checkpoint に書く
長丁場で /clear する直前 構造化引継ぎ を書く
実装タスクが3日以上続く Plan persistence を作る

これらを CLAUDE.md と Skills でルール化しておくと、Claude 自身が 自発的に書き出してくれる ようになります。

まとめ

「Claude Code が議論を忘れる」問題は、

  • 意思決定 → Checkpoint で外部化
  • セッション切替時の文脈 → 構造化引継ぎテンプレで明示
  • 長期タスクの状態 → Plan persistence で構造化

の3層で対処すると、長丁場のプロジェクトでも合意の崩壊が起きにくくなります。

ポイントは、「Claude に覚えさせる」のではなく「Claude が読める形でファイル側に残す」 こと。
モデルの記憶力に頼らず、外部記憶を設計する側に回る のが、AI エージェント時代の運用設計です。


この設計を実装した個人開発・実務サポートを MENTA でも提供しています → https://menta.work/plan/20251
Claude Code活用の発信は YouTube でも → https://www.youtube.com/channel/UC1rXVD9WYsQPQEWZyd-A1KA/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?