AI時代に知識を整理するのがなぜ最悪なのか、そして私がどう解決したか
著者は、AIチャットセッションでの知識整理の難しさ、セッションベースの整理と人間の思考モデルの不一致、そしてClaude Codeスキルを使ったファイルベースの知識ベースソリューションについて語ります。
私の個人生活と仕事の両方で、AIチャットセッションに多くの時間を費やしています。製品アイデアのブレインストーミング、将棋の学習、新機能の構築など、多くのことをAIを通じて行っています。しかし、AIを使えば使うほど、フラストレーションが溜まっていきました。Claudeで思いついたレシピを探すために過去の会話を掘り返したり、同じことを何度も説明し直したりする必要がありました。本当に欲しかったのは、Claudeとのセッションから得たコンテキストを保存・整理し、必要なときにオンデマンドで読み込める方法でしたが、それは思ったより難しいことがすぐにわかりました。
栄養計画のためにClaude Projectsを試しましたが、チャット内からプロジェクトファイルを簡単に編集できないため、この解決策は私には使い物になりませんでした。Jolliに在籍していたときは、機能に関する関連コンテキストをすべて1回のClaude会話に保存していましたが、毎回正しい会話を見つける必要があり、さらにコンパクト化の際にコンテキストが上書きされることもありました。すべてをLinearの課題に保存しようとしましたが、それは開発課題追跡用のツールを個人のコンテキスト保存に使うことでした。問題を解決しようとするたびに、何か欠点がある解決策しか得られませんでした。そこで、腰を据えて問題を考え、自分自身で解決する方法を見つけることにしました。
最初の重要な洞察は、ツールがセッションを整理の単位として扱うことが、人間が情報を頭の中で整理する方法と完全に一致していないということです。人間は独自の整理システムを持っており、Claudeとの会話という単位では考えません。これが、レシピを覚えているのに見つけられない理由でした。私の頭の中では、レシピは「栄養」という概念の下に保存されており、「セッション165番」ではありません。必要なのは、自分のメンタルモデルに沿った形でコンテキストを整理する方法でした。
次に、コンテキストをAIに読み込むことがなぜイライラするほど上手くいかないのか、その理由を理解しました。一つは、AIがコンテキスト自体を読めても、それに関するメタコンテキストを知らないことです。例えば、チームメイトから受け取った設計書を読めても、それが古くなっている可能性があり、真実の源として扱うべきでないと知りません。HTMLモックファイルを読めても、それを参考として使いたいとは知りません。もう一つの理由は、AIに何を読ませたいかを直接指示できず、どこにあるかを伝えなければならないことです。Linearの問題なら正確な番号、ファイルならパスを指定する必要があり、関連ファイルがすべてリポジトリにあるとは限りません。私はものをIDや場所で覚えるのではなく、中身で覚えます。Linearの問題はその内容で、ファイルはそのコンテンツで覚えます。
次に気づいたのは、自分用に保存するものとAI用に保存するものの関係です。一部のコンテキストはAIが後で思い出すためだけに保存していましたが、多く(おそらくほとんど)は後で自分とAIの両方が使うために保存していました。私のユースケースでは、AIのメモリ保存と人間が読めるドキュメントツールを分離する意味はありません。人間とLLMは同じ媒体、つまり自然言語を消費するため、単一の可読な成果物が両方に役立ちます。自分用にコンテキストを保存する方法を提供すれば、同時にAIがそれを取得するための簡単な方法も提供できます。RAGやベクトルストアは純粋にAIのメモリのために作られており、人間が読めるものではありません。NotionやObsidianのようなドキュメントプラットフォームは人間のために作られ、AIは後付けです。
最後に、AI生成コンテンツの大きな問題点は、不正確なことだけでなく、正確かどうかを確認できないことにあると気づきました。LLMには、自分が言った覚えのないことを推論したり、単に推測したりでっち上げたりしたことを自信満々に断言する悪い習慣があります。ある程度は避けられず、モデルが改善されるにつれて良くなるでしょうが、少なくとも派生コンテンツのソースを知りたいし、生成されたものについては、それが確実にわかっていることなのか、AIが推論または推測したものなのかを知りたいのです。
私の知る限り、これらの問題をすべて解決したAIツールはありません。そこで、これらのアイデアを基に、基本的なバージョンを作成できるかと考えました。最近では、Claudeスキルを使ってAIをインターフェース兼OSとして利用することで、このようなことは驚くほど簡単にできます。目標は、AIとコンテキストの間の接続を強化し、AIでコンテキストをキャプチャして再読み込みするサイクルを短縮することでした。MVPの哲学は、最小限に抑え、自分で使い、何が欠けているかを見極めることでした。つまり、自動キャプチャ、自動読み込み、自動コンテキスト調整などは最初から入れないことです。
基本バージョンは単純でした:フォルダを「トピック」、ファイルを「アイテム」として使い、CLAUDE.mdを通じてClaudeが知識ベースを認識できるようにする。create-item Claude Codeスキルで、会話から派生したコンテキストとともに知識ベースにファイルを作成する。load-topic Claude Codeスキルで、トピック内の各アイテムのメタコンテキストをClaudeに読み込ませる。
それ以来、私はClaudeウェブアプリではなくClaude Codeを主なAIインターフェースとして使い、この知識ベースを毎日利用しています(この記事を書くのにもこれを使いました。このプロジェクトで行ったすべてが知識ベースに保存されているからです)。何が役に立ち、何が欠けているかを学んでおり、適切なシステムの構築に取り組むことを楽しみにしています。次に追加したい機能は次のとおりです:ストアを表示・管理するためのObsidianのようなビューレイヤー、読み込むコンテキストのより細かい制御。