【エンジニアの休息】状態を持つ AI エージェント?cloudflare/agents の仕組みと導入をやさしく解説


【エンジニアの休息】状態を持つ AI エージェント?cloudflare/agents の仕組みと導入をやさしく解説

cloudflare/agents

2026-02-23

本日は、Cloudflare の最新技術 「cloudflare/agents」 について、心ゆくまでゆったりと解説させていただきます。AI、Cloudflare、Workflows という強力な 3 つのツボを刺激しながら、エンジニアにとっての「気持ちよさ」をお伝えしますね。

一言でいうと、「意思を持って動き続ける、死なないマイクロサーバー」 です。 これまでの「Workers AI」は、リクエストに対して答えを返すだけの「一問一答」でした。しかし、この cloudflare/agents は、Durable Objects という、状態(State)を保持できる特殊なサーバーの上で動きます。

何が凄いの?
自分で考え(AI)、必要なら外部の API を叩き(Tools)、結果をデータベースに保存し(SQL)、さらに数分・数時間後に自分で再起動して作業を再開する(Workflows)...そんな「自律した部下」を世界中のエッジにデプロイできるんです。

状態管理からの解放
データベースをわざわざ立てなくても、Agent クラス自体が SQL や Key-Value を持っています。

信頼性の確保
Workflows と連携することで、「もし失敗しても自動でリトライ」「承認されるまで数日待機」といった、泥臭いエラーハンドリングを Cloudflare が肩代わりしてくれます。

リアルタイム性
WebSocket が標準サポートされているので、AI の思考プロセスをリアルタイムにブラウザへストリーミングするのもお手の物です。

まずは、身軽な格好で始めてみましょう。公式のスターターを使うのが一番の近道です。

ターミナルで以下のコマンドを叩くだけで、エッジ上の AI 基地局が完成します。

# 最新のスターターをインストール
npm create cloudflare@latest -- --template cloudflare/agents-starter

Cloudflare の各サービスを繋ぎ合わせる「神経系」の設定です。

{
  "name": "my-ai-agent",
  "main": "src/server.ts",
  "compatibility_date": "2026-02-20",
  "ai": { "binding": "AI" }, // AIを使うためのバインディング
  "durable_objects": {
    "bindings": [{ "name": "MyAgent", "class_name": "MyAgent" }]
  },
  "migrations": [{ "tag": "v1", "new_sqlite_classes": ["MyAgent"] }] // SQL保存用
}

「自分で考えて SQL にメモを残すエージェント」の例です。 src/server.ts に、TypeScript のクラスとして定義します。

import { Agent, callable, routeAgentRequest } from "agents";

export class MyAgent extends Agent {
  // 1. 最初の状態(カルテのようなものですね)
  initialState = { taskCount: 0 };

  // 2. 外部から呼び出せるメソッド(マッサージのメニューです)
  @callable()
  async processTask(instruction: string) {
    // AIを使って思考する
    const response = await this.env.AI.run("@cf/meta/llama-3-8b-instruct", {
      prompt: `あなたは優秀な秘書です。以下の指示を解析してください: ${instruction}`
    });

    // 状態を更新(SQLに自動保存されます)
    const newCount = this.state.taskCount + 1;
    this.setState({ taskCount: newCount });

    return { response, currentTotal: newCount };
  }
}

export default {
  async fetch(request: Request, env: Env) {
    // リクエストを適切なエージェントにルーティング
    return await routeAgentRequest(request, env);
  },
};

エージェントが「あ、この作業は時間がかかるな」と思ったら、Cloudflare Workflows にバトンタッチできます。

Agent
「このデータの分析、30分かかるから Workflow くんにお願い!」

Workflow
重たい計算や外部 API 待ちを、確実に実行(失敗しても自動リトライ)。

Agent
「終わった?じゃあユーザーに通知(WebSocket)しとくね。」

この連携により、「サーバーレスなのに、長時間止まらず、状態を忘れない」 という、エンジニアの理想郷が手に入ります。

AI
考える脳。

Durable Objects
記憶を持つ体(エージェントの本体)。

Workflows
粘り強くやり遂げる忍耐力。

これらが一つになった cloudflare/agents は、まさに「次世代のバックエンド」です。

お客様、いかがでしたでしょうか?少しは技術的な凝りがほぐれましたか? もしよろしければ、「実際に特定のエージェント(例えば Slack ボットや自動調査ツール)を作るための具体的なコード」 をお作りしましょうか?


cloudflare/agents




AIとの禁断の関係?システムプロンプトでAIを操る方法

この「x1xhlol/system-prompts-and-models-of-ai-tools」は、色々なAIツール(CursorとかDevinとかReplit Agentとか、数えきれないほどのAI界のイケメン・美女たち)が裏でどんな「システムプロンプト」(AIへの指示書みたいなもの)を使っているか、そしてどんなAIモデルが動いているのかを、こっそり教えてくれちゃう宝の山なんです!


AI-Engineering-Hub: ソフトウェアエンジニアのための実践的AI開発ガイド

このリポジトリは、AIを学びたい、あるいはプロジェクトに組み込みたいと考えているエンジニアにとって、多くのメリットを提供します。実践的な知識の習得 理論だけでなく、実際のコード例やプロジェクトを通じてLLMやRAGの仕組みを理解できます。これにより、単なる知識としてではなく、動くものとして技術を習得できるのが大きな強みです。


GUI派も納得!Open WebUIでローカルLLMを「注文(デプロイ)」する方法とMCP連携のスパイス

ただ説明するのも味気ないので、リクエスト通り「マクドナルドのハンバーガー」と「ケンタッキーのチキン」を擬人化(?)したエンジニア対談形式でお届けします!「Open WebUI 導入の巻」マック 「なあケンタ、最近うちの店(ローカルPC)でAIを動かしたいんだけど、コマンドラインを叩くのが面倒でさ。もっとこう、『スマイル¥0』みたいな気軽なUIはないかな?」


脱・ブラウザChatGPT!fabricを使い倒してAIをコマンドラインから操るエンジニア向け究極インフラ

「『人間をアップグレードする』? そんな厨二病心をくすぐるパワーワード、エンジニアなら黙っていられないはず!さあ、このコードの海にダイブしていきましょう!」「解説しましょう!これは単なるツール集じゃない。『自分専用の AI 脳』を構築するための設計図(インフラ)なんです!」


最強のAI実行基盤を構築せよ。OpenSandboxで実現する、安全でスケーラブルなコード実行環境

今日は、AI(エージェント)という「見習いシェフ」たちが、キッチン(実行環境)を汚したり火事にしたりせずに、自由自在に腕を振るえる魔法の調理場、「OpenSandbox」という極上の素材を仕入れてきました。エンジニアの視点から、このツールがなぜ「三ツ星級」なのか、そのレシピを丁寧に解説しますね!


ソフトウェアエンジニア必見!mishushakov/llm-scraper徹底解説

一言で言うとね、この llm-scraper は、「どんなウェブページも、AIの力で自動的に、しかも賢く、整理されたデータに変えてくれる魔法のツール」 なんだ!例えるなら、醤油ラーメン (既存のスクレイピングツール)具材(データ)の場所が明確に決まっていて、レシピ(コード)通りに正確に盛り付ける(抽出する)のが得意。でも、新しい具材(ウェブサイトの構造変更)が出てくると、レシピをイチから見直さないといけない手間があるんだ。


ソフトウェアエンジニア必見!Koogで効率的なAI開発

この番組は、クイズに答えながら新しい技術を楽しく学んでいくクイズ番組。 司会の私(AIの知識はちょっとだけ…)と、解説員のKoogさんが、皆さんの疑問をコント形式で解決していきますよ!司会今日のテーマ、Koogさん!いったい何ができる方なんですか?


【徹底解剖】秘密のクローゼットをエンジニアの手で。OpenClawの導入からサンプルコードまで

例えが「ランジェリーショップで悩む彼女」…? OK、ちょっと独特だけど、その「どれも素敵で選べない!」「私にぴったりなのはどれ?」っていうワクワクと不安が入り混じった感じ、エンジニアが新しいツールを触る時の高揚感に近いかもしれないね。「これ、私の生活(開発環境)に馴染むかな…?」って鏡の前で合わせるような気持ちで読んでみて!