はじめに
ClaudeCodeを使い始めてしばらく経ちました。
僕は規模の大きい実装をすることが多く、ClaudeCodeを使いPhaseに分けて実装を進めていました。
規模が大きいと前後のPhaseで何をしたかが影響してきます。
そこで各Phaseごとのセッション内容を残してみることにしました。
実際何を残しているか
そもそもセッション内容を残そうと思ったきっかけについてです。
ClaudeCodeのセッションログは~/.claude/projects/にjsonl形式で残っています。
ただ、このログファイルは人間が読むには可読性が低いため、流し読みでもわかるような形に残したいと思いました。
またわかりやすい場所、わかりやすいファイル名にしておけばClaudeに読み込ますのも容易になるかと思ったからです。
内容としては以下のような形式で残しています。
# セッション履歴: [機能名]
- 期間: 20XX-XX-XX 〜 20XX-XX-XX
- ブランチ: feature/hogehoge
- 設計書: 設計書_xxx.md
## 背景と方針
## 実装ステージとコミット履歴
## Stage 詳細
## ユーザーフィードバック対応
## 残課題 / 次のアクション
ざっくりとしたセッションの要約ではありますが、
ポイントとしては なぜそうしたか と 自分がしたフィードバック を明確にしています。
この2点を残すことで後続の実装時に同じ誤ちを防ぎたかったからです。
残した結果
まず自分自身の記憶の呼び起こし
長期に渡る実装だと、最初の方に実装したこと、実装した理由を忘れてしまいます。(忘れる度合いは個人差あるでしょうそりゃあ)
Phaseごとにセッション内容が残っているので、全部見る必要はなく関連する内容だけ見ればいいので、
わざわざ過去の資料を探すという手間もなくなります。
新しい設計を作るときの材料になる
似たような機能を実装するときや同じように注意しないといけない箇所があるときに、毎回いろんな資料を読み込ますという手間がなくなります。
実際読み込ませて設計書を作成させたところ、ちゃんと過去セッションで注意された点等を踏まえた内容になっていたので、使えているとは思います。
既に対応済みのタスクを毎回調査しなくて済む
セッション内容には対応した箇所、残課題、次のアクションが記載されているので、
毎回のタスク確認を減らせ、かつ次のアクションに向けての調査をしてくれます。
ClaudeCodeのコストも減らせるのでいいですね。
注意点
セッション内容はあくまで その時点での最新 なので、読み込ませる時には過去のものになっています。
様々なセッションが進んでいくうちに状況が変わっていくので、Claudeに読み込ませる時には参考程度として読み込ませることが大事です。
セッション内容を盲信させてしまうと、よくない実装をすることになります。
まとめ
- セッションログには 「なぜそうしたか」「何を作らなかったか」 を残す
- 「残課題 / 次のアクション」を残しておくと、次のセッションで AI が拾い直してくれる
- ハマりポイントを残しておくと、以降の別機能実装でも罠を回避できる
- ログは時点情報なので、最新状態は必ずコードで再確認させる
- 一般化できる教訓は auto memory にも昇格させる
セッション内容を書くのもClaudeに任せていますので、使う側のコストはかからず、チェックだけすればいいのでおすすめです。