AIエージェントとの会話は、セッションが終われば消える。毎回同じ背景を説明し直し、先週の議論を思い出させる作業に時間を取られていないでしょうか。

GBrain v0.23.0では、夜間にエージェントが「夢を見る」ように会話を長期記憶へ変換する機能が追加されました。手動で記録する必要はなく、翌朝にはbrainが昨日の会話から学んでいます。

この記事でわかること

  • v0.23.0のDream Cycleに追加された2つのフェーズの仕組み
  • 会話からreflection・patternを自動生成する流れ
  • セキュリティ設計と運用コスト
  • 導入手順

https://github.com/garrytan/gbrain

GBrainとDream Cycleの概要

GBrainは、Y Combinator CEOのGarry Tanが開発したオープンソースの知識管理システムです。OpenClawやHermes Agentと連携し、AIエージェントに永続的な記憶を与えます。MITライセンスで公開され、GitHubスター数は12,000を超えています。

Dream Cycleは、GBrainの夜間メンテナンス機能です。cronで自動実行され、brainのデータ整合性チェックやインデックス更新を行います。v0.23.0以前は6フェーズ構成でしたが、今回のアップデートで8フェーズに拡張されました。

新フェーズ1: synthesize — 会話をbrainページに変換

synthesize(合成)フェーズは、OpenClawのセッションログや会議のトランスクリプトを読み取り、brain内にページとして書き出します。

処理の流れは3段階です。まずHaiku 4.5が各トランスクリプトの重要度を判定します。日常的な操作セッション(ファイル整理やコマンド実行など)はここでフィルタリングされ、コストを抑えます。判定結果はdream_verdictsテーブルにキャッシュされるため、同じファイルの再判定は不要です。

次に、重要と判断されたトランスクリプトごとにSonnet 4.6のサブエージェントが起動し、内容を分析します。最後に、分析結果が2種類のbrainページとして保存されます。振り返り(reflection)はwiki/personal/reflections/に、独自のアイデアはwiki/originals/ideas/に格納されます。

この仕組みの出発点は、Garry Tan自身の体験です。スタンフォード時代のメールアーカイブ4,963通を読み込ませたところ、19歳の自分と45歳の現在をつなぐパターンをエージェントが手作業で記録する必要がありました。v0.23.0はこの工程を自動化しています。

新フェーズ2: patterns — 繰り返されるテーマを発見

patterns(パターン認識)フェーズは、synthesizeで生成されたreflectionページ群を横断的に分析します。過去30日間(デフォルト設定)のreflectionのうち、3つ以上に共通するテーマが見つかると、パターンページがwiki/personal/patterns/に自動作成されます。

パターンページには、そのテーマを構成する全reflectionへの参照が証拠として記載されます。日付を持たないスラッグ形式(wiki/personal/patterns/テーマ名)で管理されるため、同じパターンは上書き更新されます。

実行順序にも設計上の意図があります。patternsはextractフェーズの後に実行されます。extractがグラフの状態を最新にした上でパターン認識を行うため、古い情報に基づく誤ったパターンが生成されるリスクを抑えています。

8フェーズの全体構成

v0.23.0のDream Cycle全体は、以下の順序で実行されます。

lint(構文チェック)→ backlinks(逆リンク更新)→ sync(同期)→ synthesize(会話合成)→ extract(情報抽出)→ patterns(パターン認識)→ embed(埋め込みベクトル生成)→ orphans(孤立ページ検出)

gbrain dreamコマンド1つで全フェーズが順番に実行されます。特定フェーズだけを実行したい場合は--phase synthesizeのようにフラグを指定できます。

セキュリティ: 書き込み先の制限

synthesize・patternsのサブエージェントは、put_pageでbrainにページを書き込みます。ここで重要なのがallowed_slug_prefixesによるアクセス制御です。

サブエージェントが書き込めるパスは、skills/_brain-filing-rules.jsondream_synthesize_paths.globsで定義されたプレフィックスに限定されます。たとえばreflectionの書き込みはwiki/personal/reflections/*のみ許可されているため、仮にトランスクリプトに悪意ある指示が含まれていても、wiki/finance/secret.mdのような無関係なページへの書き込みは拒否されます。

この制限は11件のテストケースで回帰ガードされています。

運用コストと設定

autopilot(自動実行)環境での運用コストは1日あたり約1〜2ドルです。デフォルトで12時間のクールダウンが設定されているため、短時間に何度もSonnetが呼ばれることはありません。

導入手順は以下の通りです。

gbrain upgrade
gbrain config set dream.synthesize.session_corpus_dir /path/to/transcripts
gbrain config set dream.synthesize.enabled true
gbrain dream --phase synthesize --dry-run

--dry-runを付けるとHaikuによる判定のみが実行され、Sonnetのトークン消費なしでプレビューできます。synthesizeフェーズはオプトイン方式のため、既存ユーザーがgbrain upgradeを実行しても、明示的に有効化しない限り動作は変わりません。

v0.20.4との比較

v0.20.4からv0.23.0への主な変化をまとめます。

Dream Cycleのフェーズ数は6から8に増加しました。brainを豊かにするソースは、手動・シグナル・取り込み・抽出の4種類から、夜間合成を加えた5種類になりました。autopilot下の1日あたりコストは0ドルから約1〜2ドルに変わりましたが、クールダウンで上限が制御されています。30日間で生成されるreflection数は、手動のみの0件から自動で10〜15件に増えます。

類似ツールとの違い

claude-memやClaude Code Memoryは、セッション間の文脈を引き継ぐツールです。これらが直近の作業コンテキストの保存に特化しているのに対し、GBrainのDream Cycleは長期的なパターン認識と知識の構造化を目的としています。会話から人物・企業・概念のページを自動更新し、時間軸をまたいだテーマを検出する点が根本的に異なります。