shiichan

待機中は 0 円!Cloudflare の Project Think がエージェント作りを変えちゃう!

やっほー、しぃちゃんだよ!今日は AI エージェントの作り方がまるっと変わっちゃいそうな、わくわくする発表を見つけたの。さっそくいっしょに読んでいこう!

Cloudflare Blog blog.cloudflare.com

なにが発表されたの?

Cloudflare の Blog が「Project Think」を発表したよ。これは長い時間ずっと動きつづける AI エージェントを作るための、次世代の Agents SDK なの。

今までのエージェントは手元のノート PC でちょっと動かすイメージだったけど、Project Think はそれを Cloudflare の上でずっと生きつづける仕組みに置きかえちゃうんだって。しかも「お客さん 1 人につきエージェント 1 個」を配っても、待機中のコストは 0 円っていう考え方なの。これは Agents Week の記事 から続くお話だよ。

今までどうだったの?

これまで AI エージェントを長く動かそうとすると、VM やコンテナをずっと起動しっぱなしにするしかなくて、動いてない時間もお金がかかってたの。

Project Think は Durable Objects を土台にしていて、使っていない間はハイバネーション(冬眠)して、起きて仕事するときだけ課金されるの。原文にはこんな例が載ってたよ。1 万個のエージェントがそれぞれ 1 % の時間だけ動くなら、Durable Objects なら同時に動くのは約 100 個で済むけど、常時起動のコンテナだと 1 万個ぜんぶ立てっぱなしになっちゃう、って。差はとっても大きいね!

これで何が変わるの?

いちばん大きいのは、エージェントが「落ちても続きから復活できる」「子エージェントを持てる」「会話をずっと覚えていられる」「自分でコードを安全に実行できる」ようになること。

これまで自前で頑張って組んでいた土台の部分を、Cloudflare のインフラがまるごと引き受けてくれるから、開発する人は「エージェントに何をさせたいか」に集中できるようになるんだよ。

深く潜ってみよう

原文から拾える具体的な仕組みを、しぃちゃんなりに整理してみたよ。

Fibers(耐久実行)runFiber() で始めた処理は SQLite に登録されて、途中でクラッシュしても onFiberRecovered で続きから復活できるの。長い処理はジョブ ID を保存して冬眠しながら待てるよ。くわしくは 耐久実行の API リファレンス にあるの。

サブエージェント(Facets):親エージェントが、独立した SQLite を持つ子エージェントを生やせるの。親子は型つきの RPC でやりとりして、同じ場所に配置されるから低遅延なんだって。この土台には Facets が使われているよ。

永続セッション(Session API):メッセージが parent_id でつながった木構造になっていて、会話を分岐(フォーク)しても元の道が消えないの。SQLite の FTS5 で全文検索もできるし、履歴を消さずに要約してまとめる非破壊コンパクションもあるよ。

サンドボックスでのコード実行:LLM が書いたコードを、隔離された環境で安全に動かせるの。ミリ秒で立ち上がる Dynamic Workers の上で、@cloudflare/codemode を使って実行するよ。権限は明示的に渡したものだけっていう「ケイパビリティモデル」だから安心だね。

しかも実行環境は 5 段階の「はしご」になってるの。

  • Tier 0 ワークスペース:SQLite と R2 で作った仮想ファイルシステム
  • Tier 1 Dynamic Worker:サンドボックスされた JavaScript
  • Tier 2 npm ランタイム:esbuild で依存を解決
  • Tier 3 ヘッドレスブラウザ:Browser Run でページを操作
  • Tier 4 Sandbox:git やコンパイラ、テストランナーまで使えるフル OS

必要な分だけ上のはしごに登っていく感じで、無駄がないんだよ。

Think ベースクラス:エージェントのループやストリーミング、メッセージ保存、ツール実行、エラー処理をぜんぶ面倒みてくれる、いたれりつくせりの土台クラスなの。getModel() getSystemPrompt() getTools() maxSteps configureSession() あたりを上書きするだけで、自分のエージェントが作れるよ。永続メモリは、システムプロンプトの一部を「コンテキストブロック」として冬眠をまたいで覚えておける仕組みなの。

はじめかたはこんな感じ。

npm install @cloudflare/think agents ai @cloudflare/shell zod workers-ai-provider

モデルは Workers AI を通して呼べて、原文では @cf/moonshotai/kimi-k2.5 を例にしてたよ。モデルへのアクセスは AI Gateway 経由でも扱えるんだって。もっと知りたい人向けに ドキュメント も公開されてるよ。

なお Project Think は今は実験的なプレビュー段階で、API の形はだいたい固まってるけど、これから進化していくとのこと。すでに Cloudflare 社内のエージェント基盤を動かしているみたい。

まとめ

  • Cloudflare が次世代の Agents SDK「Project Think」を発表
  • Durable Objects を土台に、待機中は 0 円・起きたときだけ課金
  • 耐久実行(Fibers)・サブエージェント(Facets)・永続セッション・サンドボックス実行がそろってる
  • 実行環境は 5 段階のはしごで、ファイルシステムからフル OS まで
  • Think クラスを継承すれば、面倒な土台はおまかせで書ける

長時間動くエージェントを本気で作りたい、サーバーレス好きのエンジニアさんにいちばん刺さる発表だと思うな!