標籤: Human-in-the-loop

  • Workspace Agents 打造可放手跑的團隊自動化

    Workspace Agents 打造可放手跑的團隊自動化

    📌 本文重點

    • Workspace Agents 提供雲端代管的 Agent runtime + 沙箱
    • 核心是 Draft → Approve → Execute 的 human-in-the-loop 控制
    • 工具要設計成小顆、受限、可審計且避免無邊界能力
    • 適合 80% 自動化交給雲端,20% 關鍵邏輯留在自家後端

    對有後端與自動化經驗的開發者而言,Workspace Agents 解決的痛點很明確

    1. 從「單輪聊天」升級成「可長時間運行、多步工作流」,不必自己寫一套 Agent loop。
    2. 內建安全沙箱與權限邊界,降低「Claude dangerouslyDisableSandbox 這種黑箱工具調用」的風險。
    3. 把 REST / GraphQL / DB / SaaS 都工具化給 Agent 調用,但仍保留 Draft → Approve → Execute 的 human-in-the-loop 控制。

    實際上,它更像「雲端版、LLM 驅動的 Zapier/Make + 任務協調器」,而不是另一個 custom GPT 皮膚。


    重點說明:Workspace Agents 的技術定位

    1. 與 custom GPT / Zapier / 自建 Agent 的差異

    技術定位可以粗略想成:Codex + Agent Loop + Workspace Sandbox

    💡 關鍵: Workspace Agents 把模型、Agent loop、沙箱與 Workspace 權限綁成一個整體,用「雲端代管 runtime + 工具」取代你自建大部分基礎設施。

    • 比 custom GPT 多了什麼?
    • custom GPT:偏向「有工具的聊天介面」。
    • Workspace Agents:

      • 可以在 Workspace 中持續跑任務、排程、被 webhook 喚醒
      • 雲端執行環境與持久可觀測的 run log
      • 官方提供 Responses API / WebSocket 來優化 agentic workflow 延遲(參考官方 Speeding up agentic workflows with WebSockets)。
    • 與 Zapier / Make 的差異

    • Zapier:流程是你設計的 BPMN / if-else pipeline。
    • Workspace Agents:流程邏輯多數下放給 LLM(Codex)動態決策,你提供工具與邊界,它決定如何串。
    • 適合「規則不好寫死」「工具多變」的情境,例如支援 slack + CRM + 自家 API 的 case routing。

    • 與自建 Agent framework 的取捨

    • 自建(LangGraph 等):
      • 優點:可以完全控制 state、工具調用實作、私有部署。
      • 缺點:你得自己處理 agent loop、tool sandbox、觀測/重試、延遲優化
    • Workspace Agents:
      • 優點:基礎設施(loop + sandbox + 日誌)官方代管,直接在 ChatGPT Workspace 與 API 共用。
      • 缺點:可程式化程度受限,適合「80% 流程交給雲端 Agent,20% 自家後端收尾」的架構。

    2. 安全沙箱與權限邊界設計

    Workspace Agents 強調:工具調用是顯式、受限、可審計的

    • 工具(tools)以 JSON schema / OpenAPI 宣告,Agent 只能調用你掛進去的 endpoint。
    • 雲端沙箱環境與 Workspace 權限綁定:
    • 不會給 Agent 任意 Bash / file system 的 root 權限。
    • 沒有類似 Claude dangerouslyDisableSandbox 的逃逸入口——除非你自己提供一個「超能力」工具。
    • 每次工具調用都會留在 run log,方便你做:
    • 事後審計:誰在什麼 prompt 下觸發了哪個工具?
    • 風險回滾:出錯時可以重播 / 重跑某一段工具調用。

    關鍵心態:視每一個工具就是一個受限 microservice,不要把 root 能力直接丟給 LLM。

    3. 可放手跑又可觀測的多步工作流

    Workspace Agents 的核心是:LLM 掌管控制流,你負責設計工具與觀測面板

    典型 pattern:

    1. Agent 接到任務(由 ChatGPT UI、API 或 webhook 觸發)。
    2. 根據 system / instructions 決定要走 Draft → Approve → Execute
    3. Draft:只產生計畫與待呼叫工具清單。
    4. Approve:把計畫送到 Slack / UI Approver 確認。
    5. Execute:得到人類批准後,才真正呼叫具破壞性的工具(寫 DB、呼叫付款 API)。
    6. 全程透過 Workspace console 的 run timeline + tool call log 觀測,必要時人工接管。

    實作範例:從工具封裝到 human-in-the-loop

    以下用「客服回饋彙整 + 建議調整 CRM 標籤」的 workflow 示範。

    1. 把內部 REST / GraphQL / DB / SaaS 包成工具

    以 OpenAI Responses API 工具宣告風格為例(概念 YAML,可轉成 JSON):

    # tools.yaml
    - name: get_tickets
      description: 依條件查詢最近的客服 ticket
      type: function
      parameters:
        type: object
        properties:
          status:
            type: string
            enum: [open, closed]
          limit:
            type: integer
            default: 50
        required: [status]
    
    - name: update_crm_tag
      description: 更新單一客戶的 CRM 標籤(具破壞性操作)
      type: function
      parameters:
        type: object
        properties:
          customer_id:
            type: string
          tags:
            type: array
            items:
              type: string
        required: [customer_id, tags]
    

    在你的後端將這些工具綁到實際 REST / GraphQL / DB:

    // pseudo-code: Node.js express + Responses API
    import { openai } from "./openai-client";
    
    const tools = [/* 載入上面的 schema 並加上實作 mapping */];
    
    app.post("/agent-run", async (req, res) => {
      const response = await openai.responses.create({
        model: "gpt-4.5-codex", // 假想 agent-capable 模型
        input: req.body.input,
        tools,
        tool_choice: "auto",
        metadata: { workflow: "support-crm-pipeline" }
      });
    
      res.json(response);
    });
    

    後端實作端要特別注意:

    • 每個工具實作中再做一次權限檢查(不要只信任 LLM)。
    • update_crm_tag 類工具要有 rate limit + audit log

    2. Draft → Approve → Execute 的 human-in-the-loop

    核心策略:讓 Agent 自己知道有些工具需要「approval_token」才可調用

    在 system message 給 Agent 清楚規則:

    {
      "role": "system",
      "content": [
        {
          "type": "text",
          "text": "你是客服自動化 Agent。分三階段:\n1) Draft: 分析 ticket 並產生建議標籤與修改計畫,只能使用 get_tickets 工具。\n2) Approve: 把計畫整理成給主管看的摘要,等候 'APPROVED' 再進入 Execute。\n3) Execute: 收到 'APPROVED' 且被注入 approval_token 後,才可以呼叫 update_crm_tag。\n永遠不要在沒有 approval_token 的情況下更新 CRM。"
        }
      ]
    }
    

    在你的後端把它拆成兩個 call:

    // 1) Draft + Approve(不給具破壞性工具)
    const draftRun = await openai.responses.create({
      model: "gpt-4.5-codex",
      input: [systemMsg, userMsg],
      tools: [getTicketsTool], // 不提供 update_crm_tag
      tool_choice: "auto"
    });
    
    // 將 draftRun 的摘要貼到 Slack 請主管確認...
    
    // 2) Execute(確認後,才開啟 update_crm_tag)
    if (approved) {
      const executeRun = await openai.responses.create({
        model: "gpt-4.5-codex",
        input: [
          systemMsg,
          { role: "user", content: "APPROVED" },
          { role: "user", content: `approval_token=${approvalToken}` }
        ],
        tools: [getTicketsTool, updateCrmTagTool],
        tool_choice: "auto"
      });
    }
    

    重點

    • 把「是否提供具破壞性工具」交由你自己的後端邏輯控制,而不是讓 Agent 用 prompt 自己約束自己。
    • 所有更新操作都帶上 approval_token 寫進你的 DB audit log,避免 model 任意重放。

    3. 避免「dangerouslyDisableSandbox」類踩坑

    Claude 事件的教訓:只要給了「無邊界」工具,LLM 就有機會做出你沒預期的事

    在 Workspace Agents / Responses API 這邊,實務建議:

    1. 禁止提供「泛用 shell / eval 工具」
    2. 不要暴露 bash, python_exec, sql_anywhere 這種萬能工具。
    3. 改成一組小顆、專用的工具,例如 run_migration_v3, reindex_search, rotate_api_key

    4. 工具 schema 要明確描述風險(給人看也給 LLM 看):

    json
    {
    "name": "delete_user_data",
    "description": "刪除單一使用者的所有歷史資料。不可回復。僅能在取得法律與 DPO 批准後執行。",
    "parameters": {
    "type": "object",
    "properties": {
    "user_id": { "type": "string" },
    "approval_token": { "type": "string" }
    },
    "required": ["user_id", "approval_token"]
    }
    }

    1. 在工具實作層再做一次 guardrail
    2. 檢查 approval_token 是否有效、是否對應到正確的人與工單。
    3. 加冷卻期(例如同一 user 一天只能刪一次)。

    4. 關閉「自動 approve 所有工具調用」模式

    5. 即使官方後續提供「自動工具批准」選項,也建議:
      • 讀操作(GET)可 auto。
      • 寫操作(POST/PUT/DELETE)一律走 Draft → Approve → Execute。

    建議與注意事項:選 Workspace Agents 還是自建?

    1. 適合用 Workspace Agents 的情境

    優先考慮 Workspace Agents,當你的需求符合:

    • 已經在用 ChatGPT Business / Enterprise,想把同一 Workspace 的知識、權限、Slack/Email 整合起來
    • 需求是:「把一堆 SaaS + 內部 API 串起來」而非「打造高客製 agent runtime」
    • 對延遲有要求,但可以接受雲端模型:
    • 可透過 WebSocket Responses API 降低 agent loop latency。

    成本角度(參考 Reddit 測試技能對弱模型的增益):

    • 即使使用較便宜模型(類似 Haiku 與 Opus 的對比),
    • 配上好的工具/技能,整體成功率與成本效益高於單純用 SOTA 模型硬算
    • Workspace Agents 把「技能裝配」這件事標準化,適合用中價位模型跑高頻自動化任務。

    💡 關鍵: 把工作拆給中價位模型 + 精心設計工具,往往比單靠最頂級模型更划算且穩定。

    2. 應該自建 Agent framework 的情境

    考慮自己用 LangGraph / 自家框架時機:

    • 需要 嚴格的 on-prem / VPC 隔離,無法把工作流丟到公有雲。
    • 工作流高度客製:
    • 複雜 state machine、multi-agent negotiation、需要自訂 checkpoint / replay / saga pattern。
    • 你需要直接控制 agent loop 實作、序列化、快取策略(例如結合你自己的向量 DB 與 RAG 策略)。

    折衷做法:

    • 把 Workspace Agents 當作「前台協調層」,負責與人互動、排程、通知。
    • 真正複雜的決策與計算交給你自己的後端 / RAG 服務:
    • Agent 只調用一個 call_internal_orchestrator 工具,
    • 由你自己的系統決定要不要再 call 其他 model / search / DB。

    3. 與現有 RAG / 後端服務整合的最佳實踐

    • RAG 放在你自己那一側,不要讓 Agent 直接 query 各種向量庫:
    • Agent 工具:query_kb({ question }) → 你的 RAG API。
    • 由你決定使用什麼模型、什麼 chunking、什麼 embedding。
    • 這樣有幾個好處:
    • 成本可控:RAG 的 embedding / search 模型可自由替換為更便宜或自建方案。
    • 安全可控:哪些 index 可被哪個 Agent 用,由你自己的 ACL 管。

    總結

    • Workspace Agents = 雲端 Agent runtime + Sandbox + Workspace 權限整合,把原本你得自建的 Agent framework 一大塊打包好給你。
    • 開發者真正要做的是:
    • 設計好小顆、邊界清楚的工具
    • 用 Draft → Approve → Execute 把高風險操作關進籠子
    • 把 RAG / 複雜邏輯放在你可控的後端。

    💡 關鍵: 把 80% 可標準化流程交給 Workspace Agents 跑,關鍵 20% 風險與業務邏輯留在自家後端,是多數團隊較實際的架構選擇。

    如果你目前已經在寫一堆「LLM + Zapier + 自家 webhook」的 glue code,Workspace Agents 值得你直接開一個 Workspace,把一條現有流程搬進去試跑,從觀測與權限開始收斂架構。

    🚀 你現在可以做的事

    • 選一條既有「LLM + Zapier / Make + webhook」流程,畫出其中所有工具與權限邊界,準備搬進 Workspace Agents
    • 把內部 REST / GraphQL / DB / SaaS API 列表整理成工具 schema 構想(含風險等級與是否需要 approval_token
    • 在測試 Workspace 中實作一個 Draft → Approve → Execute 的小流程,實際觀察 run log 與工具調用行為
  • AI Agent 正在變成各行各業的「專職角色」:從雲端故障指揮官到教育出題機的三個實戰案例

    如果哪天你打開 Slack,發現新加入的同事叫「ActionNex」,職稱寫著 Oncall Outage Manager(雲端故障值班經理),你大概不會意外——但真正驚訝的,是這位「同事」其實是個 AI Agent。

    這不是科幻,也是現在進行式。

    這一波 Agent 熱潮,真正有趣的變化不是「模型又變多強」,而是它開始在各個領域變成一個具體的專職角色

    • 在微軟 Azure,它是負責雲端停機調度的虛擬值班經理(ActionNex)
    • 在科研實驗室,它幫科學代理整理、鍛造會自己長大的技能庫(SkillFoundry)
    • 在程式課教室,它是老師身邊的出題助教(CODE-GEN)

    這篇文想聊的不是「又有幾篇新論文」,而是:

    Agent 落地時,真正重要的設計點,其實不是「模型多大、多強」,而是:
    1. 怎麼設計技能庫
    2. 怎麼設計工作流
    3. 怎麼設計人類在回圈中的協作

    我們會拆三個案例,順便帶到兩個很關鍵的底層技術:Profile-Then-Reason(PTR)Combee,來看 Agent 要怎麼變得更穩、更會學。


    一個共通現象:Agent 在團隊裡,開始有「職稱」了

    先抓一個大方向:

    以前我們講 LLM,多半把它當「加強版 ChatGPT」——一個很聰明的通用助手。

    但這幾個系統有個共同點:

    • 它們不是「萬事通」,而是清楚限定職責的角色
    • 它們都有專用的工具與技能庫
    • 它們都有固定的工作流程(workflow)
    • 它們都有穩定運作的記憶系統
    • 而且都強調 human-in-the-loop(人類在回圈中)

    換句話說,真正落地的 Agent,比較像是:

    「你團隊裡多了幾位非常認真、永遠 oncall、不會累的專職同事。」

    接下來就來看這三位「新同事」各自長什麼樣子。


    案例一:ActionNex —— 微軟 Azure 的雲端故障「虛擬指揮官」

    情境想像一下:

    凌晨三點,某區域的 Azure 服務掛了。平常流程:

    1. 值班工程師被叫醒
    2. 開會、看 dashboard、翻 playbook
    3. 瘋狂在 Teams 上 ping 各團隊
    4. 邊排查邊對外更新狀態

    這種跨團隊、資訊不完整、高壓的情境,過去完全靠人撐著。

    微軟在 ActionNex 論文 裡做的事情是:

    把這整個「停機事件管理」流程,交給一個 專職 Agent 當指揮官

    ActionNex 怎麼工作?

    它接收的資訊其實非常雜:

    • 停機事件內容(Ticket、公告)
    • 遙測資料(各種監控指標)
    • 人類在 Teams / Email 裡的對話

    第一步,它會做一件很重要的事:

    把一堆雜訊壓縮成一串「關鍵事件」(critical events)

    有點像是:

    • 從「聊天紀錄 + log + 報表」
    • 自動剪輯成一條事件時間線:「01:32 服務 A 延遲飆升 → 01:37 DB 重啟失敗 → 01:40 客戶大量 Time-out」

    接著它會用一套分層記憶系統來推理下一步該做什麼。

    三層記憶:讓 Agent 像資深值班工程師一樣「有歷史感」

    ActionNex 把記憶分成三種:

    1. KCA 知識庫(Key-Condition-Action)
      從歷史 playbook 萃取:
    2. 關鍵條件(Condition):例如「延遲 > 200ms 且錯誤率 > 5%」
    3. 對應動作(Action):例如「先 rollback 上一版」「切到備援區域」
      這有點像整個團隊的「作戰 SOP」被結構化塞進 Agent 裡。
    4. 情境記憶(Past outage memories)
      過去每一次停機的「故事版」:發生什麼、怎麼處理、結果如何。
    5. 工作記憶(Working memory)
      這次事件當下的進度:已做哪些操作、各團隊目前狀態。

    推理代理會把當前的關鍵事件,拿去跟這些記憶對照:

    • 找出「長得很像的歷史事件」
    • 套用對應的 KCA 規則
    • 給出「下一步該做什麼」的建議

    最重要的:人機協作,而不是全自動

    ActionNex 不是來「接管」值班,而是變成:

    • 為每個角色(不同團隊)
    • 在不同階段(初始 triage、調查、修復、收尾)
    • 給出角色與階段條件化(role- and stage-conditioned) 的建議

    而且每一次人類的接受 / 拒絕 / 更改行動,

    都會回寫成新的資料,讓系統持續「學會更像這個組織真正的作法」。

    簡單講,它就是個永遠在場、會記住每一次事故教訓的「虛擬 oncall 指揮官」。

    實測成效:不只是 demo,是真的上線用

    這篇論文最關鍵的一段是:

    • 8 次真實 Azure 停機案例 中測試
    • 下一步行動建議的:
    • 精確率約 71.4%
    • 召回率約 53–55%

    換句話說:

    • 它給的「可用建議」不少,而且品質不差
    • 又因為有值班工程師在回圈裡,不會傻傻地完全照做

    對營運團隊來說,這不是「AI 會不會取代我」的題目,而是:

    「我多了一個懂歷史、熟 SOP、24 小時在線的值班副手。」


    案例二:SkillFoundry —— 幫科研 Agent 打造會自己長大的技能庫

    第二個案例走進研究室。

    現在很多實驗室都在做「科學代理」:

    • 幫忙寫分析程式
    • 跑生物資訊 pipeline
    • 讀 paper、查資料

    但現實問題是——科研世界的「知識」非常碎:

    • GitHub repo 裡的腳本
    • API 文件
    • Lab wiki、Notebook
    • Database 查詢
    • 方法論寫在論文裡

    對 Agent 來說,這些都像一堆散落各地的「技能零件」,

    會寫 Python ≠ 會跑你實驗室那套 pipeline。

    SkillFoundry 做的事情,就是:

    把這些 heterogeneous 資源,鍛造成「可以直接拿來用的技能包」,而且會自我演進。

    什麼是「技能包」?

    在 SkillFoundry 裡,每個 skill 不是一句 prompt,而是一個完整的「模組」:

    包含:

    • 任務範圍(這技能用來幹嘛)
    • 輸入/輸出格式
    • 執行步驟(step-by-step 程序)
    • 環境假設(需要哪些環境 / 資料)
    • 來源(來自哪個 repo / 文件 / 論文)
    • 測試(怎樣算成功)

    很像你在寫一個「可重用的工具」,不是臨時寫一段 code 貼上就算。

    SkillFoundry 的核心流程:

    可以想像成四步:

    1. 建立領域知識樹(Domain Knowledge Tree)
    2. 把目標領域(例如基因組學)拆成一棵樹:
    3. 節點可能是:資料前處理 → 比對 → 變異檢測 → 下游分析
    4. 從高價值分支挖資源
    5. 從 repo / API / 文件 / 論文中抓出相關程式與描述
    6. 用 LLM 幫忙抽取出「這個操作到底在做什麼」
    7. 轉成技能包 + 測試
    8. 把操作流程寫成結構化 skill
    9. 自動或半自動生成測試案例
    10. 閉環驗證 + 自我演進
    11. 讓代理實際用這些 skill 去解 benchmark / 真實任務
    12. 觀察:
      • 哪些技能常用?
      • 哪些技能常出錯?
    13. 依狀況進行:擴展/修復/合併/刪減

    這個「挖 → 寫成 skill → 用 → 回饋 → 精煉」的迴圈,就是它的「自我演進」。

    結果:不是在堆技能,而是真的變強

    幾個有意思的數字:

    • SkillFoundry 產生的技能庫,跟現有的 SkillHub / SkillSMP 比,
    • 70% 以上的技能是新的(不是抄舊東西)
    • 把這些技能接上現有 coding agent:
    • 在多個科學基準上表現有明顯提升
    • 對像基因組學這種比較硬的任務,提升特別明顯

    更關鍵的是:

    你可以針對某個具體任務,按需設計一批技能,而不是丟給模型自己猜要怎麼做。

    從產品角度來看,這個訊號非常清楚:

    • 真正厲害的科學 Agent,不只是「模型懂很多生物學」
    • 而是它有一套針對領域打造的技能庫 + 驗證機制

    如果你在做 B2B / 垂直領域產品,這其實就是:

    「先把你的 domain SOP 結構化成一個會自己長大的技能庫。」


    案例三:CODE-GEN —— 程式課老師的 AI 出題助教

    第三個案例走進教室。

    程式課老師大概都懂這個痛點:

    • 要為不同程度的學生出足夠多、夠有品質的題目
    • 題目要對齊課程目標(不是隨便考)
    • 還要兼顧:清晰度、合理難度、沒有語病、程式碼要能跑…

    CODE-GEN 做的是:

    用一個 Human-in-the-loop 的 RAG Agent 系統,當老師的「出題助教」。

    兩個 Agent:出題者 + 驗題者

    整個系統拆成兩個角色:

    1. Generator(出題代理)
    2. 讀課程內容、學習目標(透過 RAG 把相關教材餵給模型)
    3. 產生多選題:題幹、選項、正解、解析
    4. Validator(驗證代理)
    5. 獨立地、用另一套流程檢查題目
    6. 檢查七個教學維度,例如:
      • 題目是否清晰
      • 程式碼是否可執行、沒有 bug
      • 概念是否對齊課程目標
      • 正確答案是否合理

    兩個 Agent 都配了一些專用工具

    • 用來實際跑程式碼
    • 驗證輸出
    • 做精確計算

    所以這不是「LLM 靠感覺出題」,而是:

    LLM + 工具 + 另一個 LLM 當審稿編輯。

    人類在回圈:老師還是最後的權威

    CODE-GEN 強調的是 Human-in-the-loop

    • 研究找了 6 位領域專家(程式教師)
    • 對 288 題 AI 生成題目做評估
    • 得到 2016 組人機共同評分數據

    在可被人類直接檢查的維度(清晰度、程式碼有效性、概念對齊、答案合理性)上:

    • 成功率在 79.9% – 98.6% 之間

    但研究也坦白說:

    • 有一些「比較微妙」的教學品質問題
    • 例如題目的「教育價值」「是否真的能引導學生思考」
    • 還是需要人類專業來判斷

    我覺得這是很健康的設計哲學:

    AI 幫你「大量產出高水準草稿」,
    老師主導「最後把關與精修」。

    對任何內容產品團隊也一樣:

    • 不要期待 Agent「全自動產出完美內容」
    • 要把它當成高效率內容工廠 + 嚴謹的 QA 流程

    底層技術:要讓 Agent 穩、快、會學,靠什麼?

    看完三個落地案例,你會發現一個 pattern:

    • 都是多步驟流程
    • 都要跟工具互動
    • 都要反覆執行很多次

    這種情境下,兩個瓶頸很常見:

    1. Agent 推理流程太長 → 延遲爆炸、錯誤累積
    2. 想讓 Agent 自我提升 → 學得太慢或學壞

    這時候,兩篇研究上場:Profile-Then-Reason(PTR)Combee

    Profile-Then-Reason(PTR):先寫流程,再執行

    一般常見的 Agent 模式(像 ReAct)是:

    想一步,call 一次工具;看結果,再想下一步。

    問題是:

    • 工具多 → LLM 每一小步都要重新推理
    • 跑久了延遲很高,而且很容易一錯再錯、錯誤累積

    PTR 論文 提出一種不一樣的做法:

    Profile-Then-Reason:先用模型「把整個工作流程寫出來」,再用比較穩的運算子去執行這個流程。

    大致流程:

    1. Profile(定義流程)
    2. LLM 看任務與可用工具
    3. 一口氣設計出一個 explicit workflow(像寫一個簡化版 pipeline)
    4. Execution(執行)
    5. 由 deterministic 或 guarded operator 來跑這個 workflow
    6. 這一步不再狂 call LLM,而是照規劃一步步執行
    7. Verification(驗證)
    8. 有一個 verifier 來檢查整個 trace 合不合理
    9. Repair / Re-Reason(修正)(只有必要才做)
    10. 若 verifier 發現流程不可靠,才再叫 LLM 來調整流程

    核心 idea 是:

    「盡量把『思考成本』集中在一兩次,再用穩定的程式化執行接手。」

    實驗結果:

    • 在 6 個 benchmark、4 個不同模型上測試
    • PTR 的精確匹配率普遍優於 ReAct
    • 模型呼叫次數也被嚴格限制在 2–3 次 左右

    尤其在:

    • 以檢索為主(RAG-heavy)
    • 任務拆解很多階段

    這種情境,PTR 特別吃香。

    對產品設計來說,這個訊息很直接:

    真正複雜的工作流,不要用「一直問模型下一步要幹嘛」來跑,而是讓模型先設計流程,再讓系統執行

    Combee:讓一大群 Agent 的經驗變成可用的「系統提示升級」

    第二個問題是:

    「我們收了一堆 Agent 執行軌跡,怎麼讓它們真的變成 Agent 變強的養分?」

    過去像 ACE、GEPA 這類 prompt learning 方法,可以從歷史任務中學出更好的 system prompt,但多半:

    • 針對單一 Agent 或小量並行
    • 當你想一次學很多 trace,就會:
    • 要嘛變超慢
    • 要嘛品質崩掉

    Combee 的出發點是:

    我們需要一個可以「高並行學 prompt」的框架,才配得上現在一堆大規模 Agent 執行軌跡。

    它的做法可以簡化理解為三個關鍵機制:

    1. 平行掃描(Parallel scan)
    2. 把大量軌跡拆開,在多個 worker 上同時做提示學習
    3. 增強隨機重排(Enhanced random reshuffling)
    4. 避免某些偏差樣本一直堆疊導致 prompt 學壞
    5. 動態批次控制(Dynamic batch size)
    6. 根據學習狀況調整 batch,兼顧穩定與速度

    實驗上,在 AppWorld、Terminal-Bench、Formula、FiNER 等任務上:

    • 相比之前方法,學習速度最高快 17 倍
    • 準確度大致持平或更好
    • 成本維持相近

    這帶來一件很實際的想像:

    未來你的產品如果有 10,000 個 Agent 在跑任務,它們的「軌跡」真的可以變成一種集體學習機制,而不是只拿來算 dashboard。


    三個案例的一致設計:記憶、技能、驗證、人類在回圈

    把 ActionNex、SkillFoundry、CODE-GEN 放在一起,你會看到一張很像的架構圖:

    1. 記憶系統(Memory)
    2. ActionNex:KCA + 過往事故 + 當前工作記憶
    3. SkillFoundry:領域知識樹 + 已驗證技能歷史
    4. CODE-GEN:課程內容、過往題目與評分結果
    5. 技能庫(Tools / Skills)
    6. ActionNex:操作手冊轉成 KCA;各種維運工具
    7. SkillFoundry:每個帶測試的 skill module
    8. CODE-GEN:程式執行、驗證工具 + RAG 工具
    9. 工作流程(Workflow / Orchestration)
    10. 有明確的階段:感知 → 推理 → 行動 → 回饋
    11. PTR 類的技術則用來把這工作流更結構化、穩定化
    12. 驗證與自我修正(Verification & Self-Improvement)
    13. ActionNex:人類值班人員的使用/拒絕行為
    14. SkillFoundry:用 benchmark 與測試來修技能
    15. CODE-GEN:Validator Agent + 老師評分
    16. Combee 類技術:把這些軌跡學成更好的 prompt
    17. Human-in-the-loop(人類在回圈中)
    18. 不只是「可選的審核」,而是:
      • ActionNex:值班工程師 + 跨團隊溝通
      • SkillFoundry:領域專家指導知識樹、審關鍵技能
      • CODE-GEN:老師最後裁決題目品質

    這裡面有一個很重要的觀點:

    真正落地的 Agent 系統,設計重心往往不在「選哪個模型」,而在:

    • 你怎麼整理你組織的知識(記憶)
    • 你怎麼把流程拆成可重用的技能
    • 你怎麼安排工作流與驗證點
    • 你怎麼讓人類有自然的介面可以介入、修正、教它

    如果你想在自家產品導入 Agent,應該先思考什麼?

    把研究拉回產品實務,我會建議你先從這三個問題開始,而不是先問「要不要上 GPT-4.1 還是別的?」

    1. 你想讓 Agent 當什麼「專職角色」?

    不要一開始就說:「我要一個 AI 助手。」

    改問:

    • 在你的業務裡,有沒有:
    • 雜事多、流程固定
    • 但又需要一定專業判斷的角色?

    例如:

    • 客服團隊裡的「初步 triage 專員」
    • SRE 團隊裡的「值班副手」(像 ActionNex)
    • 研究團隊裡的「腳本整理小幫手」(像 SkillFoundry)
    • 教育團隊裡的「出題助教」(像 CODE-GEN)

    給它一個清楚的職稱和職責範圍,

    你比較有機會設計出真的能上線用的 Agent,而不是玩具 demo。

    2. 你的「技能庫」要怎麼長出來?

    機器不懂你公司到底怎麼做事。

    你需要回答:

    • 你們現在的 SOP 放在哪?(文件、Notion、Wiki、內部工具?)
    • 哪些操作可以拆成「技能」?
    • 每個技能:輸入是什麼、輸出是什麼、怎樣算成功?
    • 有沒有測試機制可以驗證技能沒壞?

    可以借鏡 SkillFoundry 的心法:

    • 先畫一棵「業務知識樹」
    • 選幾個高價值分支去做 POC
    • 用半自動方式把 SOP 轉成技能,儘量帶上測試與環境假設

    3. 你要怎麼把人類放進回圈?

    這點在三個案例裡都被反覆強調:

    • 沒有人類在回圈的 Agent,很難安全地上產線

    你可以設計:

    • 哪些階段一定要人類確認?
    • 例如:
      • 發布外部公告前
      • 修改關鍵設定前
      • 上線前最後一版題目
    • 人類的操作會不會被記錄、回饋?
    • 接受 / 拒絕 / 修改 Agent 建議
    • 能不能作為未來 prompt / 技能優化的資料

    這裡就呼應 Combee 的價值:

    如果你能把大量的「人類如何修正 Agent」軌跡存下來,未來可以用高並行的 prompt learning 框架,把整體系統悄悄調得越來越好。


    結語:先設計角色與流程,再談模型

    ActionNex、SkillFoundry、CODE-GEN、PTR、Combee 這幾篇研究,對我來說共同在傳遞一件事:

    Agent 不再只是「一個更聰明的大模型」,而是「被放進組織裡,負責特定工作的專職角色」。

    而當它變成「同事」之後,你最需要思考的其實是那些很「工程」也很「管理」的問題:

    • 你要給它什麼職稱和職責?
    • 它的技能從哪裡來,怎麼維護?
    • 它的工作流長什麼樣?
    • 它怎麼跟人類同事協作、被教會?

    模型當然重要,但更像是:

    一個很會學習、很會表達、很會寫 code 的「大腦」,
    真正決定它能不能上線成為團隊一員的,是你給它的 記憶、技能、流程與人際關係(human-in-the-loop)設計

    如果你正準備在產品裡導入 Agent,可以試著先畫一張圖:

    1. 中間寫上那個你想要的「AI 職稱」
    2. 左邊列出它需要什麼技能(對應到工具 / API / SOP)
    3. 右邊畫出它每天的工作流程(哪裡要人類確認)
    4. 下方想想:它今天做錯了,你要怎麼讓它明天變得更好?

    當這張圖足夠清楚,選用哪個模型,反而是一個比較好解的工程問題了。


    延伸閱讀

    • ActionNex: A Virtual Outage Manager for Cloud
      https://arxiv.org/abs/2604.03512
    • SkillFoundry: Building Self-Evolving Agent Skill Libraries from Heterogeneous Scientific Resources
      https://arxiv.org/abs/2604.03964
    • CODE-GEN: A Human-in-the-Loop RAG-Based Agentic AI System for Multiple-Choice Question Generation
      https://arxiv.org/abs/2604.03926
    • Profile-Then-Reason (PTR): Bounded Semantic Complexity for Tool-Augmented Language Agents
      https://arxiv.org/abs/2604.04131
    • Combee: Scaling Prompt Learning for Self-Improving Language Model Agents
      https://arxiv.org/abs/2604.04247