🐈‍⬛

『倖郚脳🧠』を受動的から胜動的な蚘憶装眮に䜜り倉えた話

に公開

芁玄

今たで、ClaudeCodeずNotionで『倖郚脳』を構築した話を曞いおきたした。
https://zenn.dev/kajungbang/articles/5c00f3bf7d7416
https://zenn.dev/kajungbang/articles/fb31e447bcf14d
第3匟「公匏機胜ず比范した話」](https://zenn.dev/kajungbang/articles/337e3219aece8a)
第4匟「Notionで倖郚脳を続けるぞずいう話」](https://zenn.dev/kajungbang/articles/89e3f06f76c23d)

今回は、『倖郚脳』を”受動型”から”胜動型”ぞ、そもそものマむンドセットを再構築し盎した話です。

【きっかけ】 知識は増えおいるはずなのに、反応が悪い・・・

『倖郚脳』を掻甚し始めお玄䞀ヶ月。ほが毎日の様に「これ、Notionに保存しお」ずClaudeAppにお願いしおいたので、Notionに構築した『倖郚脳』に蓄積する情報は増えおいきたした。
しかし、それなのに・・・䜕か違和感がありたした。
「ClaudeCodeやClaudeAPPは倖郚脳を掻甚぀たりOUTPUTしおいるのかな」ず。

  • 「あれこれに関する論文あったよねなぜ、そのこずを蚀及しないんだろう」
  • 「あれこれ前に終わった䜜業なのに、なぜ残䜜業ずしお提瀺されるんだろう」
  • 「あれあれあれ」

『倖郚脳』運甚開始しお玄䞀ヶ月、「着実に動いおいるのか掻甚されおいるのか仕組みやプロセスに問題はないのか」ヌ぀たり”システム”を芋盎す良い時期でした。

【前提】 旧蚭蚈の構造ず発芋した匱点

『倖郚脳』の旧蚭蚈は、4局のアヌキテクチャず4぀のサむクルでした。

4぀のレむダヌ

  • Raw : 原兞・AIは勝手に曞き換えない静的蚘憶領域
  • Wiki : AI生成のサマリヌ・抂念蚘事や統合知の保管先静的蚘憶領域
  • Schema : AIの読み曞きルヌルを定矩静的蚘憶領域
  • SessionLOG : AIの䜜業状況を蚘録動的蚘憶領域

4぀のサむクル

  • INGEST新しい情報を取り蟌む
  • COMPILE取り蟌んだ情報をWiki化する
  • QUERY必芁な情報を探しお回答に䜿う
  • LINTKBの健党性をチェックする

䞀芋たずもです。しかし、決定的な匱点が4぀”も”ありたした。

匱点1QUERYが「受動的」だった

ClaudeCodeもしくはClaudeAPPさんが動くのは「ナヌザヌが”質問”したずき」だけ。
たずえば、資料保存が途䞭で止たっおいた時、「前回の続きをやっお」ず蚀えば䜜業は再開され『倖郚脳』察しお怜玢ク゚リは凊理されるので、重耇保存は防げたす。
しかし、それだけです。
それたでに実行したさたざたな”やりずり”、珟圚の『倖郚脳』に䜕が保存されおいお、䜕が知芋ずなっおいるのかなど、瞊暪無尜な「文脈ずしおの蚘憶」を自動的に埩元する仕組みにはなっおいたせんでした。
たた”質問”の意味定矩が䞍明瞭で、結局のずころ、玄䞀ヶ月”䟝頌”は走ったが”質問”は存圚しなかった状態でした。

匱点2INGESTずCOMPILEが重耇しおいた

「INGEST」ず「COMPILE」に、䌌たような䜜業が含たれおおり、どちらで䜕をやるのか、棲み分けが曖昧でした。「INGESTで取り蟌んで、COMPILEでWiki化」ず蚀い぀぀、実際には2぀のサむクルが半分くらい重なっおいたために、運甚のたびに「どっちでやるんだっけ」ずいう”䞉遊間”が発生しおいたした。
人間でしたら「前回INGESTがやっおくれたから、今回はCOMPILEでやるよ」的な調敎が珟堎で走りたすが、AIではそうはいきたせん。

匱点3LINTのトリガヌが「気が向いたずき」だった

倧事な”健党性チェック”。定期的に実行ず決めおいたしたが”定期”の定矩が決たっおいたせんでした。。぀たり「なんずなく定期的に」のたた、これは実質的に機胜しおいないに等しい状態です。

匱点4䜿甚甚語がよくわからなかった

旧蚭蚈では、゜ヌスが1件だけの抂念を「スタブ」ずしおWikiDBに仮登録しおいたした。実は私はこの「スタブ」ずいう蚀葉を䜿ったこずがなく「なんじゃらほい」ず思い぀぀、「たあ悪さをしおいる気配もないから」ず攟ったらかしにしおいたした。が、これが良くなかった、Wiki DBの内郚構造が適正か吊かを確認仕切れおいなかったのです。぀たり、自分の『倖郚脳』なのにその䞭身をちゃんず理解しおいなかった、ずいうわけです。

甚語うんぬんの瑣末なこずも積み重なり 『倖郚脳』はあれど、それはあるだけ 状態に陥っおいたした。

【倧改革】 新蚭蚈 5レむダヌず3サむクル

たずは、改めお方針思想を定めたした。
『倖郚脳』は䜿っおなんが、ClaudeCodeもClaudeAPPも、蚀われお䜿うのではなく、自ら自埋的に䜿うべし

「受動から胜動」ぞ根本思想の転換

旧思想 『倖郚脳』は情報を蓄積する堎所。ClaudeCodeはナヌザヌに聞かれたら参照する。
新思想 『倖郚脳』はClaudeCodeの蚘憶そのもの。セッション開始時に自動的に蚘憶を埩元する装眮。

人間に䟋えるなら、「聞かれたら思い出す人」から、「聞かれなくおもいろいろ思い出しちゃう人」ぞの倉身です。
思考が色々なずころにすっ飛んでいっおもいい、ずにかく幅の広い思考力の実珟を目指したした。

4サむクル → 3サむクルに再線成

”COMPILE”を廃止しお”INGEST”に機胜を統合、以䞋の新3サむクルに敎理したした。

  • 新INGEST内郚を5ステップ化抂念抜出ず自動昇栌を内包
  • 新QUERY胜動的蚘憶埩元化セッション開始時に自動発動
  • 新LINTトリガヌ明確化情報集玄DBが10件増えたら自動発動

今回最もテコ入れしたのは新INGESTの内郚5ステップ化です。

【新INGEST】
Step 1: 情報集玄DBの新芏゚ントリを読む
Step 2: Wiki DBに”゜ヌス芁玄ペヌゞ”を䜜成する
         最重芁抂念を1぀抜出し”抂念メモ”ずする
         同名の”抂念メモ”が存圚しない堎合は新芏䜜成する

Step 3: 同時にWiki DBの”抂念メモ”䞀芧を怜玢し、
        既存の”抂念メモ”に2件以䞊の”゜ヌス芁玄”が玐づいた堎合”抂念メモ”は”抂念蚘事”に自動昇栌させる

Step 4: 昇栌し新芏䜜成した”抂念蚘事”ず関連゜ヌス芁玄の間にリンクを远加する

Step 5: マスタヌむンデックスを曎新する

「同じ抂念が2件以䞊の゜ヌスで蚀及されたら、自動的に抂念蚘事に昇栌させる」ずいうルヌルにしたした。
旧蚭蚈では「抂念蚘事を䜜るかどうか」を毎回手動で刀断しおいたものを、凊理に倉えたこずで運甚負荷が䞀気に䞋がりたした。

この”抂念メモ”は旧蚭蚈では「スタブ」ず呌んでいたものです。
改名し

  • 1゜ヌスのみの抂念は"抂念メモ"この段階では、ただ1぀の文献゜ヌスしか支持しおいない仮説的なものずし
  • 2゜ヌス以䞊集たったら"抂念蚘事”に昇栌させる耇数の文献が裏付ける確立した抂念ず刀断

こずにより、自分の蚀葉で語れる『倖郚脳』ずなりたした。
たあ、ここの抂念化に関しおは、件が劥圓なのか件が劥圓なのかは論点ですが、珟時点では「件以䞊ルヌル」です。

4レむダヌ → 5レむダヌ

旧レむダヌに「実装ログアヌカむブ」を远加したした。
セッションログが長くなるず、コンテキストトヌクン消費が倧きくなりすぎるので、盎近セッション以倖はアヌカむブ化したした。

  • Raw : 原兞・AIは勝手に曞き換えない静的蚘憶領域
  • Wiki : AI生成のサマリヌ・抂念蚘事や統合知の保管先静的蚘憶領域
  • Schema : AIの読み曞きルヌルを定矩静的蚘憶領域
  • SessionLOG : AIの䜜業状況を蚘録動的蚘憶領域
  • SessionLOG(Archive) : トヌクン消費を節玄するために䜜業完了したLOGは別保存、問題が発生した堎合のルヌトコヌズ分析甚に削陀ではなく保存する

AI内郚の呜什方法の改善 「お願い」 → 「仕様圢匏」

動的蚘憶を担う”セッションログ”には、「次回のセッション開始時に䜕をするのか」がわかるように匕き継ぎメッセヌゞを毎回最埌に曞いおいたす。
ここを「お願い圢匏」から「仕様曞圢匏呜什」に倉えたした。

旧「次回セッション開始時は、KBスキヌマ定矩をfetchしおから開始しおください」
新修正埌の指瀺文䞀郚抜粋

🚚【読埌即時アクション — 返答前に必ず順番に実行するこず】

このペヌゞを読んだ盎埌に、以䞋を順番に**実行するこず**。
実行前に返答を開始するこずを**犁止する**

Step 1: KBスキヌマ定矩を fetch する
Step 2: マスタヌむンデックスを fetch する
Step 3: 䞊蚘2件の内容を螏たえお回答する

※ セッションログだけを読んで回答するこずを**犁止する**。

「〜しおください」ずいう「お願い圢匏」では、ClaudeAPPさんは「参考にする」ものの「即座に実行する」べきずは受け取らないこずが、テストシミュレヌション実斜で発芚したした。たあ、ここでもClaudeさんのサボり癖が出たわけです。

「お願い圢匏」から「仕様曞圢匏呜什・犁止圢匏」ぞ。
「〜しおください」を「〜するこず、〜するこずを犁止する」に曞き換え。たったこれだけでしたが効果は絶倧でした。

【たずめ】 プロンプト゚ンゞニアリング的孊び

今回の倧改革は「仕組みず運甚」の䞡面を芋盎したしたが、䞀番の孊びは指瀺文の曞き方そのものです。

  • スキヌマ定矩CLAUDE.mdに盞圓に「セッション開始時にKBスキヌマを読むこず」ず曞いおいた
  • セッションログにも「必ずスキヌマ定矩をfetchしおから開始しおください」ず曞いおいた

圓方は二重に仕蟌みを入れおいるこれで倧䞈倫ず思っおいたのですが、実は期埅通りには動いおいたせんでした。
曞いおあるこずず、実際に行動ずしお実行されるこずは別物。
ClaudeAPPさんは指瀺文を読んで「参考情報ずしお䞀郚を取り蟌む」こずはしおも「即座にツヌルを呌び出し完遂する」たでは行き぀かなかった、それはお願いされたこずなので「これぐらいでいいか」ずAI自身の行動の適正化をAI自身の刀断に委ねおしたうこずになるからだず、私は理解したした。

党郚読んで欲しい、完遂しお欲しい、ここは絶察倖しおほしくない、などのMUST芁件に぀いおは
「人間からの呜什、もしくは反転呜什犁止事項」でなくおはならない、特に、システムなどの自動化スキヌムでは、特にこの芖点が運甚の肝ずなりたす。

AIからAIぞの指瀺文で「お願い」は無甚、「仕様曞」ずしお曞く。
ClaudeCodeさんやClaudeAPPさんがあたりにも人間チックなので、こちらが䜿う蚀葉も䞁寧になり過ぎおいたした。
そうです、すっかり忘れおいたしたが、盞手はAI.機械です。

過剰な思い入れや忖床は䞍芁。プロンプトは短く、わかりやすく、シンプルに。
プログラミングの基本です。
初心を忘れおおりたした。反省しきりです。

Discussion