sell人工智慧
support_agent

Agents

AI 代理是一種會自己做決定、自己採取行動的軟體。Agents SDK 讓每個代理都有記憶、即時對話和內建排程器。

330+可執行的城市
1一個指令建專案
SQL每個代理自帶資料庫
lightbulb

Agents 是什麼?

Agents SDK 是用來打造 AI 代理的工具包——這種程式能跟你對話、記住發生過的事、呼叫 AI 模型和工具,甚至能在稍後自己醒來做事。它跑在 Cloudflare Workers 上,靠 Durable Objects(持久物件)來記憶。

普通的 AI 聊天機器人,請求一結束就把一切忘光。代理不一樣:每個代理都保有自己的記憶,還能跨時間執行任務,就像一個永不疲倦、筆記永遠不會掉的私人助理。

badge

把它想成一位專屬助理

想像你請了一位助理,他有自己的辦公桌和檔案櫃(狀態 state)、能即時接你的電話(WebSocket)、還記得下週二要追進度(排程)。每個使用者都能配一位專屬助理——這就是代理。

help

為什麼要用它?

從零打造代理,得在多台伺服器間處理記憶、即時連線和背景工作,非常麻煩。Agents SDK 把這些全包進一個類別(class),讓你專心設計代理的行為,而不是搞底層水管。

save

內建記憶

每個代理都有自己的狀態和私人 SQL 資料庫,由 Durable Objects 保管——不必另外架資料庫。

bolt

預設即時

WebSocket 讓使用者即時串流對話,訊息雙向瞬間傳遞。

schedule

會自己醒來

代理可以排定未來的工作——『一小時後再檢查一次』——不需要外部的排程伺服器。

extension

工具與 MCP

代理能呼叫 AI 模型和外部工具,包含 Model Context Protocol(MCP,模型情境協定)工具,真正把事情做完。

target

什麼時候該用它?

forum

有記憶的聊天機器人

記得整段對話、而不只是上一句的客服或寫程式助理。

checklist

多步驟流程

需要好幾個步驟或多次呼叫工具的任務,由代理一路追蹤進度。

alarm

排程工作

稍後自動執行的追蹤、提醒或定期檢查,不必你親自觸發。

groups

每位使用者一個代理

為每位使用者或每份文件配一個獨立、各有記憶與狀態的代理。

rocket_launch

怎麼開始用?

  1. 用範本建立專案

    一個指令就能建好可立即執行的代理專案,聊天、工具和排程都已接好。

    bash
    npm create cloudflare@latest agents-starter -- --template cloudflare/agents-starter
    cd agents-starter
    npm install
    npm run dev
  2. 設定代理的繫結

    代理就是 Durable Objects。在 wrangler.jsonc 註冊你的類別,並加一段使用 new_sqlite_classes 的遷移設定,讓每個代理都有自己的 SQL 資料庫。

    jsonc
    {
      "name": "my-agent",
      "main": "src/index.ts",
      "compatibility_date": "2025-06-01",
      "durable_objects": {
        "bindings": [{ "name": "MyAgent", "class_name": "MyAgent" }]
      },
      "migrations": [
        { "tag": "v1", "new_sqlite_classes": ["MyAgent"] }
      ]
    }
  3. 撰寫代理類別

    繼承 Agent 類別。onRequest 處理 HTTP,this.setState 儲存記憶,this.schedule 預約未來工作。routeAgentRequest 會把進來的請求導向正確的代理。

    ts
    import { Agent, routeAgentRequest } from "agents";
    
    export class MyAgent extends Agent {
      async onRequest(request) {
        const count = (this.state?.count ?? 0) + 1;
        this.setState({ count });
        // run a task 10 seconds from now
        this.schedule(10, "remind", { note: "follow up" });
        return Response.json({ visits: count });
      }
    
      async remind(payload) {
        console.log("Scheduled task ran:", payload.note);
      }
    }
    
    export default {
      async fetch(request, env) {
        return (
          (await routeAgentRequest(request, env)) ||
          new Response("Not found", { status: 404 })
        );
      }
    };
  4. 部署上線

    一個指令就能把代理發佈到 Cloudflare 全球網路。

    bash
    wrangler deploy
school

重點概念

smart_toy

代理(Agent)

你寫的一個類別,負責處理請求、保存記憶、執行任務。每個運行中的副本都是獨立的工作者。

database

Durable Objects

Cloudflare 的工具,讓每個代理擁有一個一致的記憶儲存點和內建 SQL 資料庫。

memory

狀態(State)

代理的記憶。用 this.state 讀取、this.setState 更新——它在多次請求之間都會保留。

event_repeat

排程(Scheduling)

this.schedule() 預約某個方法稍後執行——可指定幾秒後、某個時間點,或週期性的 cron。

tips_and_updates

小提示與計費

info

它就是 Workers 加 Durable Objects

沒有單獨的『Agents』帳單。你付的是一般的 Workers 和 Durable Objects 用量,所以先學會 Workers,再上手 Agents 會更快。

  • 用 agents-starter 範本——它已內建串流聊天、工具和人工審核(human-in-the-loop)。
  • 把 Workers AI、OpenAI 或 Anthropic 接上來當代理的『大腦』。
  • 每位使用者或每份文件配一個代理,記憶才乾淨又獨立。
  • 前面加上 AI Gateway,補上紀錄、快取和成本上限。