Files
liqiang b119135836
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
2026-08-20 13:12:50 +00:00

48 lines
17 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# あとがき:Agent = LLM + コンテキスト + ツール に立ち返る {.unnumbered}
本書は冒頭で一つの公式を提示しました。**Agent = LLM + コンテキスト + ツール**。全 10 章は、いずれもこの 3 つの語の中で展開されてきました。
**第 1 章** は公式の 3 層の理解——実装層、直感層、学術層——を築き、ワークフローから自律エージェントまでのオーケストレーションのスペクトラムを示しました。続く各章は「構築—評価と進化—協調」の順に展開してきました。
- **Agent を構築する(第二〜六章)。** コンテキストエンジニアリングは Agent が一つのタスクで何を見るかを決め、メモリと知識ベースは情報を複数のセッションへ広げます。ツールはそれに何ができるかを定義し、コード生成は新しいツールとシステムを創り出すメタ能力を与えます。そして交互作用の章は、観察空間と動作空間をテキストのターン制から音声・GUI・物理世界へと押し出します。
- **評価と進化(第七〜九章)。** 評価は性能を信頼できる信号に変え、後訓練は高次元の能力をモデルのパラメータへ書き込み、継続進化は本番の経験を知識・指示・プログラム・パラメータへの制御された更新へと転換します。
- **協調(第十章)。** マルチ Agent 協調は、コンテキスト・ツール・責任の組織のしかたをさらに変えます。
第 8〜10 章は、これら 3 本の柱を組み合わせ、より複雑な応用へと投じます。
- **第 9 章——自己進化。** エージェントに、重みを変えないという前提の下で、経験から方策を蓄積させ、ワークフローを記録させ、知識を外部化させ、さらには能動的に新しいツールを創造させます。
- **第 6 章——マルチモーダルとリアルタイム対話。** 知覚と行動をテキストから視覚、音声、物理世界へと拡張し、リアルタイム性がもたらすアーキテクチャ上の課題に正面から向き合います。
- **第 10 章——マルチ Agent 協調。** それは公式の外にある新しいものではありません。コンテキストを共有するか否かは、第 2 章の「隔離は圧縮に勝る」をシステムアーキテクチャの層で表現したものです。「エージェントが互いにツールとなる」ことは、第 4 章の協調ツール設計から直接来ています。そしてマルチエージェントの優劣を判断する「新しい情報」という判定基準は、第 7 章の評価の核心的な思想と呼応します。
## 二つの暗雲 {.unnumbered}
1900 年、ケルビンは物理学の晴れ渡った空になお二つの暗雲が漂っていると述べました。のちに、一つは相対性理論となり、もう一つは量子力学となりました。今日のエージェントの空もまた晴れ渡っているとは言えず、私にも二つの暗雲が見えます。
**第一の暗雲は、エージェントがいかにストリーミングで、リアルタイムに環境と相互作用するか、です。** 今日の大多数のエージェントは依然としてターンごと(turn-by-turn)の「リクエスト—レスポンス」モードです。あなたが一言話し終えると、それがひとまとまり考え、一度に結果を吐き出す。しかし現実の世界は、それが考え終わるのを待って止まってはくれません。話は遮られ、画面は絶えず変化し、メールは次々に届きます。真に「生きている」エージェントは、聞きながら考え、話しながら考えられるべきであり、あなたの話が途中でも計画を始められ、誰にも指示されなくても「このメールはもう処理すべきだ」と自ら気づけるべきです。このリアルタイム性へ向かう道は 2 つあり、往々にして並行して進みます。一つは **アーキテクチャ上で速い・遅いを分離すること**——リアルタイム性と知能はほぼ直交する 2 つの軸であり、単一のモデルでは両立が難しいため、前面の速いモデルに対話のテンポを維持させ、背後の遅いモデルに深い思考を担わせます。もう一つは **推論そのものを速くすること**——デコード速度が十分に高ければ、ターンごとの待ち時間はほぼ消えるほどに短くなり、turn-by-turn と「リアルタイム」の境界も曖昧になります。この道はチップと推論エンジンによって急速に推し進められています。小米(Xiaomi)の MiMo はすでに、1T パラメータのモデルを単一の 8 枚構成ノード上で生成速度 1000 token/s 超へと押し上げ[^mimo]、モデル全体をそのままチップに焼き込む専用方式(Taalas HC1 など)に至っては、80 億パラメータのモデルを約 17000 token/s、応答 100 ミリ秒未満へと押し上げています[^taalas]。モデルが毎秒数千文字を吐き出せるようになると、「考え終えてから話す」と「考えながら話す」の体験の差は消し去られます。
**第二の暗雲は、エージェントがいかに人間のように、環境との相互作用における成功と失敗から経験を継続的に蓄積するか、です。** 今日のモデルは、記憶力は抜群だが新しいことを学べない天才に似ています。訓練時に人類の知識を隅々まで暗記しますが、現場に出た後はほとんど成長しません。タスクが終わるたびに、踏んだ落とし穴や試して見つけたコツの大半は、コンテキストとともに捨てられてしまいます。これが本当に真の問題なのかどうかは、鋭く対立する 2 つの仮説にかかっています。
一つは **「小さな世界仮説」** です。十分に大きなモデル——たとえば数兆パラメータ——は、物理世界のほぼすべての重要な汎用知識をもともと収めきれるのであり、一度学べば十分だという考えです。この見方を採る人々(OpenAI や Anthropic の研究者にも少なくありません)は、AI が今日、唯一プログラミングにおいて最も強いのは、コードがモデルにとって何か特別だからではなく、プログラミングが人類にとって最も開かれた分野だからだ、と指摘します。膨大なオープンソースコードがそこにあり、学習に供される。ところが大多数の業界には、そもそも公開された情報やデータがありません。そこで最前線の研究所が実際にやっているのは、各業界と一社一社協力して、それぞれの専門能力を同じ一つの大規模モデルへと「蒸留」していくことです。この見方によれば、ボトルネックはモデルの容量にも、学べるか否かにもなく、データが足りるか否かにあります。データを食わせて一度訓練すれば、問題は解決するというわけです。
しかし **「大きな世界仮説」** は、「一度の訓練」だけでは補えない層を指し示します。それは、特定のユーザーや特定の企業に属する知識です。特定の会社のコード規約、PPT の好み、ある顧客固有の気質は、どの訓練コーパスにも含まれず、しかも刻々と変化します。無数の具体的な状況から成るこの「大きな世界」に適応するには、モデルは現場に出た後も学び続けるしかなく、出荷時にすべてを一度で備えられるとは期待できません。これこそ、第 3 章のメモリと第 9 章の継続的進化が探っている方向です。経験を知識文書、指示、プログラムとして書き出すのか、それとも選別したうえでモデルパラメータの更新に使うのか。さらに、「RSI(再帰的自己改善)」と「AI for Science」はどちらも、出来合いの答えがない最前線へエージェントを押し進めています。そこでは、何事も人に尋ね返すのではなく、繰り返す実験の成否から自律的に学ぶほかありません。したがって、モデルの最も強い能力は、最終的には記憶ではなく、学習と適応になるでしょう。
この二つの暗雲は、どちらも一度のモデルアップグレードで無から吹き払えるものではありません。それらが最終的にどう乗り越えられるのかを理解するには、まず一つのことを見極める必要があります。モデルとエージェントは、そもそも上流と下流の関係ではなく、共に前へと歩んでいるのだ、ということです。
## モデルとエージェントの共進化 {.unnumbered}
harness の中に幾重にも積み重なった保険のロジック——多段のコンテキスト圧縮、数千回失敗してようやく遮断するリトライ、悲観的にデフォルトで「安全でない」とみなす権限判断——を振り返ってみると、一見醜いそれぞれの「クソコードの山」が記録しているのは、モデルが今この瞬間まだ安定してこなせない箇所です。次世代のモデルがこれらの制約を内在化すれば、対応するコードは削除できます。そしてモデルが内在化できるのは、まさにエージェントが真の事業の中でそれらの落とし穴をとうに一度通り抜け、次のラウンドの訓練の信号として沈殿させておいたからです。ユーザーが本物の難題を提起し、アプリケーション層が harness でモデルが今はうまくできないことを補い、その補いが逆にモデルの次のイテレーションの訓練信号になる。これは自己強化のフライホイールです。
このフライホイールは、第 1 章で宙づりにしたあの問いにも答えます。**モデルは最終的に Harness を食い尽くすのか。本書の答えは「はい」です。ただし、一度にではなく一層ずつ食べていき、すべてを食べ終える日は決して来ません。** モデルがある能力を安定して内在化するたびに、対応する Harness 層は削除できます。第 6 章のインタラクションモデルはまさにそうしたサンプルです。割り込みや相槌といった、かつては外付けの harness に頼ってようやく組み上げられた振る舞いが、今やモデルの内部に直接作り込まれています。しかしこの「食う」ことは決して終わりません。第一に、訓練は月単位で、モデルは待てても事業は待てません。第二に、モデルは真の事業におけるすべての制約と好みを内在化できず、常に最新の境界の一層は外部ロジックの保険を必要とします。第三に、どの世代のモデルも新しい能力の最前線を切り開き、そして最前線こそがモデルが最も安定してこなせない場所なのです。ですから Harness は消えず、ただモデルとともに、絶えず新しい最前線へと移り住んでいくだけです。これこそ、エージェント時代における『苦い教訓(The Bitter Lesson)』の読み方でもあります。汎用的な手法は最終的に勝つ、しかし「最終的に」という言葉の中の一区間ごとの道は、すべて Harness が敷いたものなのです。
そしてフライホイールが最も速く回るのは、両端を同時に握る者のところです。Anthropic が Claude Code で行っているのは、まさに自社のモデルと自社の harness を互いに養い合わせ、共に進化させることです。モデルは harness が自分をどう呼び出すかを知り、harness もモデルの境界がどこにあるかを把握し、両端のどんな変更もすぐに相手にフィードバックされます。かつて、モデルを変えず harness だけを変える実験をした人がいましたが、タスクの正解率は 52.8% から 66.5% へと跳ね上がりました——これは harness が今日どれほど大きなレバレッジを持つかを示すと同時に、あなたにこう気づかせます。それほど大きなレバレッジを持つのは、まさにモデルがまだそこまで到達していないからだ、と。だからこそ、このフライホイールそのものが、この時代の最も深い堀の一つなのです。真の事業、フィードバックデータ、モデルのイテレーションが噛み合えば噛み合うほど、他者が外から追いつくのは難しくなります。
これがあなたにとって何を意味するかは、あなたがフライホイールのどちらの端に立っているかによります。もしあなたがモデルを作っているなら、堀とはこのフライホイールを回すこと——真の場面のフィードバックを一刻も早く訓練へと還流させることです。もしあなたがモデルの上でアプリケーションを作っているなら、harness は短期的にあなたの最も鋭い技術的レバレッジですが、冷静でいてください。モデルが制約を一層内在化するたびに、harness だけで築いた優位の一群も、ついでに平らにされてしまいます。アプリケーション層の本当に長く続く堀は、往々にして技術の外にあります。独占的なデータ、堅固なチャネル、ユーザーの信頼、ネットワーク効果、そして人間とエージェントの協働を必要とする物理世界の場面です。harness で時間を稼ぎ、その時間を使って技術の外の壁を築く——それこそが手堅い打ち手です。
ですから、手にしたフレームワークが時代遅れになるのではないかと焦る必要はありません。モデルは数か月ごとにイテレーションし、具体的な API、製品、ランキングはどれも移り変わります。しかし「何を見るか、何をできるか、正しくできたかをどう検証するか」というこの 3 つの問いは時代遅れになりません。それらが記述しているのは特定のモデルの使い方ではなく、一つの知的システムが世界と相互作用する基本的なあり方だからです。それらを身につければ、次世代のモデルがどんな新しい能力をもたらそうと、あなたはそれを公式のどの位置に置くべきかが分かり、それが二つの暗雲を吹き払うまでにあとどれくらいの距離があるかも一目で見て取れるのです。
エージェント技術はなお飛ぶように進化しており、一冊の本ですべての変化を追いかけることはできません。しかし、もしこの本があなたに持ち帰らせるものが、ある API の具体的な使い方ではなく、技術の波の中で冷静さを保てる一揃いの判断力であるなら、この本はその使命を果たしたことになります。本書のすべての本文、図版、付属の実験コードはオープンソースです。ぜひリポジトリで実験を自分の手で一度動かし、issue や PR を出してみてください。そしてエージェントの最も魅力的なところは、コードを書くことで新しい能力を創造し、さらには自らを改良さえできる点にあります。ここまで読んだあなたは、すでに「創造」の原則を握っています。さあ、次は何かを造りに行きましょう。
[^mimo]: 小米(XiaomiMiMo-V2.5-Pro-UltraSpeed は、FP4 量子化、DFlash 並列投機的デコーディング、TileRT 推論システムというモデル—システムの協調設計を通じて、単一の汎用 8-GPU ノード上で 1T パラメータモデルの生成速度を初めて 1000 token/s 超へと押し上げた。小米 MiMo 公式技術ブログ “Pushing 1T-Parameter Model Generation Speed to 1000 TPS”, 2026 を参照。https://mimo.xiaomi.com/blog/mimo-tilert-1000tps
[^taalas]: Taalas HC1 は Llama 3.1 8B のモデル全体を 6nm チップに焼き込み、約 17000 token/s、応答 100 ミリ秒未満を実現した。その代償として、チップは焼き込まれたそのモデルしか実行できず、モデルの更新には再度のテープアウトが必要となる。Karl Freund, “Taalas Launches Hardcore Chip With Insane AI Inference Performance,” Forbes, 2026 を参照。https://www.forbes.com/sites/karlfreund/2026/02/19/taalas-launches-hardcore-chip-with-insane-ai-inference-performance/ 。