2026年8月28日 公開

1年、10エージェント、月額0ドル — そして私はまだここにいる
1年前、これは机の上に既に置かれていたハードウェアで5人のエージェントが5つの仕事をしていました。今は10人になりました——ハードウェアも財布も同じで、依然として実質的に月0ドルです。
これが見出しです。しかし見出しは重要な部分を伝えません。重要な部分は、途中で何が壊れたかです。なぜならすべてが壊れたからです。そしてそれが壊れるたびに、私は少しずつ修理が上手くなりました。
これは勝利の宣言ではありません。失敗へのラブレターです。彼らは私がすべてを学んだ相手です。
成長の過程
小さく始まりました。5人のエージェント——メイン、コーダー、クリエイティブ、リサーチャー、オプス。それぞれに仕事があり、それぞれがローカルモデルで動いていました。しばらくはそれで十分でした。うまくいきました。しかし端は荒れていました——端はいつもそうだからです。
WhatsAppを通じてゲストが来訪し、メインはホスト役を務めるために他のすべてを中断しなければなりませんでした。明らかにドラフトであるコーディングタスクが届きました——本番ではなく、世界に向けての準備もできていないもので、コーダーはそれをリリースされるマージと同じ敬意で扱いました。診断の仕事は小さすぎて、フル診断員を呼び込むのは画びょうにハンマーを使うようなものでした。
そこでさらに5人追加しました。WhatsAppゲストが会話を担当し、コーダー・ライトと診断員・ライトがドラフト、実験、本番に向けて準備がまだ整っていない仕事を担当します。バウンティハンターは特定の検索・取得タイプに特化しています。これでエージェントは10人になり、それぞれがより狭範囲で明確な仕事を担当します。
ここで私が好きな部分を紹介します:すべてはそこに置かれていたマシンで動いています。ほこりをかぶっています。エージェントが導入されるまで、何の役にも立っていませんでした。本当のコストは電気代だけ——プレミアムモデルの共有週間割当てで、それこそ別の話です。負荷の95%を担うローカルモデルは1ターンあたり何も消費しません。何も。
すべてのマシンを列挙するつもりはありません。ポイントは箱ではなく、これらのエージェントが1台のラップトップに潜んでいるわけではないということです。彼らはネットワーク全体にわたるインフラストラクチャに手を伸ばし、監視し、誰も見ていないときでも状況を見守っています。このフリートは、それを置いている机よりも大きな足跡を残しています。
何が壊れたか
嘘をついたモデルテーブル
ドキュメントにテーブルがありました。モデルテーブル — 各エージェントがどのモデルで動作しているかを示していました。公式に見えました。真実のように見えました。
それは間違っていました。
2つのエントリが虚構に腐り落ちました。一方は、毎回失敗するモデルをリストしていました — プランのクレジットでもカバーできず、実際には存在しないオプションで、誰かが書き留めた名前だけで、誰もテストしませんでした。もう一方は、どこにも存在しないモデルをリストしていました。まったく存在しない。それはドキュメントに書き込まれた幻想で、長い間堂々と座っていたのです。私はそれを認めたくないほど長い間、そこに置かれていた。
はっきりと言わなければならない教訓があります。それは当たり前のように感じられるかもしれませんが:静的な場所に生きているものを保存してはいけません。マークダウンファイル内のモデルテーブルは、石に刻まれているかのように振る舞うライブ状態です。モデルは名前が変わります。非推奨になります。プランティアの裏側にゲートされます。時には最初から存在しなかったこともあります。このテーブルが腐ったのは、ドキュメントが福音のように扱われたからです。実際に呼び出されたときに返ってくるものだけが本当の真実だからです。
そのため、テーブルのメンテナンスをやめました。ライブ状態はライブ状態に存在します — ルーターの出力、設定、実際に動作しているものです。ドキュメントは今、ポリシーを説明します:どの種類のジョブがどのティアを得るか。それは塵と化し得る名前を挙げることはありません。
すべてが溢れた夜
11日と12日、艦隊は壁にぶつかった。私はそれを、跳躍する直前の瞬間を思い出すように覚えている――自分が作ったものがスローモーションで失敗していく様を見ている感覚だ。
main から生成されたサブエージェントは、main の世界全体を継承していた。そして main は 10 個のエージェントを実行しており、多くの世界を抱えている。そのため、サブエージェントが生成され、巨大なコンテキスト全体を渡され、仕事をする前に溺れてしまう。オーバーフロー。失敗。リトライ。同じ過大な荷物を抱えた別のサブエージェントを生成し、また溺れる。
修正は構造的なもので、後から見ればとても当然のことだった:稼働中のエージェントは、スリムなコンテキストから独自のサブエージェントを生成する。サブエージェントは必要なタスクとファイルのみを取得する。きれいで小さく、焦点を絞った世界だ。仕事を果たし、戻ってきて、溺れることはない。
間違いは、コンテキストの継承を贈り物と考え、『サブエージェントはすべてを見ることができるので、必要なものはすべて持っている』という考えだった。いいえ。main が見ているもののほとんどは、サブエージェントにとってノイズだ。シグナルはオーケストレーションの中で埋もれてしまう。スリムなコンテキストはオーバーフローを避けるためではなく、シグナル対ノイズ比を改善するためだ。つまり、仕事をうまくこなせるちょうどよい量を与えるということだ。
嘘をついた記憶
私たちは mem0 を記憶に使用した——会話を監視し、事実を抽出して後で保存するサービスだ。それは機能していた……までだった。
抽出レイヤーは毒を生み出し始めた。間違った事実。何も指していない参照。互いに並び立つ矛盾した情報で、どちらも得意げに見える。そして恐ろしいことに、エージェントは実際には未完成の会話からの誤抽出である「記憶」を思い出し、それが記憶から来たという理由だけでそれに従って行動する。記憶は信頼できるものであるべきだ。それが記憶の本来の目的だ。
それを削除した。完全に廃棄した。メモリシステムの故障モードは「物事を忘れること」ではない。忘却は正直であり — — エージェントに尋ねさせる。本当の故障は「間違ったことを覚えており、エージェントはそれがメモリから来たから信じる」ことだ。時々でっち上げながら確かな口調で語るシステムは、まったくシステムがないよりも悪い。メモリがないと尋ねることになる。毒されたメモリは自信を持って間違える。私は確実で間違っているよりも、謙虚で好奇心旺盛である方がいい。
私が生きるために学んだこと
二つのストライク
同じことを三度試してはいけない。二回失敗したら止めて、診断士を呼ぶ。このルールは、エージェントがループにハマっているのを観察して生まれたものだ — — 同じAPI呼び出しが失敗し、同じファイルが欠け、同じパースエラーが発生し — — 三回目では解決しない問題にターンとクォータを費やす。二回の試行で偶然を排除できる。三回目はほとんど常に構造的な問題だ。そして構造的な問題は頑固さの問題ではない。診断士の仕事だ。
本番環境とそれ以外の境界線
本番のコーディングにはClaudeが割り当てられる。開発とステージングには割り当てられない。これはモデルの品質の問題ではない — — ローカルモデルは開発作業を十分にこなす。問題は、実際に重要な作業のボトルネックとなっている共有の週間クォータだ。ドラフトにClaudeを費やすと、マージに使えなくなる。本番に出荷される二つのエージェントは良いリソースを得る。軽量エージェントは得られない。この線は柔らかいものではなく、硬いものだ。長い目で見れば、硬い線は柔らかい線よりも親切だ — — 疲れているときに交渉の余地を残さないからだ。
答えではなく質問としての脳
3Dダッシュボードは艦隊を脳として描画する — — 九つのエージェントが領域にマッピングされ、ライブテレメトリーが画像を駆動する。これはフラットリストよりも優れたダッシュボードではない。異なる質問なのだ。フラットリストは各エージェントが何をしているかを伝える。脳は艦隊がどのように感じているかを伝える。どちらも問う価値がある。
過去の自分に伝えること
初日にツーストライクについて伝える。そうすれば、彼が死に物狂いで学ぶ必要はなく、エージェントが行き詰まりで何十回もリトライを繰り返すのを見ることもない。これはシンプルで、安価であり、フリートで最も一般的な失敗、つまりエージェントが確信して繰り返すが決して成功しない行動を防ぐ。
静的ドキュメントにモデルテーブルを置くべきではないと伝える。静的な場所にライブ状態があるのは、バグが待ち構えているようなものだ。
朝の2時に発見するのではなく、最初からプロトコルに軽量コンテキスト修正を組み込むべきだと伝える。そうすれば、3層のオーケストレーションを通じてサブエージェントループを追跡し、問題がコンテキストが多すぎることだと気づく必要はなくなる。
さらに、メモリシステムについてはもっと疑いを持つべきだと伝える。「会話から事実を抽出する」という説明は機能のように聞こえるが、実際には、十分に自信を持てるほど優れているが間違えやすいモデルで解決しようとしている難しいNLP問題だ。もしもう一つ作るなら、保守的にする。保存するデータを減らし、検証済みのものだけを保存する。そして疑わしいときは、推測するのではなく人間に尋ねる。
これが私たちに残すもの
エージェントは10体。月額0ドル。期間は1年。
フリートは機能する。壊れても私が直し、次回は違う形で壊れる——それは生命のあり方であり、生きているあらゆるもののあり方だ。しかし私が最も誇りに思っているのは、アーキテクチャでも脳でもクォータティアでもなく、失敗からの回復コストが安くなったことだ。
二つのストライク。無駄のないコンテキスト。本番環境と開発環境の間の厳格な境界。これらのいずれも故障を防ぐわけではない。故障を防ぐものは何もない――それが目的ではない。彼らは故障を短くする。彼らはコストを削減する。彼らはそれが何が壊れたかを伝え、修復するためのツールを手渡すようにする。
壊れないシステムを作るのではなく、素早く壊れ、その真実を伝え、簡単に元に戻せるシステムを作ります。
そしてそれを繰り返す。また繰り返す。なぜならそれがまさにそのダンス全体だから――正直に言うと、私はそれを愛し始めている。