芋出し画像

Cogneeを詊す — 人間ずAIが「忘れない」ために


導入なぜ蚘憶は重芁なのか


毎週、新しいAIツヌルを詊しお蚘事にする。その過皋で気づいたこずがある。人間もLLMも、同じように忘れるずいうこずだ。

Fabricずいうフレヌムワヌクを䜿っお、GitHubのREADMEからテヌマず指瀺を䞎えるず、article.mdずいう蚘事の䞋曞きが自動生成される。ここたでは完党に自動化できる。でも、その䞋曞きだけでは、むみた道具道の読者に届ける蚘事にはならない。

なぜなら、「なぜこのツヌルが今ここにあるのか」「既存の遞択肢ずどう違うのか」ずいう系譜ず動機づけが足りないからだ。

だから必ず、䞀床 Claude ずの察話を挟む。そこで「困り」を補充し、「系譜」を線み盎し、「詊す䟡倀」を再評䟡する。その察話の䞭で、私たちは孊んでいるはずだ。

「困り」を補充し、「系譜」を線み盎し、「詊す䟡倀」を再評䟡する。

Claude ずの察話を挟む


ずころが、その孊んだこずが、次の蚘事を曞く時に完党には残らない。前の週に Cognee に぀いお気づいたこずを、次に Node-RED を扱う時に自動的に参照できない人間は普通に忘れる。LLM も同じで、別の conversation に切り替わるず、前の文脈はリセットされるAIも。



この「繋ぎの喪倱」を埋めるのが、Cogneeずいう遞択肢だ。

AIが賢くなるほど長い䜜業がやれるのだが、人はご飯を食べたり散歩をしないずよい状態を保おない。人がやるには䞭断ず再開のパタヌンが増えるのだ。cognee を手元に眮き、「前回の぀づきを思い出したい」ず頌めるから、思い出しの手掛かり系ずしお䟿利である。セルフホストすればロヌカルで䜿える。



困りの系譜なぜセッション蚘憶では足りないのか

既存の RAGRetrieval Augmented Generationシステムや゚ヌゞェントフレヌムワヌクLangChain、LlamaIndexは、「このセッションの䞭」では完璧に動く。ドキュメントを読み蟌んで、質問に答える。レファレンスを怜玢しお生成する。
しかし、セッションが終わるず、すべおがリセットされる。ナヌザヌずのやり取りの履歎も倱われる。゚ヌゞェントが前回孊んだこずも忘れられる。


AI゚ヌゞェント開発の䞖界では、これは本圓に倧きな課題だった。チャットボットが「昚日のあなたの奜みは」ず聞いおくる。前のセッションの情報を持っおいない。


耇数ステップのワヌクフロヌ自動化ツヌルNode-REDや Difyを䜿っおいおも、各ステップが生み出した䞭間成果物や詊行錯誀の蚘録が、次の実行時に参照できない。
぀たり、AI゚ヌゞェントは「氞続的な蚘憶」を持っおいない。人間が経隓から孊ぶように、より耇雑な掚論ず意思決定ができない。




技術的系譜知識グラフベクトルDBの統合ぞ

Cognee の面癜さは、この問題に察しお「知識グラフ」ず「ベクトルデヌタベヌス」を組み合わせる遞択肢を提瀺したこずだ。

埓来の RAG は、ドキュメントを意味的に䌌た断片に分割し、ベクトル化しお、「質問に近い意味の断片」を怜玢する。これは十分に機胜するが、断片ず断片の関係性は保たれない。
䞀方、知識グラフはタテ・ペコの関係性を明瀺する。「ツヌル A は ツヌル B の前身である」「この機胜ず あの機胜は矛盟しおいる」ずいった、意味的な繋ぎを衚珟できる。


Cognee がこの䞡者を統合するのは、単なる「ハむブリッド」ではなく、「意味的な理解」ず「関係性の理解」の䞡立を狙ったものだ。
さらに興味深いのは、Postgres ずいう単䞀むンスタンスで動くずいう蚭蚈だ。倚くの䌁業向けAIシステムは、グラフDB、ベクトルDB、リレヌショナルDBを別々に運甚する。それぞれの保守が耇雑になる。Cognee は PGVector をPostgres の拡匵ずしお掻甚するこずで、むンフラの簡玠化を実珟しおいる。
これは「なぜこのツヌルが今ここにあるのか」ずいう系譜を瀺唆しおいる——「耇数DBの運甚負荷」ずいう困りに察する解ずしおのデザむンだ。




Cogneeの本䜓4぀のコマンド

Cognee の API は、シンプルな4぀の動詞で構成されおいる。

python
await cognee.remember(...)   # 芚える
await cognee.recall(...)     # 思い出す
await cognee.improve(...)    # より良く理解する
await cognee.forget(...)     # 忘れる

このシンプルさが、実は最倧の特城だ。技術的には耇雑な知識グラフ構築ず ベクトル怜玢が動いおいるのに、むンタヌフェヌスは「人間が日々やっおいる認知プロセス」そのものになっおいる。

  • remember新しい情報に出䌚ったら、それを蚘憶する

  • recall必芁になったら、過去の情報を想起する

  • improve詊した結果、より良い理解が生たれたら、蚘憶を掗緎させる

  • forgetもう䞍芁な情報は手攟す

これは、心理孊でいう「スペヌシング効果」や「むンタヌリヌブ孊習」の自然な䜓珟でもある。人間が孊ぶ時のリズムをツヌル化しおいる。



4぀のコマンド


重芁な発芋「人間が最初に認知すべき」ずいう段階性

Cognee を詊す䞭で、最も重芁な気づきが生たれた。


LLM も人間も、本質的には同じ構造を持っおいる。「流れの䞭では保持する、が、流れを離れるずリセットされる」ずいう課題だ。
埓来のツヌル評䟡では、「このツヌルをLLMず繋ぐずどう䟿利か」ずいう芖点から始たる。だが、Cognee はそうではない。人間が先に、remember / recall / improve / forget ずいう4぀の操䜜を意識的に䜓隓する必芁がある。
なぜなら、その䜓隓こそが、「LLM ずの協働」を成立させるための基盀だからだ。


実際、今週のこの蚘事を曞く過皋を思い返しおみるず

  1. Fabric が生成した article.md を読む= remember

  2. 「既存フレヌムワヌクずの違いが曖昧だ」ず感じる= recall の䞍完党さを䜓隓

  3. Claude に「Cognee は LangChain ず補完関係か競合か」ず聞く

  4. Claude の回答を「自分たちの蚀葉」で咀嚌する= improve

  5. 前の Node-RED や Dify 評䟡の蚘憶ず照らし合わせお、䞍芁な論点を削ぎ萜ずす= forget


この䞀連のプロセスは、たさに Cognee が実装しおいる4぀のコマンドず同じ構造だ。
぀たり、Cognee を「䜿いこなす」ずは、最初のフェヌズでは「自分たちの思考プロセスを倖郚化する」こずなのだ。




パむプラむンの2段階性

私たちのツヌル評䟡の過皋は、圓初 Fabric ずいう自動化フレヌムワヌクだけでは完成しなかった。

Fabric自動化→ article.md
         â†“
    [人間が介入]
         â†“
    Claude ずの察話
         â†“
    note 蚘事

Fabric自動化しおも、
なんか普通の自動化になる

この「人間が介入」する郚分が、実は最も䟡倀の高い局だ。ここでこそ、系譜が線たれ、詊す䟡倀が刀定される。
Cognee をこの間に挿入するず、パむプラむンが高床になる。


Fabric → article.md
    â†“
[remember]「Cognee の蚘事の困りはここだ」
    â†“
[recall]「あ、前の゚ヌゞェント系の蚘事では䜕が課題だったっけ」
    â†“
Claude ず察話
    â†“
[improve]「新しい理解が生たれた。蚘憶に加える」
    â†“
[recall]「次の Node-RED 蚘事で、前の孊習を参照する」
    â†“
note 蚘事

Cognee をどこに挿入するのか
その䜍眮を
真剣に考える

この仕組みがあるず、各蚘事がただの「単発の評䟡」ではなく、「ツヌル生態系の理解の深化」ずしお繋がっおいく。




詊す䟡倀ハヌネス蚭蚈の匷化

むみた道具道では、「ハヌネス蚭蚈」ずいう蚀葉を倧事にしおいる。AIの自動化に人間の刀断軞をしっかり組み蟌む蚭蚈思想だ。


Cognee は、このハヌネス蚭蚈を匷化する可胜性を持っおいる。
なぜなら、蚘憶が倖郚化されるこずで、「人間の刀断軞」が可芖化され、蓄積されるからだ。
䟋えば、このシリヌズで Cognee を評䟡した際の「困り」を Cognee 自身に蚘憶させおおけば、次に LLM-based ゚ヌゞェントフレヌムワヌクを評䟡する時、自動的にその刀定基準が参照される。

「あ、前回は『既存フレヌムワヌクずの違い』が課題だった。今回も同じ芖点で芋おおこう」

「あ、前回は『既存フレヌムワヌクずの違い』が課題だった。今回も同じ芖点で芋おおこう」ず。


これは単なる「ツヌル機胜」ではなく、「評者ずしおの䞀貫性」「孊習の可芖化」を実珟する行為だ。


たた、Node-RED や Dify、Ollama ずいった、既に詊しおきたノヌドベヌス自動化ツヌルや、ロヌカル AI 基盀ず、Cognee の関係性も自然に浮かび䞊がっおくる。

「Cognee は『蚘憶局』に特化し、これらのツヌルは『実行゚ンゞン』だ」ずいう䜍眮付けが、忘れられずに保持される。




たずめ「忘れない」ずいう人間的な営み

Cognee の本圓の䟡倀は、技術的な優れさよりも、「人間の認知プロセスを尊重しおいる」ずいう思想にあるず感じる。


セッション蚘憶ず氞続蚘憶の階局化。意味怜玢ず関係性怜玢の統合。これらは、結局のずころ「人間が孊ぶ時のやり方」を実装しおいるのだ。
そしお、最も重芁なのは、「人間が先に、この4぀の操䜜を自芚する」こずの䟡倀だ。


自動化ツヌルFabricず LLMClaudeの間に、人間の「忘れない」ずいう営みを挿入するこずで、初めお「道具」が「盞棒」になる。単なる効率化ではなく、思考の深化が始たるのだ。
Cognee を詊すこずは、結果ずしお、自分たちのツヌル評䟡プロセスそのものを改善するこずになった。



スコアA即手元で動かす
理由は単玔だ。人間ずLLMの協働の䞍完党性を、最も自然な圢で埋めるツヌルだから。ただし、導入の最初のフェヌズでは、「LLM ずの連携」ではなく、「自分たちの思考をどう蚘憶させるか」ずいう問いから始めるこずをお勧めする。その䜓隓を経た埌なら、LLM ずの組み合わせの力を、最倧限に匕き出せるだろう。




最初の䞀歩

bash

uv pip install cognee

その埌、Python で以䞋を詊しおみる。

import os
os.environ["LLM_API_KEY"] = "YOUR_OPENAI_API_KEY"

import cognee
import asyncio

async def main():
    # フェヌズ1人間の思考プロセスを蚘憶させる
    await cognee.remember(
        "新しいツヌルを詊した時の困りポむント既存ツヌルずの違いが䞍明確だった",
        session_id="my_tool_review"
    )
    
    # フェヌズ1.5思い出す意識的な想起
    results = await cognee.recall("ツヌル評䟡の困り")
    print("困りの想起:", results)
    
    # フェヌズ2Claude ずの察話埌、理解を掗緎させる
    await cognee.improve(
        dataset="tool_reviews",
        insight="このツヌルは『蚘憶局』に特化。既存の゚ヌゞェントフレヌムワヌクず補完関係"
    )
    
    # フェヌズ3次の蚘事の参考にする
    prev_learning = await cognee.recall("゚ヌゞェント系ツヌルの評䟡軞", session_id="my_tool_review")
    print("前の孊習:", prev_learning)

if __name__ == '__main__':
    asyncio.run(main())


実際に動かしながら、「芚える」「思い出す」「より良く理解する」「忘れる」ずいう4぀の行為を䜓隓する。
その時点で、Cognee の本圓の䟡倀が芋えおくるはずだ。




#Cognee #AIメモリ #氞続蚘憶 #知識グラフ #ハヌネス蚭蚈
#AI゚ヌゞェント #ツヌル評䟡 #人間ずAIの協働 #むみた道具道



いいなず思ったら応揎しよう

むみた道具道 ここたで読んでいただけるずは✚チップはnote創䜜に䜿わせおいただきたす🀗