Cogneeを試す — 人間とAIが「忘れない」ために
導入:なぜ記憶は重要なのか
毎週、新しいAIツールを試して記事にする。その過程で気づいたことがある。人間もLLMも、同じように忘れるということだ。
Fabricというフレームワークを使って、GitHubのREADMEからテーマと指示を与えると、article.mdという記事の下書きが自動生成される。ここまでは完全に自動化できる。でも、その下書きだけでは、むみま|道具道の読者に届ける記事にはならない。
なぜなら、「なぜこのツールが今ここにあるのか」「既存の選択肢とどう違うのか」という系譜と動機づけが足りないからだ。
だから必ず、一度 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:もう不要な情報は手放す
これは、心理学でいう「スペーシング効果」や「インターリーブ学習」の自然な体現でもある。人間が学ぶ時のリズムをツール化している。

重要な発見:「人間が最初に認知すべき」という段階性
Cognee を試す中で、最も重要な気づきが生まれた。
LLM も人間も、本質的には同じ構造を持っている。「流れの中では保持する、が、流れを離れるとリセットされる」という課題だ。
従来のツール評価では、「このツールをLLMと繋ぐとどう便利か」という視点から始まる。だが、Cognee はそうではない。人間が先に、remember / recall / improve / forget という4つの操作を意識的に体験する必要がある。
なぜなら、その体験こそが、「LLM との協働」を成立させるための基盤だからだ。
実際、今週のこの記事を書く過程を思い返してみると:
Fabric が生成した article.md を読む(= remember)
「既存フレームワークとの違いが曖昧だ」と感じる(= recall の不完全さを体験)
Claude に「Cognee は LangChain と補完関係か競合か」と聞く
Claude の回答を「自分たちの言葉」で咀嚼する(= improve)
前の Node-RED や Dify 評価の記憶と照らし合わせて、不要な論点を削ぎ落とす(= forget)
この一連のプロセスは、まさに Cognee が実装している4つのコマンドと同じ構造だ。
つまり、Cognee を「使いこなす」とは、最初のフェーズでは「自分たちの思考プロセスを外部化する」ことなのだ。
パイプラインの2段階性
私たちのツール評価の過程は、当初 Fabric という自動化フレームワークだけでは完成しなかった。
Fabric(自動化)→ article.md
↓
[人間が介入]
↓
Claude との対話
↓
note 記事
なんか普通の自動化になる
この「人間が介入」する部分が、実は最も価値の高い層だ。ここでこそ、系譜が編まれ、試す価値が判定される。
Cognee をこの間に挿入すると、パイプラインが高度になる。
Fabric → article.md
↓
[remember]「Cognee の記事の困りはここだ」
↓
[recall]「あ、前のエージェント系の記事では何が課題だったっけ?」
↓
Claude と対話
↓
[improve]「新しい理解が生まれた。記憶に加える」
↓
[recall]「次の Node-RED 記事で、前の学習を参照する」
↓
note 記事
その位置を
真剣に考える
この仕組みがあると、各記事がただの「単発の評価」ではなく、「ツール生態系の理解の深化」として繋がっていく。
試す価値:ハーネス設計の強化
むみま|道具道では、「ハーネス設計」という言葉を大事にしている。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創作に使わせていただきます🤗