もっと雑に使い捨てのドキュメントをClaudeに作らせよう
課題
特にClaudeに限定した話ではないですが、LLMにおいてのコンテキストって結構重要になってきます。
Claude Codeにある機能で、Contextが圧迫されてくると、自動でcopactして、コンテキストに空きを作るようになります。
しかし、それも結構大きなコンテキストの喪失になり、これまでの会話を忘れてしまうことが多いです。
そうしていると、また新たに説明をしたり、プロンプトでなんとかしなきゃいけないことになり、体験が悪くがなるばかりでなく単純に効率が悪くなります。
対策
そこで、いつコンテキストが失われたとしてもある程度やったことやこれまでの会話の内容を記したtempファイルとしてセッション中の内容をドキュメントにもっと細かく作成してもいいんじゃないかというのが現時点での僕の考えです。
会話の内容を記してもらうだけで、compactされたり、新しいセッションに移ったとしても、ある程度引き継ぐことができるので時間短縮にもなれば、自分のための確認ログ的なものにもなるので、結構オススメです。
方法
僕のやり方は、Claude Codeのカスタムスラッシュコマンドを作ってます。
RaycastのSnippets機能を使ってもいいですが、チームで使い回す運用であればカスタムスラッシュコマンドがおすすめです。
具体的なコマンド
ここのリポジトリが最新なので、ここを見てもらうのが良いです。
特に、ドキュメント作成している部分はここになります。
ドキュメント作成時点から変更が合った場合、その差分を埋めるためのupdateコマンドも用意しています。
これは僕のやり方が大きく反映されているものですが
僕は .claude の中にドキュメントを作成してもらうことが多いです。
tempファイルなので、できるだけプロジェクトのメインディレクトリにそのようなtempフォルダやファイルを作りたくないという気持ち的なものです。
気にしない人であれば、どこに作成しても問題ないです。
また、.claude 内の custom-document というフォルダの中に作っていくのですが、ワークツリー間でそれらのカスタムドキュメントを同期させるコマンドである、dot-claude-syncというツールも作っているので、そのようにしています。
これらのコマンドによって、claude codeの中で /create-doc とするだけで、コマンドを打ったセッション中の会話を要約してドキュメントしてくれます。
これを、hooksとかでセッションがcompactされる前とかに実行するとかでも効果はありそうです。(まだ試してない)
ここで作られたドキュメントはあくまで一時的なtempファイルなので、タスクや目的ベースでどんどんファイルやフォルダを作成していくことを目的としています。
あくまで、新しいセッションに対して自分が説明しなければならない手間を省くためのものです。
そのため、タスクが終わったり、自分が理解した後であれば削除しても良いファイルになります。
(僕は念の為残したいので archive というフォルダを作って残してたりしますが)
まとめ
claudeはドキュメントを作るのが得意なLLMな上に、Skillsによって「ある分野に対してのドキュメント特化」とすることもできるので、もっとドキュメントを気軽に使い捨てのように作るだけで、自分の効率を上げることができるという軽いtipsでした。
Claudeには、このような成長させた人の効率をどんどん上げれる、育成ゲーム要素も出てきていて、個人的にすごい扱ってて楽しい体験ができるツールになってます。
他にもこんな方法があるよとか、こういうのを追加すると良いよっていうのがあれば教えてくれると嬉しいです。
Discussion