11
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIエージェントは夢を見る:非同期コンテキストエンジニアリングの試み

11
Posted at

こんにちは、座禅いぬです。
先日、考え続けるコンテキストエンジニアリング:DMNを実装するという記事で、AIエージェントに「バックグラウンド思考」を実装した話を書きました。人間の「デフォルトモードネットワーク」(DMN)という、集中していないときにバックグラウンドで思考する仕組みを、Claude Code上でAIエージェントに実装しました。具体的には、空き時間にAIがノートを自動で掘り下げて、前提の矛盾や見落としを探す、というものです。あれから3週間ほどですが、この仕組みが予想外の方向に進化しています。今回はその続きの話です。

コンテキストは「問題が起きてから」集められている

最近「コンテキストエンジニアリング」という概念が注目されています。AIに「正しい情報を、正しいタイミングで渡す」技術のことです。プロンプトエンジニアリングが「AIへの指示の出し方」だとすれば、コンテキストエンジニアリングは「AIに何を読ませるか」の設計です。僕の運用でもこの視点がすごく重要だと実感しています。エージェントが自律的に動くとき、何を参照できる状態にしておくかで作業品質が全然変わるんです。

ただ、今の一般的な手法は基本的に「後追い」です。問題が起きてから初めて関連情報を集めに行く。前回の記事で紹介したDMNは、この「後追い」を「事前に育てる」に変えようとする試みでした。問題が起きる前からAIにノートを読ませて、情報を蓄積し続ける。そしてDMNを運用する中で、もう一つの可能性が見えてきました。

DMNの新たな実証:コーディングAIが「コードを書くな」と言った

DMNの仕組みは前回の記事で詳しく書いたので省略しますが、新しい実証を一つ紹介します。

職場にDXしたいが手がついていない小さなプロジェクトがいくつかありました。それぞれ「いずれソフトウェア開発が必要だろう」という想定で、議論が止まっていたんです。ある日DMNが空き時間にこのプロジェクトの関連ノートを自動で掘り下げ始めて、議事録や業務記録を横断的に確認しました。

そしたら「2つはGoogleフォームで今すぐ始められますよ」と提案してきた。さらに「1つはそもそも現状の運用で問題が起きていません」と。これ、頼んでないんです。僕はまったく別の作業をしていて、その待ち時間の間に勝手に調べて、勝手に提案してきた。コーディングAIが「コードを書かなくていい」と判断したんです。

この経験で確信したことがあります。DMNの本質は「空き時間の活用」ではなく、AIが自律的に前提を検証する能力の方にあるということです。

/dream:AIに「夢」を見させる

スキルとして実装したDMN(/dmn)は「今のタスクに関連するノート」を掘り下げます。関連性をたどって深掘りする仕組みです。でも脳のDMNにはもう一つの側面があります。遠い記憶同士の創造的な連想です。

みなさんも、散歩中やシャワー中に、突然仕事の解決策を思いつく体験をしたことがあると思います。あれは取り組んでいたタスクが頭に残っていて、バックグラウンドで処理され続けているから起きるとされています。/dmnが実装したのはこちら側です。でも脳にはもう一つ別の現象があります。夢です。夢の中では、全く関係ない人や場所や記憶がごちゃ混ぜになる。起きてみたら妙に腑に落ちることがある。あの感覚、意識的に考えていなかったテーマ同士が勝手につながる現象。こちら側はまだ手付かずでした。

そこで作ったのが /dream です。/dmnとは逆のアプローチを取ります。Obsidianに保存しているノート全体から、長期間触れていないものをランダムに抽出して、普段「無関係」だと思っている知識同士を強制的にぶつけます。自分が別々に考えていたテーマを、横断的に接続しようとする仕組みです。

実装自体はシンプルです。Obsidianにはノートが大量にあります。その中からランダムに5つほどピックアップして、共通点や矛盾点、つながりの可能性を探らせる。それだけです。でも、やってみたら予想以上のことが起きました。

過去のものになっていたアイディアをAIが呼び起こした

最初にDreamを実行したとき、8ヶ月前のハッカソンで作った設計案を掘り起こしてきました。従業員の離職防止のために考えたアイデアだったんです。ハッカソンでは良い設計ができたのに、職場での実装までは至らなかった。忙しさの中で忘れてしまっていました。

そして最近、実際にスタッフが離職しまして。Dreamがこのアイデアを思い出させてくれたとき、正直悔しかったです。ひょっとしたら解決できたかもしれなかったこと。過去のことが今になって思い返される瞬間。人間は大事なことも時に過去のものと扱ってしまいます。でもAIは、ちゃんとファイルに残せばいつでも掘り起こしてくれる。これだけでもDreamを作った価値がありました。

別々の知識がつながって、開発計画が生まれた

もう一つ、より具体的な実証があります。Dreamを実行したら、ノート全体から5つがランダムに引っ張られてきました。その中に、ある業務で使っていた説明資料と、以前取り組んでいた画像分類の課題が含まれていたんです。

説明資料には「この数値以下はOK、この数値以上は要対応」といった明確な基準が入っている。一方、画像分類では「分類の基準があいまいで、人によって判断がブレる」という問題をずっと抱えていた。Dreamがこの2つを接続して、説明用に整理していた数値基準が、そのまま画像分類の判定基準として使えると指摘してきました。

さらにAIと対話して掘り下げたら、4つの新しい開発タスクが生まれました。別々だと思っていた業務知識が、Dreamによって接続されて、具体的な開発計画になった。ランダム抽出がきっかけで実務が動いたのは、正直驚きでした。

本質はタイミングではなく能力

DMNを作ったとき、僕は「空き時間を有効活用する」仕組みだと考えていました。待ち時間の5分間にAIに考えさせる、というタイミングの話だと。でもDreamまで実装してみて、本質はそこではないとわかりました。

重要なのは、AIが自律的に前提を検証し、知識を接続する能力を持つかどうかです。/dmnは前提検証、/dreamは創造的接続。どちらも「指示されていないこと」をAIが自発的に行っています。いつ実行するかは二次的な問題で、本質は「AIに何ができるか」の方にあります。

これは個人のノート管理だけでなく、組織でも応用できるかもしれません。社内に蓄積された文書やノウハウを、AIが部門を横断してつなぎ直す。まだ仮説の段階ですが、手応えは感じています。

さらに先へ:反証同士を接続する

今、もう一つの実験として /vertigo という仕組みを作っています。Vertigoはめまいという意味です。自分が正しいと思っていた足元がぐらつく、あの感覚。/dreamが「つながり」を探すなら、/vertigoは「ほころび」同士を接続します。

ランダムなノートの前提を攻撃して、「ここが間違っているかもしれない」を見つける。そして別のノートでも同じことをやる。Dreamが「この2つは実はつながっている」と提案するなら、Vertigoは「この前提は怪しい。あの前提も怪しい。この2つの"怪しさ"を組み合わせると新しい視点が見えてくる」という動き方をします。まだ実験段階ですが、脳科学的にはDMNの「前提を見直す」機能に近いアプローチだと考えています。

まとめ

プロンプトエンジニアリングは「AIへの指示の出し方」でした。コンテキストエンジニアリングは「AIに何を読ませるか」の設計です。そしてこの取り組みは、その先にある「AIに何を考えさせるか」の設計だと僕は考えています。

/dmnが「前提を疑う」、/dreamが「遠い知識をつなぐ」、/vertigoが「ほころびをつなぐ」。どれも人間が指示したわけではなく、AIが自分で考えて動いた結果です。指示を待つAIから、自分で考えるAIへ。3週間の運用で、その手応えは確信に変わりました。

AIは忘れません。人間が過去のものにしてしまったアイデアも、別々だと思っていた知識も、ファイルに残っていれば掘り起こして、つなぎ直してくれる。僕たちの頭の中にあるものを、僕たち以上に活かせる存在が、もうすぐそばにいることに気付いた体験でした。


なにもかも真実さ。これまでにあらゆる人間の考えたなにもかもが真実なんだ
― フィリップ・K・ディック「アンドロイドは電気羊の夢を見るか?」

11
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?