こんにちは、座禅いぬです。
おかげさまで最近はいろいろな人と知り合えて、たくさん学ぶことができていてありがたい限りです。地元広島でもたくさんのご縁があり、勉強会などもさせてもらったりもしますが、結局一番勉強させてもらってるのは自分の方だな、とつくづく思います。
さてさて、ここしばらくはAIとずっと協働していまして、特にAIエージェントにコンテキストを読み込ませることは非常に関心の高い部分でした。最近になって、やっとこれだという一つの仕組みにたどり着きました。それがAIに「時間軸」を与えるという考え方です。
今回は、なぜそれが必要だったのか、どう実装したのか、そして実際に何が起きたのかをお話しします。技術的な詳細よりも「考え方」を中心に書きますので、エンジニアでない方にも読んでいただけると思います。
AIは、聞かれるまで何も考えていない
当たり前のことですが、AIは指示した瞬間から考え始めます。
「あのタスクを進めて」と言うと、そこからファイルを探し、情報を集め、考え始める。セッションが切れたら前の文脈は消えて、また最初から。毎回ゼロスタートです。
一方、僕たち人間はどうでしょうか。仕事中にふと「あの件、こうすればいいんじゃないか」と思いつく。散歩中に「AとBって、実は同じ問題だな」と気づく。寝る前に「そもそも、あれは本当に必要なのか?」と疑問が浮かぶ。
このバックグラウンドの思考が、翌日の判断を速く、深くしてくれています。AIには、これがない。ここがずっと気になっていました。
脳科学では「デフォルトモードネットワーク」と呼ぶらしい
調べてみると、脳科学の世界ではこれをデフォルトモードネットワーク(DMN)と呼んでいるそうです。
集中作業をしていないときに活性化する脳の領域らしく、記憶の整理、前提の問い直し、離れた知識の接続を行っている。例えば、散歩中やシャワー中にアイデアが浮かぶのは、DMNの仕業だそうです。
つまり人間は、「考えていないとき」にも考えている。
ここで気づきました。AIとの協働には、この「時間軸」が完全に欠けている。指示した瞬間にコンテキストを組み立てる「同期的」なモデルしかない。でも人間の脳は、指示する前から「非同期的」にコンテキストを構築し続けている。この差を埋められないか。そう考えて実装を始めました。
やったこと:AIに「パルス」を打たせる
実装の核はパルス(拍動)という仕組みです。心臓が1回拍動するように、1パルスでタスクへの理解が1段深くなる。これをバックグラウンド思考の最小単位として、作業の合間に繰り返せる仕組みを作ってみることにしました。つまり、指示した作業が終わったり、スケジュールをAIが考えるタイミングで、このパルスが起動するようにすればいいわけです。
具体的には、タスク管理ツール(Kanban)に登録されているタスクに対して、人間が見なくてもいい領域に「思考ノート」を作っていきます。パルスが打たれるたびに、こんな感じで深まっていきます。
| 深度 | 内容 |
|---|---|
| 第一層 | タスクの記述をそのまま転記する(種を蒔く) |
| 第二層 | なぜこのタスクが存在するのか?(根を張る) |
| 第三層 | このタスクの前提は正しいか?(検証する) |
| 第四層以降 | 新しい問いを立てて、さらに深く潜る |
新しい問いを立てるときに、以前ここでも触れた/branchというskillを使い、思考拡張していきます。深く潜るほど、得られるものがある。まるで某アビスのようですね。おやおや。
パルスは、僕が何か作業を終えてチェックしている間に、バックグラウンドで自動的に打たれます。僕は何も指示していない。でもAIは、少しずつタスクについて考え続けている。
たとえば、こんなことが起きる
架空の例で説明させてください。
あなたのチームに「ドキュメント整備」というタスクがある。
重要だけど緊急ではない。Kanbanの下の方でずっと眠っている。
DMNがこのタスクにパルスを打ち続ける。第三層で「本当に後回しでいいのか?」と前提を検証する。「今のチーム構成なら、口頭で引き継げるから大丈夫」という結論が出る。
数週間後、ベテランの異動が決まる。
次のパルスで、AIがこの変化を検知する。「口頭で引き継げる」という前提が崩れている。第四層で「新しい人が来たとき、このドキュメントで仕事を覚えられるか?」と問いが立つ。答えはNo。
あなたが気づく前に、AIが「このタスク、急いだ方がいいかも」と言ってくる。
これが「時間軸」を与えた効果です。
AIは指示を待っていない。状況が変わるたびに、すでに持っている理解を更新し続けている。だから変化に気づける。ただし、勝手にドキュメントを作るのに使うわけではありません。人間に提言する準備を進めていき、人間のコンテキストを読み取るときに思考ノートも参照して、提言をするように仕組みを構築していきます。
もう一つの発見:タスク同士がつながる
パルスを打ち続けていると、別の面白いことが起きました。タスク同士の接続が見つかるのです。たとえば「採用」と「教育」は別々のタスクです。でも深掘りしていくと、「どちらもドキュメント不足がボトルネックになっている」ことが見えてくる。
「Aのやり方、Bにも使えるんじゃない?」
「CとDって、構造が同じだ。ということは...」
こういう横のつながりは、タスクを個別に見ているだけでは気づきにくい。DMNが複数のタスクを並行して深掘りしているからこそ、接続が見えてきます。
「矛盾」が見つかるのが一番うれしい
運用していて、一番価値があると感じるのは矛盾の発見です。
DMNが事前に構築した理解と、最新の情報が矛盾したとき。「あれ、前はこう思ってたけど、今の状況だと違うぞ」という瞬間。これは「見落としていたことがある」という最高の気づきです。
普通、AIは矛盾を嫌います。整合性を取ろうとする。でもこの仕組みでは、矛盾を歓迎する設計にしています。矛盾が見つかったら、それを消さずに記録する。なぜ矛盾が生まれたのかを分析する。
例えば、「長期課題だと思っていたが、状況が変わって緊急課題になった」ということがみつかったこれがまさに矛盾です。そしてこれこそが、最も知りたかった情報です。
朝起きたら、AIがすでに考えている状態
今の運用リズムはこんな感じです。
朝:セッションを開くと、AIが「昨日からこう考えてました」という状態でスタート。ゼロスタートではない。
作業中:僕がチェック作業をしている間に、バックグラウンドでパルスが打たれる。
夜:全タスクを棚卸しして、接続を探索する重めの処理を回す。
これを続けていると、コンテキストが拾ってきた情報ではないという感覚があります。
毎回「まずは現状を調べます」から始まっていたAIが、「これについてはこう理解しています。確認したいのはこの2点です」と返してくるようになる。
必要だったのは「非同期」だった
こうして振り返ると、この8ヶ月の試行錯誤は一つの問いに集約されるように思います。
「AIと人間の協働を、どう設計するか」
最初は「AIに何を伝えるか」を考えていました。プロンプトの書き方、コンテキストの渡し方。次に「AIをどう制御するか」を考えました。ルールを作り、チェックポイントを設け、自律性を上げる。
そして今は「AIにいつ考えさせるか」を考えています。指示した瞬間だけでなく、指示する前から考えさせる。並列でも直列でもなく、非同期。
僕がやっていることはあくまで自分のコンテキストの活用ですが、このような動態のあるものが本来あるべきコンテキストエンジニアリングの姿だと思うのです。
まとめ
コンテキストエンジニアリングで大事なのは、「何を入れるか」だけではない。「いつ構築するか」という時間軸を加えると、AIの振る舞いが変わる。
- 状況の変化に気づける
- タスク同士の接続が見える
- 見落としていた矛盾が浮かび上がる
実装はObsidian + Claude Codeという、体験できることの割には特別なインフラを必要としない組み合わせです。AIに無意識を実装する。馬鹿みたいな話に聞こえるかもしれませんが、やってみたところ、かなり効果的ではないかという風に感じています。
皆さんなら、AIの「時間軸」をどう設計しますか?