標籤: 多 Agent

  • 用 loopx+Cloudflare computer 組一支 AI 遠端團隊

    用 loopx+Cloudflare computer 組一支 AI 遠端團隊

    📌 本文重點

    • loopx 管理長期、多 Agent 任務
    • 用 Cloudflare computer 給 Agent 一個可操作桌面
    • 示範「研究助理小隊」自動化 workflow
    • 提供可直接複製的安裝與最小範例程式碼

    讓多個 AI 工具像遠端同事一樣,長期幫你操作電腦工作,而不是每天重來一次,這就是 loopx 搭配 Cloudflare computer 想解決的問題。

    這篇會帶你:
    – 用 loopx 管長期任務與多 Agent 協作
    – 用 Cloudflare computer 給 Agent 一個真的「電腦桌面」可操作
    – 示範一個「研究助理小隊」workflow
    – 最後給你一套可直接複製的安裝+最小範例程式碼


    兩個工具在多 Agent 工作桌中的分工

    先用一張表快速對比:

    名稱 核心功能 免費方案 適合誰
    loopx 長任務 state kernel、目標管理、自動喚醒、多 Agent 交接 開源免費 要讓多個 Agent 長期合作、需要配額控管的人 / 團隊
    cloudflare/computer 給 Agent 一個可操作的桌面與瀏覽器環境 開源免費 想讓 Agent 實際「點、打、開網頁」做自動化的人

    一句話理解:
    loopx = 專案經理+任務系統
    Cloudflare computer = 共享遠端桌面

    💡 關鍵: loopx 管的是「長期任務與協作」,Cloudflare computer 管的是「實際電腦操作」,兩者分工清楚才有穩定、多 Agent 的自動化工作桌。


    loopx 核心功能:讓任務可以「長跑」而不是一次性對話

    1. State kernel:任務狀態集中管理

    loopx 自稱是「state kernel」,重點是:
    – 每個長期目標(project)都有自己的 持久狀態:目前做到哪、還有哪些 Todo、哪些已完成
    – 支援多 Agent:你可以把不同工具(例如寫程式 Agent、搜尋 Agent)接到同一個目標底下

    你可以採取的行動:
    – 為每個長期任務(例:產品研究、側專案)在 loopx 建立一個 goal
    – 把「任務進度」從 Notion / Google Sheet 移到 loopx 的 state 裡,讓 Agent 直接讀寫

    2. 長期目標管理+可執行待辦(Todos)

    loopx 允許你把大目標拆成細任務,並且讓 Agent 自己執行:
    – 設定 goal:例如「整理 10 家競品的功能表」
    – 拆成 todos:如「收集官網資料」「彙整成表格」
    – 每個 todo 都是可以被 Agent 調用的可執行項目,完成後會記錄在 evidence log

    你可以採取的行動:
    – 把人類原本寫在代辦軟體的任務,改成由 loopx 管理的 todos
    – 讓 LLM(例如 Claude 或 GPT)根據現有 evidence,自動產生下一個 todo

    3. 自動喚醒與配額感知

    loopx 的特色是「懂得停與再啟動」:
    配額感知:你可以設定 API 使用額度,讓 Agent 在接近上限時減少動作或暫停
    自動喚醒:當條件達成(例如有新資料、時間到了),loopx 會再喚醒 Agent 繼續跑

    你可以採取的行動:
    – 設定每天最多 token 或 API 次數,避免帳單爆掉
    – 設時間型任務:例如每天早上 9 點喚醒研究 Agent 更新資料

    💡 關鍵: 有配額感知與自動喚醒,才能讓多 Agent 長期運作而不怕超支或中斷,再用條件喚醒續跑。

    4. 可驗證交接(verifiable handoffs)

    多 Agent 最大的麻煩是「交接混亂」。loopx 幫你:
    – 每個 Agent 的輸出都記在 evidence log
    – 下一個 Agent 拿到的不只是文字,而是「帶證據的任務狀態」

    你可以採取的行動:
    – 定義每個 Agent 的輸出 schema(例如必須輸出 JSON 帶 evidence link
    – 用 loopxhandoff 機制,把「搜尋結果」交給「整理 Agent」


    Cloudflare computer:給 Agent 一台可操作的電腦

    Cloudflare computer 的概念很直接:

    把一台「遠端桌面」包成程式介面,讓 Agent 控制滑鼠、鍵盤、瀏覽器。

    1. 桌面與瀏覽器控制

    功能你可以想成:
    – Agent 能開啟瀏覽器、輸入網址、點擊、捲動
    – 可以截圖或讀取目前畫面內容,回傳給 LLM 分析

    你可以採取的行動:
    – 把原本你每天重複點網頁、下載報表的流程,寫成一個 computer 任務
    – 讓 Agent 用瀏覽器登入某些工具,抓資料後再交給 loopx 管理

    2. TypeScript 開源,易整合現有工具鏈

    Cloudflare computer 用 TypeScript 寫成:
    – 可以直接在 Node.js / Bun 環境跑
    – 易跟現有的前後端專案整合

    你可以採取的行動:
    – 在現有 Node 專案中新增一個 agent-runner.ts,專門讓 LLM 控制 computer
    – 把 computer 的操作記錄(log)丟回 loopx 作為 evidence


    範例 workflow:「研究助理小隊」

    目標:

    每週自動更新一次「某個產業的最新資料整理」,包含連結、摘要與重點整理。

    角色分工

    • Agent A:資料搜尋員
    • 使用 Cloudflare computer 操作瀏覽器
    • 任務:搜尋關鍵字、打開前幾個結果、抓取主要內容與連結

    • Agent B:整理與筆記員

    • 接收 Agent A 的 evidence(網址、內容)
    • 用 LLM 整理成表格與文字摘要

    • loopx:專案管理員

    • 建立 goal「產業周報」
    • 安排每週排程,自動喚醒 Agent A
    • 管理 todoshandoff
      • todosearch_industry_updates
      • handoff:把 evidence 傳給 B
      • todosummarize_and_export

    實際跑起來會長怎樣?

    1. 每週一上午,loopx 喚醒 Agent A,執行 search_industry_updates
    2. Agent A 用 Cloudflare computer 開 Google / Twitter,找到本週新資料,保存成 evidence(JSON + 原始內容)。
    3. loopxevidence 當作 handoff,指定給 Agent B。
    4. Agent B 讀取 evidence,用 LLM 整理成:
    5. 一張 Markdown 表格
    6. 一份 1-2 頁的摘要
    7. loopx 把結果寫回某個儲存位置(例如 Git repo、Notion API、或本地檔案)。

    你可以採取的行動:
    – 先從「每週一個產業」開始,實驗多 Agent 交接流程
    – 再把產業數量增加、或增加第三個 Agent 負責「翻譯」「產出簡報」

    💡 關鍵: 把搜尋、整理、輸出拆給不同 Agent,並用 loopx 管理 handoff,就能讓「產業周報」自動每週生成。


    怎麼開始:安裝與最小範例

    1. 安裝 loopx(Python)

    前提:你需要 Python 3.10+、一個虛擬環境,與至少一個 LLM API(例:Qwen、Claude、GPT)。

    # 建議開虛擬環境
    python -m venv venv
    source venv/bin/activate  # Windows 改用 venv\Scripts\activate
    
    pip install loopx  # 以實際 repo 為準,若尚未上傳到 PyPI,則:
    # pip install git+https://github.com/huangruiteng/loopx.git
    

    最小 Python 範例(示意):

    from loopx import StateKernel, Goal
    from loopx.llm import OpenAIClient  # 或你自包的 Qwen / Claude client
    
    llm = OpenAIClient(api_key="YOUR_KEY", model="gpt-4o")
    kernel = StateKernel(llm=llm)
    
    # 建立一個長期目標
    goal = Goal(
        name="industry_weekly_report",
        description="產業最新資訊每週整理一次",
    )
    
    kernel.register_goal(goal)
    
    # 定義一個簡單 todo:產生本週提綱
    @kernel.todo("draft_outline")
    def draft_outline(state):
        """用 LLM 為本週產業周報產出提綱"""
        prompt = f"根據目前 evidence,為本週產業周報列出 5 個小節標題。" 
        outline = kernel.llm.complete(prompt)
        state["outline"] = outline
        return outline
    
    if __name__ == "__main__":
        # 執行一次 todo(之後可用排程呼叫)
        result = kernel.run_todo("industry_weekly_report", "draft_outline")
        print(result)
    

    若你要接 Qwen / Claude / GPT,做法很像:
    – 包一層 LLMClient 類別,統一 complete(prompt) 介面
    – 把 API key 放在環境變數,避免硬編碼


    2. 安裝 Cloudflare computer(TypeScript)

    前提:Node.js 18+。

    mkdir ai-computer && cd ai-computer
    npm init -y
    npm install @cloudflare/computer
    

    最小 TypeScript 範例(簡化示意):

    import { Computer } from "@cloudflare/computer";
    
    async function main() {
      const computer = new Computer();
      const session = await computer.start();
    
      // 開啟一個網址
      await session.open("https://www.google.com");
    
      // 在搜尋框輸入關鍵字並送出(實際 API 以官方為準)
      await session.type("生成式 AI 產業新聞");
      await session.enter();
    
      // 取得畫面截圖或文字
      const screenshot = await session.screenshot();
      // 把 screenshot 路徑或 base64 傳回 Python 的 loopx 作 evidence
    
      await session.close();
    }
    
    main().catch(console.error);
    

    你可以採取的行動:
    – 先把 Cloudflare computer 當成「可腳本化的瀏覽器」,先寫死流程
    – 確認操作穩定後,再把指令改由 LLM 產生(例如:llm.plan_steps()session.*


    3. 把兩者接在一起:權限與工具調用

    建議做法:
    – 以 loopx 為中心:所有外部工具(Cloudflare computer、資料庫、檔案系統)都當成「工具函式」
    – 每個 Agent 有一份「工具白名單」,例如:
    – 搜尋 Agent:只允許呼叫 computer.search_web()
    – 整理 Agent:只允許存取檔案與 loopx state

    簡單示意(Python pseudo-code):

    from tools import call_computer  # 這裡透過 HTTP/IPC 呼叫 TS 程式
    
    @kernel.tool("search_web")
    def search_web(query: str):
        # 把 query 傳給 Node/TS 的 Cloudflare computer
        result = call_computer(query)
        return result  # 回傳給 LLM 作 evidence
    

    你可以採取的行動:
    – 先定義一小組安全工具(例如:只讀網頁、不能亂下載檔案)
    – 在 LLM prompt 中明確寫上「只可呼叫這些工具」
    – 逐步放寬權限,視實際需求增加更多操作


    適合誰用?

    幾個具體場景:

    • 個人創作者
    • 每週產業周報、內容題材研究、自動整理靈感庫
    • 小型團隊 / 新創
    • 客戶調研、競品追蹤、Release Note 整理
    • 讓 Agent 先跑一輪收集與整理,人類最後審閱
    • 開發者 / 資訊人員
    • 想實驗多 Agent 架構、測試不同 LLM(Qwen、Claude、GPT)
    • 把既有爬蟲、報表腳本逐步改成由 Agent 控制

    如果你已經在用 LLM 做單次問答,下一步可以是:
    – 用 loopx 把「一次問答」變成「持續進行的專案」
    – 用 Cloudflare computer 讓 Agent 真正動手「操作電腦」


    總結:先從一個「長任務」開始

    不要一次想太大,可以這樣開始:

    1. 選一個你每週都要重複做的知識工作(例:產業新聞整理)。
    2. loopx 建立 goal+一兩個 todo,接上你現有的 LLM(Qwen / Claude / GPT)。
    3. 用 Cloudflare computer 把搜尋步驟自動化,先寫死流程,再交給 Agent 控制。
    4. evidence 與結果記錄下來,逐步擴充更多 Agent。

    一旦這個「研究助理小隊」跑起來,你就等於多了一支可以長期運作的遠端 AI 團隊。


    🚀 你現在可以做的事

    • 到 GitHub 查看並 git clone loopx 專案,在本機跑起最小範例
    • 依照文中的 Node.js 步驟安裝 @cloudflare/computer,寫一個可自動打開網站的腳本
    • 選一個你每週重複的知識工作,照文中 workflow 建立第一個「研究助理小隊」並實際跑一週