<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Agentic Commons - 繁體中文文章</title>
    <description>分享 AI 原生產品開發、實際交付流程、工具選擇，以及把想法做成可用產品時的判斷。</description>
    <link>https://agenticcommons.xyz/blog/zh/</link>
    <language>zh-Hant</language>
    <lastBuildDate>Wed, 16 Sep 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Claude 免費用戶的資料開關：訓練授權、五年保留期與產品團隊要留意的界線</title>
      <description>Anthropic 更新消費者條款，讓 Claude Free、Pro、Max 用戶自行決定是否用對話資料訓練模型，並把保留期從 30 天延長到五年。</description>
      <link>https://agenticcommons.xyz/blog/anthropic-consumer-terms-data-training-opt-in/</link>
      <guid>https://agenticcommons.xyz/blog/anthropic-consumer-terms-data-training-opt-in/</guid>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <category>Anthropic</category>
      <category>Privacy</category>
      <category>Claude</category>
      <category>Compliance</category>
      <category>Product Builders</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/anthropic-consumer-terms-data-training-opt-in/&quot;&gt;Claude 免費用戶的資料開關：訓練授權、五年保留期與產品團隊要留意的界線&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;一個彈出視窗決定你的對話會不會進訓練集&quot;&gt;一個彈出視窗，決定你的對話會不會進訓練集&lt;/h2&gt;
&lt;p&gt;Anthropic 在 2025 年 8 月 28 日公布消費者條款與隱私政策更新，核心是一個選擇權：Claude Free、Pro、Max 用戶可以自行決定是否讓自己的資料被用來改進 Claude，以及強化對詐騙、濫用等有害使用的防護。官方說法是，參與者能協助提升模型安全，讓偵測有害內容的系統更準確、更不容易誤判無害對話，也讓未來的 Claude 在coding、分析與推理上表現更好。&lt;/p&gt;
&lt;p&gt;這不是預設全開、也不是預設全關的技術細節問題，而是產品介面上的同意流程問題。新用戶在註冊流程中選偏好；既有用戶會看到彈出視窗，並在 2025 年 10 月 8 日前接受更新後的消費者條款並做出選擇。若選擇現在接受，新政策立即生效。&lt;/p&gt;
&lt;h2 id=&quot;適用範圍消費者方案不含商用與-api&quot;&gt;適用範圍：消費者方案，不含商用與 API&lt;/h2&gt;
&lt;p&gt;這次更新只涵蓋 Claude Free、Pro、Max，包括用這些帳號使用 Claude Code 的情境。Anthropic 明確表示不適用於 Commercial Terms 下的服務，包括 Claude for Work、Claude for Government、Claude for Education，以及 API 使用，例如透過 Amazon Bedrock、Google Cloud Vertex AI 等第三方途徑。&lt;/p&gt;
&lt;p&gt;對產品團隊來說，這條界線比條款本身更值得記下來：同一個模型家族，會因為帳號類型與存取途徑而有不同的資料處理規則。如果你的產品同時服務消費者與企業客戶，或同時走自家 API 與雲端市集，使用者問「我的資料會不會被拿去訓練」時，答案取決於他從哪個入口進來。&lt;/p&gt;
&lt;h2 id=&quot;五年保留期與-30-天的分岔&quot;&gt;五年保留期與 30 天的分岔&lt;/h2&gt;
&lt;p&gt;若允許資料用於模型訓練，Anthropic 會把資料保留期延長到五年；不提供的用戶則維持原本的 30 天保留期。五年期只適用於新的或重新開始的對話與coding session，也適用於用戶針對 Claude 回應提交的回饋。官方補充，刪除的對話不會用於未來的模型訓練，且不會把用戶資料賣給第三方；敏感資料則透過工具與自動化流程過濾或模糊化。&lt;/p&gt;
&lt;p&gt;這裡有兩個容易混淆的點。第一，條款更新只影響新的或重新開始的對話與 session，不是回溯全部歷史。第二，10 月 8 日之後，用戶必須就模型訓練設定做出選擇才能繼續使用 Claude，但選擇之後仍可隨時在 Privacy Settings 更改。&lt;/p&gt;
&lt;h2 id=&quot;對開發者的實務影響&quot;&gt;對開發者的實務影響&lt;/h2&gt;
&lt;p&gt;如果你的團隊把 Claude 接進內部工具或客戶流程，先確認流量走的是哪一種條款。走 API 或雲端途徑的商用情境不在這次更新範圍內；但同事用個人 Pro 帳號跑 Claude Code 做原型，就會落在消費者條款裡。這種混用很常見，也最容易在資安審查時被問倒。&lt;/p&gt;
&lt;p&gt;同意流程的設計本身也有參考價值：把選擇放在註冊與既有用戶的彈出視窗、給出明確期限、允許隨時更改，並區分「接受條款」與「是否用於訓練」兩件事。這種把預設值與後續控制權分開處理的做法，和我們先前談過的 &lt;a href=&quot;/blog/cloudflare-disallow-ai-training-mixed-use-crawlers/&quot;&gt;Cloudflare 把混合用途爬蟲拆成三種行為&lt;/a&gt; 是同一個思路：不要用一個開關概括所有用途，而是讓不同用途有不同規則。&lt;/p&gt;
&lt;p&gt;目前公開資訊來自 Anthropic 的公告，具體的資料保留實作、過濾流程細節，以及不同地區用戶的適用差異，公告中沒有進一步說明。若你要把這件事寫進內部政策，建議直接以官方 FAQ 與實際帳號設定為準，而不是憑這篇摘要推論。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.anthropic.com/news/updates-to-our-consumer-terms&quot;&gt;Updates to Consumer Terms and Privacy Policy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>當掃描器看不見攻擊：Cloudflare 用 ML 拆解店面前的惡意 JavaScript</title>
      <description>Cloudflare 的 Page Shield ML 在真實流量中攔下八個惡意 payload，而 VirusTotal 與 URLScan 幾乎全部漏判。</description>
      <link>https://agenticcommons.xyz/blog/cloudflare-client-side-security-storefronts/</link>
      <guid>https://agenticcommons.xyz/blog/cloudflare-client-side-security-storefronts/</guid>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <category>Cloudflare</category>
      <category>Cybersecurity</category>
      <category>Machine Learning</category>
      <category>AI Engineering</category>
      <category>Web Monitoring</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/cloudflare-client-side-security-storefronts/&quot;&gt;當掃描器看不見攻擊：Cloudflare 用 ML 拆解店面前的惡意 JavaScript&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;頁面看起來正常不代表沒有問題&quot;&gt;頁面看起來正常，不代表沒有問題&lt;/h2&gt;
&lt;p&gt;一個電商店面可以載入很快、商品齊全、結帳流程順暢，但底層的 JavaScript 正在做店主從未授權的事：抽走聯盟佣金、劫持搜尋與點擊、竄改分析數據，或向遠端伺服器詢問下一步要執行什麼。Cloudflare 在 2026 年 9 月 16 日發布的文章裡，把這個盲點講得很清楚：頁面健康與程式碼安全是兩件事。&lt;/p&gt;
&lt;p&gt;這篇貼文追蹤了四個實際營運中的惡意行動、共八個 payload，全部由 Page Shield ML 自動偵測，人類只在系統標記後才進場覆核。事後用一般安全掃描工具回頭檢查，八個 payload 有七個完全不在 VirusTotal 上，URLScan 也沒有對任何一個給出惡意判定。這個對比是整篇的核心：等到威脅情報資料庫替你貼上標籤，你已經晚了。&lt;/p&gt;
&lt;h2 id=&quot;為什麼簽章式防禦在這裡失效&quot;&gt;為什麼簽章式防禦在這裡失效&lt;/h2&gt;
&lt;p&gt;四個行動沒有共用簽章，也沒有共通的藏匿手法。Cloudflare 描述其中一個會等到裝置、國家、時間、referrer 或瀏覽器狀態符合條件才醒來；另一個把無點擊的聯盟請求塞進不可見的 iframe；還有攔截點擊、壓制監控、或條件式從遠端載入更多程式碼的變體。&lt;/p&gt;
&lt;p&gt;換句話說，靜態掃描一次頁面是不夠的。這些腳本被設計成在正確的受害者出現前保持安靜，所以需要的是持續的瀏覽器可視性，而不是單點檢查。&lt;/p&gt;
&lt;p&gt;Cloudflare 的做法是把 JavaScript 當成圖來推理，而不是一段平面文字。同一個 GNN 先前已經抓過惡意 npm 套件與一個實際運作中的 Magecart 付款側錄程式；它透過語法樹連結程式符號，看出誰呼叫誰、攻擊者埋了什麼、還有什麼仍在對外連線。被 GNN 標為惡意的流量不到全部分析量的 0.3%，這些會再送進 Workers AI 上的輕量 LLM 做即時第二意見，以壓低誤判同時維持召回率。&lt;/p&gt;
&lt;p&gt;最複雜的腳本則交給一組前沿模型（Cloudflare 稱之為 teachers）各自在獨立 session 中分析，必要時用受限的 JavaScript 評估器拆解片段。模型之間的分歧被當成訊號而非雜訊，每個標記依模型在 Artificial Analysis Intelligence Index 的分數加權投票，形成 benign、payment skimming、other malware、cryptomining 四類的機率分布。只有被標為惡意或缺乏三分之二多數的腳本才需要人工檢視。&lt;/p&gt;
&lt;h2 id=&quot;四個行動各自偷走不同的東西&quot;&gt;四個行動各自偷走不同的東西&lt;/h2&gt;
&lt;p&gt;第一個行動針對行動裝置訪客：攔截商品點擊後，用新分頁開啟攻擊者預選的商品頁，同時讓原分頁繞經攻擊者的聯盟追蹤連結再回到商店，把歸因 cookie 種在背景。店家可能付出一筆不該付的佣金，更麻煩的是，真正帶來轉介的合作夥伴被搶走歸因，信任一旦破裂，傷害會超過單筆佣金。這個行動的變體用 MutationObserver 監看動態出現的商品磚與按鈕，並在 localStorage 寫入三天冷卻期；被擷取到的暫停版本甚至留有版本註解，記錄自己在 Black Friday 之後被暫停。&lt;/p&gt;
&lt;p&gt;第二個行動連點擊都不需要。訪客打開訂房頁、瀏覽選項、完全沒碰廣告，腳本可能已經送出聯盟請求，讓之後的成交看起來像別人轉介的。Cloudflare 指出，程式碼證明了隱蔽的自動化聯盟請求存在，但某個具體請求是否真的完成歸因、入帳或付出佣金，並未被觀察到。這裡的界線值得產品團隊記住：能證明機制，不等於能證明損失金額。&lt;/p&gt;
&lt;h2 id=&quot;供應鏈與-typosquatting-才是入口&quot;&gt;供應鏈與 typosquatting 才是入口&lt;/h2&gt;
&lt;p&gt;第一個行動的投放路徑經過兩個看起來很普通的 tag manager：Google Tag Manager → 另一個 tag manager → 惡意腳本。Cloudflare 明確說明，這是 payload 抵達瀏覽器的方式，不是任一 tag manager 被入侵的證據。&lt;/p&gt;
&lt;p&gt;更值得留意的是網域偽裝。其中一個投放主機 adtargett[.]com 與 1998 年註冊的廣告網域 adtarget[.]com 只差一個 t，首頁還自稱 Performance Marketing Agency。這種 typosquatting 讓它混在例行行銷標籤裡，通過快速的人工審查。&lt;/p&gt;
&lt;p&gt;對產品與行銷團隊來說，實務上的下一步不是買更多掃描器，而是承認第三方腳本是一條持續變動的攻擊面。Cloudflare 的案例顯示，偵測能力必須跟著程式碼的執行時行為走；而對一般開發者，這也呼應了我們先前談過的 &lt;a href=&quot;/blog/cloudflare-disallow-ai-training-mixed-use-crawlers/&quot;&gt;Cloudflare 把混合用途爬蟲拆成三種行為&lt;/a&gt; 那類思路：先分清誰在做什麼，再決定要不要放行。&lt;/p&gt;
&lt;p&gt;至於這套 ML 流程本身，Cloudflare 說回饋迴路仍有一部分靠人工，正在開始自動化。這是個誠實的限制，也提醒我們：自動偵測的準確度不是一次性設定，而是需要持續維護的系統。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cloudflare.com/client-side-security-finds-4-malicious-campaigns/&quot;&gt;When scanners miss the attack: how Cloudflare Client-Side Security protects storefronts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>當 agent 也能改 production：Cloudflare 把 Workers 權限切到單一資源</title>
      <description>Cloudflare 為 Workers 推出四種角色與資源層級授權，讓 CI 與 agent 只拿到單一 Worker 的權限。</description>
      <link>https://agenticcommons.xyz/blog/cloudflare-workers-granular-authorization/</link>
      <guid>https://agenticcommons.xyz/blog/cloudflare-workers-granular-authorization/</guid>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <category>Cloudflare</category>
      <category>Cloudflare Workers</category>
      <category>AI Agents</category>
      <category>Security</category>
      <category>API Management</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/cloudflare-workers-granular-authorization/&quot;&gt;當 agent 也能改 production：Cloudflare 把 Workers 權限切到單一資源&lt;/a&gt;&lt;/p&gt;&lt;p&gt;過去在 Cloudflare 上管理 Workers 權限，最常見的麻煩是「範圍太大」。你要嘛給對方整個帳號的權限，要嘛在角色與權限之間來回猜測。當 CI/CD 流程和 agent 也開始部署程式碼，這個問題就從不方便變成風險：一個被賦予過多權限的 agent，可能因為一次錯誤的呼叫就動到 production。&lt;/p&gt;
&lt;p&gt;Cloudflare 在 2026 年 9 月 15 日推出 Workers 的資源層級授權，讓你能把權限縮到單一 Worker，並搭配四種新角色。這篇文章談的是它改變了什麼，以及你在設計自動化流程時該怎麼用。&lt;/p&gt;
&lt;h2 id=&quot;四種角色對應四種夠用就好&quot;&gt;四種角色，對應四種「夠用就好」&lt;/h2&gt;
&lt;p&gt;Cloudflare 把角色收斂成四種，對應不同的工作情境：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Metadata Read-Only&lt;/strong&gt;：能看設定、metrics、logs、traces，但看不到 Worker 的原始碼。適合除錯。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Content Read-Only&lt;/strong&gt;：能讀取程式碼做審查，但不能修改或部署。適合 code review agent。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Editor&lt;/strong&gt;：能部署新版本，但不能刪除 Worker。適合 CI/CD 流程。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Admin&lt;/strong&gt;：最高權限，包含刪除。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這四種角色可以套用在三個層級：整個 Developer Platform、單一產品（例如所有 Workers），或單一資源（例如某一個 Worker）。角色決定「能做什麼」，層級決定「能對誰做」。&lt;/p&gt;
&lt;h2 id=&quot;為什麼這對-agent-特別重要&quot;&gt;為什麼這對 agent 特別重要&lt;/h2&gt;
&lt;p&gt;Cloudflare 在公告中直接點出這個動機：你不會希望 agent 只因為被授予過多權限，就在 production 做出變更。&lt;/p&gt;
&lt;p&gt;實際做法是替 agent 建立一個帶有 scoped access 的 API token，讓它只能存取某一個應用程式。如果 agent 被限制在單一 Worker，它透過 Cloudflare API 調查問題時，也只會拿到那個 Worker 的資料，看不到帳號裡其他 Worker 的內容。&lt;/p&gt;
&lt;p&gt;這和我們之前在&lt;a href=&quot;/blog/mcp-apps-agentcore-interactive-widgets/&quot;&gt;把互動介面塞進對話框之後&lt;/a&gt;談到的部署取捨是同一個問題：agent 能碰到的東西越多，你需要設計的邊界就越多。差別在於，這次的邊界不是寫在 prompt 裡，而是寫在授權層。&lt;/p&gt;
&lt;h2 id=&quot;ci-部署與路由權限的分離&quot;&gt;CI 部署與路由權限的分離&lt;/h2&gt;
&lt;p&gt;對 CI/CD 來說，最實用的組合是「Editor 角色 + 單一 Worker 範圍」。這樣即使流程設定錯誤或 token 外洩，影響也侷限在那個 Worker：它可以部署新版本，但不能刪除，也不能碰其他應用程式。&lt;/p&gt;
&lt;p&gt;路由與 Custom Domain 是另一個需要留意的邊界。要新增、修改或移除路由，你需要同時具備該 Worker 的 Editor 權限，以及該 zone 的 Workers Routes 權限。Cloudflare 選擇要求 Workers Routes 權限而不是更廣泛的 zone 權限，讓你能管理流量怎麼進到 Worker，而不必交出整個網域的其他設定。&lt;/p&gt;
&lt;p&gt;反過來說，一旦路由設定完成，只要部署不改變那個連線，你就能繼續部署新版本，不需要 zone 或相關資源的權限。這讓 CI 系統可以部署應用程式，而不必同時拿到你的網域、資料庫或儲存空間。&lt;/p&gt;
&lt;h2 id=&quot;durable-objects-與錯誤訊息的處理&quot;&gt;Durable Objects 與錯誤訊息的處理&lt;/h2&gt;
&lt;p&gt;Durable Objects 沒有自己的角色或權限，存取權取決於你對實作它的 Worker 的權限。Metadata Read-Only 能看 Durable Object 的 metrics、logs、traces，但看不到物件裡儲存的資料；因為 Data Studio 可以直接查詢和修改那些資料，所以需要 Editor 角色。&lt;/p&gt;
&lt;p&gt;另一個實務上的改進是錯誤訊息。當權限不足時，API 不再只回傳通用的 403，而是附上相關 API 文件的連結，讓你和 agent 能查出需要哪些權限，而不是直接要求更大的權限。&lt;/p&gt;
&lt;h2 id=&quot;現在可以怎麼開始&quot;&gt;現在可以怎麼開始&lt;/h2&gt;
&lt;p&gt;這些 Worker 層級的存取控制已經對所有客戶開放，可以透過 dashboard、API 或 Terraform 設定。如果同一個團隊或專案有多人需要相同權限，可以建立 User Group，把 policy 指派給群組，成員會自動繼承。&lt;/p&gt;
&lt;p&gt;舊的角色與權限沒有設定淘汰日期，現有指派會繼續運作。Cloudflare 建議開始轉向新角色，因為只有新角色支援資源層級的授權。&lt;/p&gt;
&lt;p&gt;下一步是把同樣的資源層級控制帶到更多 Developer Platform 產品，包括 KV namespace 和 D1 資料庫，並沿用同一組角色。對正在把 agent 接進部署流程的團隊來說，值得先盤點：目前有哪些 token 的權限範圍，其實比它實際需要的還大。&lt;/p&gt;
&lt;p&gt;（本文依據 Cloudflare 官方公告整理，未經實測。）&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cloudflare.com/workers-granular-authorization/&quot;&gt;Give every teammate and agent the right level of access to your Workers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>公司融資資料 API 怎麼挑：獨立基準測試揭露的取捨</title>
      <description>Openbenchmarks 的獨立基準測試顯示，Firecrawl 的 agent 在融資資料新鮮度與歷史補全兩項都領先，但成本與速度差異讓「最佳」取決於你的任務。</description>
      <link>https://agenticcommons.xyz/blog/company-funding-data-api-benchmark/</link>
      <guid>https://agenticcommons.xyz/blog/company-funding-data-api-benchmark/</guid>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <category>API</category>
      <category>Firecrawl</category>
      <category>Benchmarking</category>
      <category>Data Extraction</category>
      <category>Product Builders</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/company-funding-data-api-benchmark/&quot;&gt;公司融資資料 API 怎麼挑：獨立基準測試揭露的取捨&lt;/a&gt;&lt;/p&gt;&lt;p&gt;如果你要為 GTM 團隊、VC 或 RevOps 挑一個公司融資資料 API，最直接的問題是：給它一個公司網域，它能不能正確說出最近一輪融資的階段？過去這個問題沒有標準答案，因為每個供應商都宣稱自己覆蓋率最好。2026 年 8 月，獨立組織 Openbenchmarks 做了一個公開、可重現的基準測試，把 17 家供應商放在同一個公司網域集合上，用同一套標準評分。結果顯示，Firecrawl 的 agent 在兩個關鍵指標上都領先，但其他供應商在速度與成本上各有優勢。&lt;/p&gt;
&lt;h2 id=&quot;基準測試怎麼設計&quot;&gt;基準測試怎麼設計&lt;/h2&gt;
&lt;p&gt;Openbenchmarks 的融資資料看板把供應商分成三類：長時執行的 agent API、網頁搜尋 API、以及 GTM 資料庫。每個供應商都拿到相同的公司網域，透過各自的正式端點查詢，回傳的融資階段會跟人工審核過的真實資料比對。看板分成兩個指標：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;新鮮度&lt;/strong&gt;：過去 30 天內宣布的融資輪次，測試供應商多快能索引到新消息。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;歷史補全&lt;/strong&gt;：超過 30 天的舊融資輪次，測試供應商回溯歷史資料的完整度。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這兩個指標獎勵相反的設計。一個索引很快的供應商可能歷史資料很薄，一個歷史資料庫很深的供應商可能對上週的新聞反應很慢。所以把它們平均成一個排名會誤導人，Openbenchmarks 選擇分開排名。&lt;/p&gt;
&lt;h2 id=&quot;誰在什麼任務上贏&quot;&gt;誰在什麼任務上贏&lt;/h2&gt;
&lt;p&gt;在新鮮度看板上，Firecrawl 的 agent 拿到 100% 正確率，是所有供應商中最高的。Exa 的即時搜尋模式拿到 98.0%，Exa 的 agent 拿到 97.0%，Parallel 的 Task API 拿到 95.0%。Crunchbase 的資料庫匯出也拿到 95.1%，跟這些即時供應商差不多。但 GTM 資料庫供應商在新鮮度上明顯落後：Apollo 只有 59.7%，People Data Labs 只有 13.3%，CompanyEnrich 只有 12.7%。原因很直接：一個九天前宣布的融資輪次，資料庫還沒收錄，但讀取即時網頁的 agent 已經找得到。&lt;/p&gt;
&lt;p&gt;在歷史補全看板上，Firecrawl 以 92.3% 領先，Parallel 拿到 90.0%，Exa 的 deep 和 agent 模式接近 88.6%，Crunchbase 拿到 85.8%。最強的 GTM 資料庫供應商 Fiber 拿到 84.9%，但其他資料庫供應商表現不佳：Ocean.io 只有 5.5%，Explorium 只有 21.9%。&lt;/p&gt;
&lt;p&gt;成本和速度則完全相反。準確率領先的 agent 最慢也最貴，每家公司要跑一分鐘以上。網頁搜尋 API 幾秒鐘、幾美分就回傳，GTM 資料庫查詢只要幾百毫秒。所以如果你的任務是查已知公司的歷史融資，不在乎最新一輪，資料庫查詢又便宜又快。&lt;/p&gt;
&lt;h2 id=&quot;firecrawl-為什麼兩邊都贏&quot;&gt;Firecrawl 為什麼兩邊都贏&lt;/h2&gt;
&lt;p&gt;Firecrawl 是唯一在兩個看板都拿第一的供應商。它的 agent 用 spark-2 模型在新鮮度上拿到 100%，用 spark-1-mini 模型在歷史補全上拿到 92.3%。結構上的原因是：融資消息通常出現在公司新聞室、新聞稿、監管文件這些非結構化網頁內容上，而 Firecrawl 本來就是設計來讀這些內容的。它不需要預先收錄任何東西，所以能抓到上週才宣布、資料庫還沒收錄的融資輪次。&lt;/p&gt;
&lt;p&gt;Firecrawl 的 agent 端點是深度優先的選擇，適合高價值查詢和監控工作流程。如果你需要大量查詢，Firecrawl 的 search 端點是快速路徑，但基準測試沒有測量它。search 用單一呼叫查詢即時網頁，比 agent 更快更便宜，同時保留即時網頁的新鮮度優勢。&lt;/p&gt;
&lt;h2 id=&quot;對產品團隊的實際意義&quot;&gt;對產品團隊的實際意義&lt;/h2&gt;
&lt;p&gt;這個基準測試最重要的啟示是：不要只看一個準確率數字就做決定。先定義你的任務，再選供應商。如果你要監控新融資輪次、做即時交易搜尋，agent 或網頁搜尋 API 是對的選擇。如果你要補全 CRM 裡大量已知公司的歷史融資資料，GTM 資料庫的便宜和快速可能更划算。&lt;/p&gt;
&lt;p&gt;如果你正在為 agent 挑選網頁搜尋 API，可以參考&lt;a href=&quot;/blog/choosing-web-search-api-for-agents/&quot;&gt;為代理挑選網頁搜尋 API：先定義任務，再比較六種工具&lt;/a&gt;，裡面的框架同樣適用於融資資料 API 的選擇。&lt;/p&gt;
&lt;p&gt;基準測試的數字都是公開可查的，包括 Firecrawl 輸掉的地方。Openbenchmarks 的看板會持續更新，所以如果你在評估供應商，最好自己跑一遍，而不是只看這篇文章的結論。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.firecrawl.dev/blog/best-company-funding-data-api&quot;&gt;The Best Company Funding Data API in 2026: What an Independent Benchmark Found&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>當 AI 的成果要能被檢驗：Google 把社會影響案例整理成一個入口</title>
      <description>Google 在 2026 年 9 月 15 日發布 AI for Societal Impact 系列，把健康、教育等領域的應用案例集中成可查找的入口。</description>
      <link>https://agenticcommons.xyz/blog/google-ai-societal-impact-collection/</link>
      <guid>https://agenticcommons.xyz/blog/google-ai-societal-impact-collection/</guid>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <category>Google</category>
      <category>AI</category>
      <category>Public Goods</category>
      <category>Beneficial Deployments</category>
      <category>Product Thinking</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/google-ai-societal-impact-collection/&quot;&gt;當 AI 的成果要能被檢驗：Google 把社會影響案例整理成一個入口&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;一個入口而不是一份新聞稿&quot;&gt;一個入口，而不是一份新聞稿&lt;/h2&gt;
&lt;p&gt;2026 年 9 月 15 日，Google 在官方部落格發布了 &lt;a href=&quot;https://blog.google/innovation-and-ai/technology/ai/ai-for-societal-impact/&quot;&gt;AI for Societal Impact&lt;/a&gt; 這個頁面。從抓取到的內容來看，它的結構是一頁「Collection」——隸屬於 Innovation &amp;amp; AI 底下的 Technology / AI 分類，而不是一篇獨立的產品公告。頁面帶有分享按鈕、麵包屑導覽，以及一張標示為實驗室場景的主視覺。&lt;/p&gt;
&lt;p&gt;這件事對產品團隊的意義不在於 Google 又做了什麼，而在於它把散落的案例收攏成一個可被引用的位置。當一個組織開始替某類工作建立固定入口，通常代表這類工作已經多到需要索引。&lt;/p&gt;
&lt;h2 id=&quot;抓取內容揭露了什麼沒揭露什麼&quot;&gt;抓取內容揭露了什麼、沒揭露什麼&lt;/h2&gt;
&lt;p&gt;必須說清楚：這次取得的來源文字主要是頁面的導覽骨架——上層選單、分類連結、分享元件、圖片網址。它顯示這個頁面存在、屬於哪個分類、發布時間是 2026 年 9 月 15 日，但&lt;strong&gt;沒有&lt;/strong&gt;列出這個 collection 底下具體收錄了哪些專案、涵蓋哪些地區、用什麼指標衡量影響。&lt;/p&gt;
&lt;p&gt;所以任何關於「Google 在健康或教育領域做了哪幾件事」的推論，都不該從這份素材長出來。如果你需要那些細節，得直接讀原頁面。&lt;/p&gt;
&lt;h2 id=&quot;對做產品的人來說真正的問題是影響力怎麼被記錄&quot;&gt;對做產品的人來說，真正的問題是「影響力怎麼被記錄」&lt;/h2&gt;
&lt;p&gt;社會影響類的專案有個共同的難處：成果很難像轉換率那樣被即時看到。一個偏鄉的診斷輔助工具、一套母語教材的生成流程，價值往往在幾個月甚至幾年後才顯現，而且很難歸因。&lt;/p&gt;
&lt;p&gt;這讓我想起另一篇談探索紀律的文章——&lt;a href=&quot;/blog/christina-koch-james-manyika-dialogues-exploration/&quot;&gt;把「探索」當成一種工程紀律&lt;/a&gt;。當成果無法用單一數字衡量時，團隊需要的不是更漂亮的儀表板，而是事先決定「我們要拿什麼當證據」。Google 把這類案例集中成一個可查找的入口，至少解決了「找不到前例」這一層問題。&lt;/p&gt;
&lt;p&gt;如果你正在做類似性質的專案，可以從這個頁面反推兩件事：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;他們選擇用什麼形式呈現一個案例（問題、做法、結果，還是只有故事）。&lt;/li&gt;
&lt;li&gt;案例之間的顆粒度是否一致。顆粒度不一致的案例集，很難拿來做跨專案比較。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;一個實務上的限制&quot;&gt;一個實務上的限制&lt;/h2&gt;
&lt;p&gt;Collection 型頁面容易變成行銷素材的堆疊。判斷標準很簡單：看它有沒有寫出失敗的部分、有沒有標註合作對象與時間範圍、有沒有說明資料來源。這份抓取內容無法回答這些問題，因為它只包含頁面框架。&lt;/p&gt;
&lt;p&gt;對讀者來說，比較務實的做法是把它當成一份索引，而不是結論。看到有興趣的案例，再往下追原始研究或合作單位的說法。&lt;/p&gt;
&lt;h2 id=&quot;帶走什麼&quot;&gt;帶走什麼&lt;/h2&gt;
&lt;p&gt;如果你的團隊也在累積這類難以量化的成果，值得先問一個問題：半年後有人想引用我們的工作時，他找得到嗎？把案例寫成可被檢索的形式，本身就是一種產品決策。至於 Google 這個 collection 實際收了什麼，得回到原頁面確認——這份素材只給了入口，沒給內容。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.google/innovation-and-ai/technology/ai/ai-for-societal-impact/&quot;&gt;AI for Societal Impact&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>當瀏覽器內建 AI：Mistral 與 Mozilla 把主權與隱私放進 Firefox Smart Window</title>
      <description>Mistral 與 Mozilla 合作，讓 Firefox Smart Window 由 Mistral 模型驅動，主打零資料保留與在地語言微調。</description>
      <link>https://agenticcommons.xyz/blog/mistral-mozilla-private-multilingual-browsing/</link>
      <guid>https://agenticcommons.xyz/blog/mistral-mozilla-private-multilingual-browsing/</guid>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <category>Mistral</category>
      <category>Open Source</category>
      <category>Sovereign AI</category>
      <category>Privacy</category>
      <category>Browser Agents</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/mistral-mozilla-private-multilingual-browsing/&quot;&gt;當瀏覽器內建 AI：Mistral 與 Mozilla 把主權與隱私放進 Firefox Smart Window&lt;/a&gt;&lt;/p&gt;&lt;p&gt;瀏覽器一直是使用者與網路之間的中介層，現在這個中介層開始內建模型。2026 年 9 月 16 日，Mistral 與 Mozilla 宣布合作，Firefox 的 AI 瀏覽助理 Smart Window（beta）改由 Mistral 模型驅動，先在法國與北美推出，英國與德國預計今年稍後跟進。&lt;/p&gt;
&lt;p&gt;這則消息對產品團隊的意義，不在於又多了一個 AI 功能，而在於「誰的模型、在哪裡跑、資料留多久」這三件事被寫進了合作條件。&lt;/p&gt;
&lt;h2 id=&quot;合作內容與適用範圍&quot;&gt;合作內容與適用範圍&lt;/h2&gt;
&lt;p&gt;根據 &lt;a href=&quot;https://mistral.ai/news/mistral-x-mozilla/&quot;&gt;Mistral 的公告&lt;/a&gt;，Smart Window 的用途包括：理解複雜搜尋、記住使用者點開又離開的重要內容，以及依據瀏覽器分頁整理資訊來源。Mistral 負責法國與北美的使用者，英國與德國預計今年內納入。&lt;/p&gt;
&lt;p&gt;公告把這次合作定位為兩個開源倡議者的結盟，並列出四項理由：開源技術需要開源通路、模型針對地區語言與文化微調、使用者對 AI 互動保有控制權，以及把主權 AI 帶給一般消費者。&lt;/p&gt;
&lt;h2 id=&quot;隱私條款是這次最值得細看的部分&quot;&gt;隱私條款是這次最值得細看的部分&lt;/h2&gt;
&lt;p&gt;公告明確寫出兩點：對話預設不會存在 Mozilla 的伺服器上，而像 Mistral 這樣的合作夥伴同意零資料保留（zero data retention）。&lt;/p&gt;
&lt;p&gt;對正在評估 AI 功能的產品團隊來說，這是可以拿來對照自己架構的具體條件。多數團隊把模型接進產品時，預設會留下對話紀錄以便除錯與改善；這裡選擇的是相反方向，代價是少了訓練與分析的素材，換來的是使用者信任與合規上的空間。&lt;/p&gt;
&lt;p&gt;Mozilla 執行長 Anthony Enzor-DeMeo 在公告中的說法是，瀏覽器不該是單向漏斗，應該讓不同 AI 供應商競爭、讓開源有一席之地。這段話點出的是通路問題：模型再好，沒有預設入口就難以觸及一般使用者。&lt;/p&gt;
&lt;h2 id=&quot;多語言微調與主權-ai-的實際含義&quot;&gt;多語言微調與主權 AI 的實際含義&lt;/h2&gt;
&lt;p&gt;公告提到 Mistral 針對區域語言、方言與文化脈絡進行微調，讓回應能理解在地語感。這裡的關鍵字是「微調」而不是「翻譯」——前者假設模型本身要吸收語言與文化差異，後者只是把既有輸出換一層語言。&lt;/p&gt;
&lt;p&gt;Mistral 也說，過去主要服務企業客戶，透過與 Firefox 這類生態系夥伴合作，才延伸到一般消費者。對開發者而言，這代表同一批模型開始出現在兩種截然不同的使用情境：企業內部流程，以及每天開幾十次分頁的個人瀏覽。&lt;/p&gt;
&lt;p&gt;如果你的產品需要處理多語內容，這類「在地微調」的做法值得留意，但公告沒有說明微調的資料來源、涵蓋語言數量或評估方式，這些細節在目前提供的內容中並未交代。&lt;/p&gt;
&lt;h2 id=&quot;對產品團隊的三個實務提醒&quot;&gt;對產品團隊的三個實務提醒&lt;/h2&gt;
&lt;p&gt;第一，入口決定預設值。當瀏覽器直接內建助理，使用者不需要另外訂閱或安裝，採用門檻就從「註冊一個服務」降到「打開分頁」。這和過去把 AI 功能做成獨立 App 的路徑完全不同。&lt;/p&gt;
&lt;p&gt;第二，資料保留政策會變成採購條件。零資料保留聽起來像法務條款，實際上會影響你能做什麼：沒有留存就沒有事後分析，也沒有從真實使用中持續改善的迴路。團隊在談類似合作時，最好先確認自己能不能接受這個限制。&lt;/p&gt;
&lt;p&gt;第三，模型選擇正在從技術決策變成通路決策。當開源模型透過瀏覽器觸及消費者，評估重點就不只是 benchmark 分數，還包括它能不能進入使用者原本就在用的介面。&lt;/p&gt;
&lt;p&gt;這類「把模型放進既有工作流」的取捨，和我們先前談過的 &lt;a href=&quot;/blog/openrouter-presets-config-as-code/&quot;&gt;OpenRouter Presets：把模型參數移出程式碼&lt;/a&gt; 是同一個問題的不同切面——前者決定模型從哪裡進來，後者決定參數怎麼被管理。&lt;/p&gt;
&lt;h2 id=&quot;目前還不確定的地方&quot;&gt;目前還不確定的地方&lt;/h2&gt;
&lt;p&gt;公告沒有說明 Smart Window 的定價、是否會擴展到其他地區，也沒有交代使用者在 Firefox 之外能否取得同樣的模型能力。英國與德國只寫「預計今年稍後」，沒有具體日期。&lt;/p&gt;
&lt;p&gt;對想跟進的團隊，實際可做的下一步是：先確認自己產品的資料保留政策是否與這類合作相容，再評估多語言微調對你目標市場的實際效益。至於 Firefox Smart Window 本身的表現，目前只有官方公告的說明，還沒有獨立評測可以參考。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mistral.ai/news/mistral-x-mozilla/&quot;&gt;Mistral x Mozilla: Private, Multilingual AI Browsing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>讓長輩用 AI 查帳單、辨詐騙：OpenAI 與 OATS 的十場實體課透露了什麼</title>
      <description>OpenAI 與 OATS 在美國十個社區開設長者 AI 實體課，教 ChatGPT 查帳單與辨識詐騙，也揭示產品設計的門檻。</description>
      <link>https://agenticcommons.xyz/blog/openai-oats-older-adults-ai-skills-jam/</link>
      <guid>https://agenticcommons.xyz/blog/openai-oats-older-adults-ai-skills-jam/</guid>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <category>OpenAI</category>
      <category>AI Education</category>
      <category>AI Fluency</category>
      <category>ChatGPT</category>
      <category>Product Design</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/openai-oats-older-adults-ai-skills-jam/&quot;&gt;讓長輩用 AI 查帳單、辨詐騙：OpenAI 與 OATS 的十場實體課透露了什麼&lt;/a&gt;&lt;/p&gt;&lt;p&gt;對多數產品團隊來說，「使用者會不會用」通常不是上線前的阻礙，而是上線後才浮現的雜訊。OpenAI 在 2026 年 9 月 16 日公布的做法，把這個問題往前拉了一步：他們與 AARP 旗下的 Older Adults Technology Services（OATS）合作，舉辦 Older Adults AI Skills Jam，一場免費的實體學習活動，目標是讓長者能安全、有信心地使用 ChatGPT。&lt;/p&gt;
&lt;h2 id=&quot;他們教的不是功能是日常判斷&quot;&gt;他們教的不是功能，是日常判斷&lt;/h2&gt;
&lt;p&gt;根據 &lt;a href=&quot;https://openai.com/index/helping-older-adults-use-ai-in-everyday-life&quot;&gt;OpenAI 的公告&lt;/a&gt;，課程涵蓋的場景包括規劃旅行、看懂一封令人困惑的信或帳單、辨識可能的詐騙、發展新興趣，以及與家人保持聯繫。這些都不是「AI 能做什麼」的展示，而是「我生活裡哪一件事卡住了」的清單。&lt;/p&gt;
&lt;p&gt;活動屬於 OpenAI 與 OATS 一項多年計畫的一部分，透過 OATS 的 Senior Planet 計畫推動。這次的 Jam 會在美國十個社區舉行，合作單位包括 Denver、Miami、San Antonio、Montgomery County、Queens 的 Senior Planet，以及 St. Louis 的 Mirowitz Center、Twin Cities 的 Senior Community Services、Nashville 公共圖書館與 FiftyForward、Fresno EOC、Boise 的 LEARN Idaho。&lt;/p&gt;
&lt;h2 id=&quot;安全不是附錄是課程主體&quot;&gt;安全不是附錄，是課程主體&lt;/h2&gt;
&lt;p&gt;公告明確把防詐放進工作坊內容：帶長者辨識常見警訊，包括催促性的語氣、要求保密、可疑連結，並給出一條簡單規則——暫停、想一想、再發問。同時也教他們把 ChatGPT 當成多一層的檢查與預防工具。&lt;/p&gt;
&lt;p&gt;這裡有一個值得注意的數字：OpenAI 表示，每週有數以千萬計的人次請 ChatGPT 協助判斷可疑的訊息、電子郵件與網站。換句話說，「幫我看看這是不是詐騙」已經是一個規模化的真實使用情境，而不是示範用的假設題。&lt;/p&gt;
&lt;h2 id=&quot;需求成長的訊號&quot;&gt;需求成長的訊號&lt;/h2&gt;
&lt;p&gt;公告引用的資料顯示，在美國，與 55 歲以上族群相關的訊息占比在一年內從 6% 成長到接近 10%。這個變化對做產品的人有兩層意義。第一，長者不是「未來的使用者」，他們已經在用了。第二，他們的使用動機偏向實用指引、找資訊與寫作，而不是探索模型能力。&lt;/p&gt;
&lt;p&gt;如果你的產品把 AI 功能藏在多層選單、預設使用者熟悉 prompt 技巧，這群人會直接卡住。反過來說，把入口設計成「你現在遇到什麼麻煩」而不是「你想問什麼」，可能更接近他們的心智模型。&lt;/p&gt;
&lt;h2 id=&quot;實體課的價值在於暴露產品的破口&quot;&gt;實體課的價值，在於暴露產品的破口&lt;/h2&gt;
&lt;p&gt;公告最後提到，參與者的問題、想法與經驗會用來形塑未來給長者的學習資源。這句話對產品團隊是個提醒：實體教學現場其實是最便宜的使用者研究。哪些步驟需要人解釋、哪些用詞被誤解、哪些安全提示被忽略，在教室裡會一次全部現形。&lt;/p&gt;
&lt;p&gt;同樣的邏輯也出現在其他領域的導入經驗裡。像 &lt;a href=&quot;/blog/ninth-wave-bedrock-agentcore-open-finance-onboarding/&quot;&gt;把銀行 API 上線流程拆成七個專責代理&lt;/a&gt; 這類案例，談的也是把複雜流程拆成使用者能逐步完成的段落，而不是一次丟出全部能力。&lt;/p&gt;
&lt;h2 id=&quot;可以帶走的一件事&quot;&gt;可以帶走的一件事&lt;/h2&gt;
&lt;p&gt;這則公告沒有公布課程教材、完成率或後續成效數據，供給的 RSS 摘要也沒有說明各場次的報名狀況。能確認的是：OpenAI 選擇用實體、社區、在地組織的方式切入長者族群，並把防詐當成核心內容。&lt;/p&gt;
&lt;p&gt;對正在做 AI 功能的團隊，實際可行的下一步不是照抄課程，而是檢查自己的 onboarding：第一次使用的長者，能不能在沒有旁人協助的情況下完成一件真實的小事？如果不行，問題通常不在模型，而在你怎麼問他問題。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openai.com/index/helping-older-adults-use-ai-in-everyday-life&quot;&gt;Helping older adults use AI in everyday life&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把 30 秒長鏡頭寫進 API：Seedance 2.5 的規格取捨與計費邏輯</title>
      <description>Seedance 2.5 支援 30 秒單次生成與影片參考輸入，但解析度上限只有 720p，計費依影片 token 而非秒數。</description>
      <link>https://agenticcommons.xyz/blog/seedance-2-5-long-take-api-tradeoffs/</link>
      <guid>https://agenticcommons.xyz/blog/seedance-2-5-long-take-api-tradeoffs/</guid>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <category>Video Generation</category>
      <category>AI API</category>
      <category>OpenRouter</category>
      <category>Cost Control</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/seedance-2-5-long-take-api-tradeoffs/&quot;&gt;把 30 秒長鏡頭寫進 API：Seedance 2.5 的規格取捨與計費邏輯&lt;/a&gt;&lt;/p&gt;&lt;p&gt;多數影片模型在 15 到 20 秒就收手，剩下的長度得靠剪接補。OpenRouter 在 2026 年 9 月 9 日發布的 &lt;a href=&quot;https://openrouter.ai/blog/insights/seedance-2-5-review/&quot;&gt;Seedance 2.5 評測&lt;/a&gt;指出，ByteDance 這顆模型把單次生成拉到 30 秒，是目前該平台上最長的規格之一，只有 Wan 3.0 系列同級。&lt;/p&gt;
&lt;p&gt;但這篇評測同時點出一件容易被忽略的事：新版並不代表規格全面往上。&lt;/p&gt;
&lt;h2 id=&quot;長度換來的是連續性不是畫質&quot;&gt;長度換來的是連續性，不是畫質&lt;/h2&gt;
&lt;p&gt;Seedance 2.5 的規格是 4 到 30 秒、480p 或 720p、六種長寬比，支援首尾幀控制，音訊在同一次生成中產出。相較之下，Seedance 2.0 只到 15 秒，但能輸出 1080p 到 4K。&lt;/p&gt;
&lt;p&gt;也就是說，如果你要交付的是 4K 素材，2.5 反而不適用，得回到同家族的 2.0，或轉向 Veo 3.1。OpenRouter 建議在動手之前先對照自己的交付格式，因為這是新版本比舊版本更窄的一項規格。&lt;/p&gt;
&lt;p&gt;30 秒的價值在於不用拼接。需要一支完整場景或單一連續鏡頭時，少一次剪接就少一次連續性斷裂的風險。&lt;/p&gt;
&lt;h2 id=&quot;計費單位是-token不是秒&quot;&gt;計費單位是 token，不是秒&lt;/h2&gt;
&lt;p&gt;模型頁在 2026 年 9 月 3 日列出的價格是每秒 0.1028 美元起，這是 480p 換算出來的結果。實際計費按影片 token 計算，公式是（寬 × 高 × fps × 時長）除以 1024，24 fps 下每 token 0.0000107 美元。&lt;/p&gt;
&lt;p&gt;因為 token 數同時隨輸出像素與時長變動，720p 的每秒成本會是 480p 的兩倍多，約 0.231 美元。這個換算關係對預算規劃的意義很直接：先確認最終交付解析度，再決定要不要用 480p 打草稿。&lt;/p&gt;
&lt;h2 id=&quot;帶影片參考的請求單價低約四成&quot;&gt;帶影片參考的請求，單價低約四成&lt;/h2&gt;
&lt;p&gt;Seedance 2.5 的 &lt;code&gt;input_references&lt;/code&gt; 接受圖片、影片與音訊素材。當請求帶有影片參考且沒有指定幀圖時，每 token 降到 0.0000064 美元，比基準價低約 40%。換算到 720p，每秒從 0.231 美元降到 0.138 美元。&lt;/p&gt;
&lt;p&gt;這代表最便宜的 30 秒 720p 取得方式，是延伸既有素材，而不是從零生成。要編輯或續接手上已有的片段時，這個請求形狀同時省錢又省去重新生成的麻煩。&lt;/p&gt;
&lt;p&gt;音訊則不另計費。&lt;code&gt;generate_audio&lt;/code&gt; 預設開啟，開與關的 token 單價相同，所以靜音輸出並不會省下任何成本。這點和 Veo 3.1、Seedance 1.5 Pro 不同，後兩者對無聲輸出都收得比較少。&lt;/p&gt;
&lt;h2 id=&quot;從程式碼呼叫的形狀&quot;&gt;從程式碼呼叫的形狀&lt;/h2&gt;
&lt;p&gt;影片生成不走 &lt;code&gt;/chat/completions&lt;/code&gt;，而是非同步端點。流程是送出工作到 &lt;code&gt;POST /api/v1/videos&lt;/code&gt;，拿到回應中的 &lt;code&gt;polling_url&lt;/code&gt; 後輪詢，直到狀態變成 &lt;code&gt;completed&lt;/code&gt;，再用 API key 下載結果。OpenRouter 提到生成通常需要 30 秒到數分鐘，30 秒輪詢一次是合理的預設值。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;curl&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; -X&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; POST&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;https://openrouter.ai/api/v1/videos&quot;&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  -H&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;Authorization: Bearer &lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;$OPENROUTER_API_KEY&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  -H&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;Content-Type: application/json&quot;&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  -d&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &apos;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;model&quot;: &quot;bytedance/seedance-2.5&quot;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;prompt&quot;: &quot;A chef plates a bowl of ramen in a narrow shop at night.&quot;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;duration&quot;: 12,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;resolution&quot;: &quot;720p&quot;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;aspect_ratio&quot;: &quot;16:9&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  }&apos;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;這類非同步、以工作為單位的呼叫方式，和把模型參數從程式碼抽出來管理的思路是同一條線。如果你正在整理多個模型的呼叫設定，&lt;a href=&quot;/blog/openrouter-presets-config-as-code/&quot;&gt;用 OpenRouter Presets 管理 LLM 設定&lt;/a&gt;那篇談的組態即程式碼做法，可以一併參考。&lt;/p&gt;
&lt;h2 id=&quot;什麼時候該換一顆模型&quot;&gt;什麼時候該換一顆模型&lt;/h2&gt;
&lt;p&gt;OpenRouter 列出的幾個轉向條件值得記下來：需要 1080p 或 4K、需要在相同片長下追求最低每秒單價、或需要逐幀完全可重現的輸出。&lt;/p&gt;
&lt;p&gt;另外，&lt;code&gt;frame_images&lt;/code&gt; 與 &lt;code&gt;input_references&lt;/code&gt; 是互斥的模式而非疊加。若請求同時帶了兩者，幀圖優先，工作會被當成 image-to-video 處理，參考素材不會產生可見效果，而且按基準價計費。這是實作時容易誤觸、又直接影響帳單的一個細節。&lt;/p&gt;
&lt;p&gt;至於模型頁提到的每次請求最多 50 個參考素材，OpenRouter 明確標示這是模型頁數字，而非自家端點公布的限制，所以當成回報值看待比較妥當。&lt;/p&gt;
&lt;p&gt;Seedance 2.5 的定位其實很窄：長鏡頭，以及從既有素材出發的編輯與延伸。如果你的需求是短秒數、高解析度或嚴格可重現，這顆模型不是答案。先確認交付格式，再決定要不要為 30 秒的連續性付這個價。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openrouter.ai/blog/insights/seedance-2-5-review/&quot;&gt;Seedance 2.5 Review: What It&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>用 Amazon Bedrock prompt caching 把重複的 context 成本壓低 90%</title>
      <description>Amazon Bedrock 的 prompt caching 讓重複輸入的 token 成本最多降 90%，同時縮短首字延遲，適合多輪問答與 agent 工作流。</description>
      <link>https://agenticcommons.xyz/blog/amazon-bedrock-prompt-caching-cost-latency/</link>
      <guid>https://agenticcommons.xyz/blog/amazon-bedrock-prompt-caching-cost-latency/</guid>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
      <category>Amazon Bedrock</category>
      <category>Cache</category>
      <category>Cost Efficiency</category>
      <category>Latency</category>
      <category>Prompt Engineering</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/amazon-bedrock-prompt-caching-cost-latency/&quot;&gt;用 Amazon Bedrock prompt caching 把重複的 context 成本壓低 90%&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;問題重複的-context-正在吃掉你的預算&quot;&gt;問題：重複的 context 正在吃掉你的預算&lt;/h2&gt;
&lt;p&gt;在 Amazon Bedrock 上，如果你把同一份 10,000 token 的合約文件傳給模型 50 次，每次搭配不同的使用者問題，你總共要為 500,000 個輸入 token 付全額費用——即使模型每次都重新處理幾乎相同的內容。AWS Machine Learning Blog 在 2026 年 9 月 15 日的文章中點出這個常見的浪費模式。&lt;/p&gt;
&lt;p&gt;傳統的省錢方法各有取捨：縮短 prompt 可能降低 context 品質；縮小 context window 會限制模型推理完整資訊的能力；應用層的 response caching 只對完全相同的查詢有效，當同一份 context 配上不同問題時就幫不上忙。&lt;/p&gt;
&lt;h2 id=&quot;解法在基礎設施層快取-prompt-前綴&quot;&gt;解法：在基礎設施層快取 prompt 前綴&lt;/h2&gt;
&lt;p&gt;Amazon Bedrock 的 prompt caching 直接在基礎設施層處理這個問題。你在請求中放置一個 &lt;code&gt;cachePoint&lt;/code&gt; 標記，Bedrock 會檢查標記之前的內容是否與現有快取條目相符。如果命中（cache hit），模型可以跳過重新處理這些 token，直接從快取狀態開始生成；如果未命中（cache miss），模型處理完整內容並將結果寫入快取，供未來請求使用。&lt;/p&gt;
&lt;p&gt;這個機制帶來兩個直接好處：快取讀取的輸入 token 成本比標準輸入低 90%，而且 time-to-first-token（TTFT）會縮短，因為模型不用從頭處理整個前綴。&lt;/p&gt;
&lt;h2 id=&quot;四個關鍵參數決定快取行為&quot;&gt;四個關鍵參數決定快取行為&lt;/h2&gt;
&lt;p&gt;實際使用時，有四個概念需要掌握：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;快取範圍&lt;/strong&gt;：快取條目限定在個別 AWS 帳戶和 AWS Region 內。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Token 門檻&lt;/strong&gt;：每個 cache checkpoint 必須達到最低 token 數才會啟動。例如 Anthropic Claude Sonnet 4.5 和 Sonnet 4.6 要求每個 checkpoint 至少 1,024 token，Opus 模型則要求至少 4,096 token。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TTL&lt;/strong&gt;：快取條目根據請求中指定的 TTL 過期。預設是 5 分鐘，部分模型支援最長 1 小時。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模型無關的語法&lt;/strong&gt;：Converse API 的 &lt;code&gt;cachePoint&lt;/code&gt; 語法在支援的模型系列中完全相同，包括 Anthropic Claude 和 Amazon Nova。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;成本結構寫入貴一點讀取便宜很多&quot;&gt;成本結構：寫入貴一點，讀取便宜很多&lt;/h2&gt;
&lt;p&gt;Prompt caching 在標準輸入和輸出 token 之外，新增了兩種 token 類別：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Token 類型&lt;/th&gt;
&lt;th&gt;說明&lt;/th&gt;
&lt;th&gt;與標準輸入相比的成本&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;cacheWriteInputTokens&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;寫入快取的 token（第一次請求）&lt;/td&gt;
&lt;td&gt;高 25%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;cacheReadInputTokens&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;從快取讀取的 token（後續請求）&lt;/td&gt;
&lt;td&gt;低 90%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;cacheWriteInputTokens&lt;/code&gt;（1 小時 TTL）&lt;/td&gt;
&lt;td&gt;以 1 小時 TTL 寫入快取的 token&lt;/td&gt;
&lt;td&gt;高 100%（2 倍）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;對於重複 context 的工作負載，輸入 token 成本大約可省下 75%。舉例來說，如果你把一份 10,000 token 的文件配上 10 個不同問題，第一次請求會產生快取寫入成本，其餘九次請求每次都以低 90% 的成本從快取讀取，這樣對該文件 context 的輸入 token 成本淨省約 75%。前提是所有後續請求都在 TTL 時間窗內發生；如果請求在過期後才來，就會觸發新的快取寫入，降低淨省幅度。&lt;/p&gt;
&lt;h2 id=&quot;實作模式從基本到進階&quot;&gt;實作模式：從基本到進階&lt;/h2&gt;
&lt;p&gt;AWS 的文章用 Converse API 示範了六種情境，從簡單到複雜：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;訊息內容快取&lt;/strong&gt;：快取長文件以進行多問題分析。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;系統提示快取&lt;/strong&gt;：跨對話快取 persona 定義和指令。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工具定義快取&lt;/strong&gt;：為 agentic 工作流快取 tool schema。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;混合 TTL 快取&lt;/strong&gt;：為不同內容層級指定不同的快取生命週期。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;租戶隔離&lt;/strong&gt;：在多租戶應用中實作每個租戶的快取分離。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LangChain 整合&lt;/strong&gt;：在 LangChain 框架中使用 prompt caching。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;最基本的模式是把 &lt;code&gt;cachePoint&lt;/code&gt; 放在靜態文件和動態問題之間：&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;python&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;content &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    {&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;text&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;&amp;lt;static document content&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    {&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;cachePoint&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;type&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;default&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}},   &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;# 快取以上所有內容&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    {&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;text&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;&amp;lt;user question&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}             &lt;/span&gt;&lt;span style=&quot;color:#6A737D&quot;&gt;# 動態，每次請求不同&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;這個模式特別適合 RAG 應用、程式碼助理參考大型 codebase，或任何需要反覆查詢同一份參考資料的場景。&lt;/p&gt;
&lt;h2 id=&quot;何時該用何時該避開&quot;&gt;何時該用、何時該避開&lt;/h2&gt;
&lt;p&gt;Prompt caching 不是萬靈丹。如果你的請求每次都帶不同的 context，快取命中率會很低，你反而要為第一次寫入多付 25% 的成本。跨 Region 的 inference profile 也可能偶爾增加快取寫入頻率，因為請求會自動路由到不同 Region。&lt;/p&gt;
&lt;p&gt;但如果你正在建構多輪對話、agent 工作流，或任何會重複使用同一份 system prompt、工具定義或知識庫文件的產品，這個功能值得認真評估。它讓你在不犧牲 prompt 品質或 context 完整性的前提下，直接降低基礎設施成本。&lt;/p&gt;
&lt;p&gt;在設計這類快取策略時，可以參考我們先前討論過的&lt;a href=&quot;/blog/process-orchestration-execution-models-tradeoffs/&quot;&gt;流程編排執行模型&lt;/a&gt;——先想清楚哪些內容是靜態的、哪些是動態的，才能把 &lt;code&gt;cachePoint&lt;/code&gt; 放在對的位置。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/blogs/machine-learning/optimizing-cost-and-latency-with-amazon-bedrock-prompt-caching/&quot;&gt;Optimizing cost and latency with Amazon Bedrock prompt caching&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>當 AI 走進國防與公部門：Anthropic 顧問團對產品團隊的三個現實提醒</title>
      <description>Anthropic 成立國家安全與公部門顧問團，本文拆解這對做 AI 產品的人在合規、部署與標準上的實際影響。</description>
      <link>https://agenticcommons.xyz/blog/anthropic-national-security-public-sector-advisory-council/</link>
      <guid>https://agenticcommons.xyz/blog/anthropic-national-security-public-sector-advisory-council/</guid>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
      <category>Anthropic</category>
      <category>Public Sector</category>
      <category>Governance</category>
      <category>AI Deployment</category>
      <category>Compliance</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/anthropic-national-security-public-sector-advisory-council/&quot;&gt;當 AI 走進國防與公部門：Anthropic 顧問團對產品團隊的三個現實提醒&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;顧問團解決的是誰來定義可接受的用途&quot;&gt;顧問團解決的是「誰來定義可接受的用途」&lt;/h2&gt;
&lt;p&gt;2025 年 8 月 27 日，Anthropic 宣布成立 National Security and Public Sector Advisory Council，成員包含前參議員，以及來自美國國防部、情報體系、能源部、司法部的前任主管，還有兩黨國會領袖的前國安顧問（&lt;a href=&quot;https://www.anthropic.com/news/introducing-the-anthropic-national-security-and-public-sector-advisory-council&quot;&gt;Anthropic 公告&lt;/a&gt;）。&lt;/p&gt;
&lt;p&gt;對做產品的人來說，重點不是名單有多漂亮，而是這個組織要產出什麼。公告寫得很清楚：顧問團要協助辨識與開發高影響力應用，範圍涵蓋資安、情報分析到科學研究；同時協助深化公私部門合作，並推動業界標準，讓國安應用形成「race to the top」。&lt;/p&gt;
&lt;p&gt;換句話說，這是一個把「什麼算負責任的國安 AI 用途」寫下來的機制。當標準由外部資深實務者參與定義，你的產品若想進入這條線，就得跟著這套語言走。&lt;/p&gt;
&lt;h2 id=&quot;已經在跑的不是願景是既有部署&quot;&gt;已經在跑的不是願景，是既有部署&lt;/h2&gt;
&lt;p&gt;公告同時列出 Anthropic 過去幾個月的動作，這些是已發生的事實，不是規劃：專為美國國安客戶打造的 Claude Gov 模型、與國防部 2 億美元的frontier AI 原型合作、把 Claude 部署給 Lawrence Livermore National Laboratory 的 1 萬名科學家、與 National Nuclear Security Administration 合作開發 AI 核安防護措施，以及讓 Claude 以 1 美元提供給美國政府三個部門使用。&lt;/p&gt;
&lt;p&gt;另外，Anthropic 表示過去一年自願與能源部核子專家合作，評估模型是否可能洩漏核武相關敏感資訊，並與美國 Center for AI Standards and Innovation 及英國 AI Security Institute 測試模型的生物、網路與 AI 研發能力。&lt;/p&gt;
&lt;p&gt;這些項目透露一個模式：高風險領域的 AI 採用，是先有評估與測試管道，才有規模化部署。&lt;/p&gt;
&lt;h2 id=&quot;對-builder-的實際影響把可被檢驗當成設計需求&quot;&gt;對 builder 的實際影響：把「可被檢驗」當成設計需求&lt;/h2&gt;
&lt;p&gt;如果你的產品會碰到公部門、國防供應鏈，或任何被歸類為關鍵基礎設施的客戶，這則公告的訊號是：採購方會問你怎麼證明模型行為可被檢驗。&lt;/p&gt;
&lt;p&gt;實務上可以先做三件事。第一，把模型能力評估與紅隊測試的紀錄當成產品文件的一部分，而不是上線前的一次性活動。第二，把資料流向與保留策略講清楚——這正是我們在&lt;a href=&quot;/blog/zero-data-retention-ai-api-routing/&quot;&gt;零資料保留當成路由條件&lt;/a&gt;那篇談過的思路：把合規要求寫成可強制執行的技術條件，而不是合約裡的一句承諾。第三，區分「通用模型」與「特定客戶專用模型」的界線，因為公告裡的 Claude Gov 就是走專用路線。&lt;/p&gt;
&lt;h2 id=&quot;還沒說清楚的部分&quot;&gt;還沒說清楚的部分&lt;/h2&gt;
&lt;p&gt;公告提到會在未來幾個月公布更多顧問團成員，但沒有說明顧問團的會議頻率、建議是否具約束力，也沒有交代標準制定的具體時程。這些在公告中都沒有進一步細節。&lt;/p&gt;
&lt;p&gt;對讀者來說，合理的下一步不是等名單補齊，而是先盤點自己手上的 AI 功能：哪些會被客戶歸類為高風險用途、目前有哪些測試證據可以拿出來。這份清單比任何顧問團名單都更早決定你能不能進場。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.anthropic.com/news/introducing-the-anthropic-national-security-and-public-sector-advisory-council&quot;&gt;National Security and Public Sector Advisory Council&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>讓搜尋爬蟲進來、訓練爬蟲出去：Cloudflare 把混合用途爬蟲拆成三種行為</title>
      <description>Cloudflare 推出 Disallow AI Training，讓站長在保留搜尋收錄的同時拒絕 AI 訓練，並把爬蟲控制拆成 Search、Training、Agent 三類。</description>
      <link>https://agenticcommons.xyz/blog/cloudflare-disallow-ai-training-mixed-use-crawlers/</link>
      <guid>https://agenticcommons.xyz/blog/cloudflare-disallow-ai-training-mixed-use-crawlers/</guid>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
      <category>Cloudflare</category>
      <category>Web Crawling</category>
      <category>AI Training</category>
      <category>Search Optimization</category>
      <category>Bot Detection</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/cloudflare-disallow-ai-training-mixed-use-crawlers/&quot;&gt;讓搜尋爬蟲進來、訓練爬蟲出去：Cloudflare 把混合用途爬蟲拆成三種行為&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;問題不在要不要擋-ai而在同一個爬蟲做兩件事&quot;&gt;問題不在「要不要擋 AI」，而在同一個爬蟲做兩件事&lt;/h2&gt;
&lt;p&gt;網站經營者長期卡在一個二選一：讓內容被拿去訓練模型，或是冒著在搜尋結果裡消失的風險。Cloudflare 在 2026 年 9 月 15 日的公告裡把成因講得很清楚——Applebot、Bingbot、Googlebot 這類 mixed-use crawler 用同一個爬蟲同時服務搜尋與 AI 訓練，你拒絕其中一種用途，就等於拒絕另一種。&lt;/p&gt;
&lt;p&gt;這個取捨不是理論問題。Cloudflare 公布的站點數據顯示，不到 1% 的站點選擇封鎖搜尋爬蟲，但有 17% 的站點啟用了某種阻擋訓練的機制。換句話說，站長普遍認為搜尋帶來的好處值得保留，訓練則否——只是過去的工具沒辦法把兩者分開。&lt;/p&gt;
&lt;h2 id=&quot;disallow-ai-training-實際做了什麼&quot;&gt;Disallow AI Training 實際做了什麼&lt;/h2&gt;
&lt;p&gt;新的 Disallow AI Training 設定，讓站點在 robots.txt 發布不訓練的偏好，同時讓 Accountable 的混合用途爬蟲繼續為搜尋收錄內容。Cloudflare 表示 Apple、Google、Microsoft 都符合或承諾在指定時程內符合 Accountable 資格。&lt;/p&gt;
&lt;p&gt;這裡的關鍵是 Cloudflare 把爬蟲行為拆成三類控制：Search（建立搜尋索引）、Training（訓練或微調模型）、Agent（使用者導向的代理，例如 chat fetch bot 與 browser-use agent）。三者在網域層級套用。Disallow AI Training 只適用於 Training，不適用 Search 或 Agent。&lt;/p&gt;
&lt;p&gt;值得注意的是「Block」的語意變了。過去 Block 與「Block on pages with ads」不套用於混合用途爬蟲，因為那會連帶影響搜尋；現在這兩個設定會套用到所有訓練爬蟲，包含混合用途爬蟲。也就是說，如果你真的想讓 Applebot、Bingbot、Googlebot 完全進不來，現在必須明確選 Block，搜尋收錄也會一起停掉。&lt;/p&gt;
&lt;h2 id=&quot;為什麼-robotstxt-單獨不夠以及各家承諾的落差&quot;&gt;為什麼 robots.txt 單獨不夠，以及各家承諾的落差&lt;/h2&gt;
&lt;p&gt;Cloudflare 對 robots.txt 的批評很直接：任何人都能發布指令，但它無法辨識誰在爬、為什麼爬，也擋不住不理會它的爬蟲。網路層的作法是自己發布偏好、辨識爬蟲身分、分類爬蟲意圖，再封鎖不遵守的對象，並在 Radar 上公開各業者的實際行為。&lt;/p&gt;
&lt;p&gt;各家的支援程度並不一致，這對要下決定的團隊很重要：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Applebot 透過 robots.txt 的 &lt;code&gt;Applebot-Extended&lt;/code&gt; 規則退出訓練，但目前還沒有 URL 層級的檢視工具。&lt;/li&gt;
&lt;li&gt;Googlebot 透過 &lt;code&gt;Google-Extended&lt;/code&gt; 退出訓練，並在 webmaster portal 提供排除生成式搜尋結果的開關，以及搜尋與 AI 摘要的指標；Google 表示 URL 層級透明化工具預計在數週內推出。&lt;/li&gt;
&lt;li&gt;Bingbot 目前靠 &lt;code&gt;NOARCHIVE&lt;/code&gt; meta tag 表達訓練偏好，Microsoft 正在建置讓 robots.txt 的網域層級 no-training 偏好也能被遵循的機制，目標是 2027 年初。在那之前，選 Disallow AI Training 不會自動把偏好傳達給 Bing。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;三家公司都表示，拒絕訓練不影響搜尋排名。這是承諾，不是你可以自行驗證的結果，但至少是可追蹤的公開說法。&lt;/p&gt;
&lt;h2 id=&quot;對產品與工程團隊的實務意義&quot;&gt;對產品與工程團隊的實務意義&lt;/h2&gt;
&lt;p&gt;如果你在維護有廣告或訂閱收入的站點，這次更新把「被找到」和「被訓練」正式拆成兩個獨立決策。多數既有客戶不需要動作，設定會自動移轉；先前 Training 選了 Block 或 Block on pages with ads 的網域，會移轉成 Disallow AI Training。新網域在 onboarding 時會依是否靠廣告營利，拿到兩套預設值，之後隨時可改。&lt;/p&gt;
&lt;p&gt;有兩件事現在還做不到。第一，Disallow AI Training 沒有「只針對有廣告的頁面」版本，因為廣告頁清單太大且變動太快，無法寫進 robots.txt。第二，Agent 目前沒有對應的 Disallow 設定，因為還沒有成熟的標準指令；Cloudflare 說等 ai-prefs 這類標準成熟後會再處理。&lt;/p&gt;
&lt;p&gt;如果你的產品本身會呼叫外部網頁——例如檢索、摘要或代理抓取——這次的分類也提醒你，Search、Training、Agent 是三種不同的意圖，站點會分別對待。這和我們在&lt;a href=&quot;/blog/choosing-web-search-api-for-agents/&quot;&gt;為代理挑選網頁搜尋 API&lt;/a&gt;時談到的思路一致：先定義任務與可接受的行為，再挑工具，而不是先選供應商。&lt;/p&gt;
&lt;p&gt;下一步的觀察點是 AI Summaries。Cloudflare 說站點層級的 yes/no 太粗糙，因為「有多少內容出現在摘要裡」和「是否出現」一樣重要，目標是明年初讓站長在 Cloudflare 設定一次就能控制比例。供給的 RSS 摘要沒有說明這個控制項的具體介面，只提到它會是對混合用途爬蟲業者的要求之一。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/&quot;&gt;Have it both ways: stay discoverable in search while disallowing AI training&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把公司資料變成對話：Data agent 如何縮短從問題到答案的距離</title>
      <description>OpenAI 推出 ChatGPT Work 的 Data agent，讓非技術人員用自然語言查詢公司資料、建立互動儀表板，並在既有權限下執行分析。</description>
      <link>https://agenticcommons.xyz/blog/data-agent-chatgpt-work-natural-language-analytics/</link>
      <guid>https://agenticcommons.xyz/blog/data-agent-chatgpt-work-natural-language-analytics/</guid>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI Agents</category>
      <category>OpenAI</category>
      <category>Data Extraction</category>
      <category>Product Builders</category>
      <category>AI Integration</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/data-agent-chatgpt-work-natural-language-analytics/&quot;&gt;把公司資料變成對話：Data agent 如何縮短從問題到答案的距離&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;問題不在資料在於等待答案&quot;&gt;問題不在資料，在於等待答案&lt;/h2&gt;
&lt;p&gt;每個部門都有資料可以回答的問題：為什麼銷售下滑？支出在哪裡上升？哪些大客戶的續約有風險？但傳統上，得到答案意味著等待報表，或請資料團隊幫忙跑分析。OpenAI 在 2026 年 9 月 10 日宣布推出 ChatGPT Work 的 Data agent，目標是讓更多人自己找到答案，而不需要寫查詢或學習新的分析工具。&lt;/p&gt;
&lt;p&gt;這個 agent 連接公司核准的資料來源，包括 Amazon Redshift、Google BigQuery、Snowflake、MongoDB、Databricks 等，也能把 Google Drive 和 SharePoint 的檔案帶進分析。它使用組織的業務術語、指標定義和資料關係來解讀資料，這些脈絡來自 semantic layer 和可信來源，例如 Databricks Genie Ontology、dbt、Snowflake Horizon 和現有 BI 儀表板。&lt;/p&gt;
&lt;h2 id=&quot;從問問題到產生行動&quot;&gt;從問問題到產生行動&lt;/h2&gt;
&lt;p&gt;Data agent 不只是回答問題。使用者可以追問結果、檢視每個發現背後的證據，然後把分析轉成互動式儀表板，內建視覺化功能。團隊可以編輯、分享和更新儀表板，也可以提供品牌指南來調整輸出樣式。&lt;/p&gt;
&lt;p&gt;更進一步，agent 可以建立並操作 Omni、Oracle BI、Power BI、Sigma、Tableau 和 ThoughtSpot 的儀表板。這表示分析工作可以留在團隊已經使用的工具裡，而不是強迫所有人切換到新平台。使用者可以要求 ChatGPT Work 建議下一步、指出需要參與的人，並透過 Slack 或 email 分享發現，在核准後透過連接的工具執行行動。&lt;/p&gt;
&lt;h2 id=&quot;權限與治理是設計核心&quot;&gt;權限與治理是設計核心&lt;/h2&gt;
&lt;p&gt;企業管理員可以選擇哪些資料連線可用、哪些角色可以使用。查詢會強制執行連接帳戶的現有權限，包括表格、列和欄位的限制。這代表 Data agent 不是一個繞過治理的後門，而是把自然語言介面放在既有的存取控制之上。&lt;/p&gt;
&lt;p&gt;OpenAI 內部也廣泛使用這套能力：幾乎所有產品團隊和超過三分之二的 GTM 組織用 data agents 分析公司資料。資料團隊建立共享的業務定義、設定存取規則，並為敏感資料加上保護措施。這個做法與我們之前討論過的&lt;a href=&quot;/blog/fyxer-ai-executive-assistant-trust/&quot;&gt;把電子郵件拆成三十個小模型：Fyxer 如何讓 AI 助理值得信賴&lt;/a&gt;有相似之處：信任不是來自單一模型，而是來自明確的權限、定義和可稽核的流程。&lt;/p&gt;
&lt;h2 id=&quot;對產品團隊的意義&quot;&gt;對產品團隊的意義&lt;/h2&gt;
&lt;p&gt;Data agent 的出現改變了產品團隊與資料的關係。過去，產品經理或行銷人員要依賴分析師才能回答「哪個功能使用率最高」或「哪個客群流失最快」。現在，他們可以直接用自然語言提問，並在對話中反覆調整分析。&lt;/p&gt;
&lt;p&gt;但這不代表分析師的工作會消失。相反地，分析師的角色會轉向建立和管理 semantic layer、定義指標、設定權限，以及確保資料品質。產品團隊需要思考：哪些資料應該開放給 agent？哪些指標需要標準化？如何避免不同部門對同一個名詞有不同解讀？&lt;/p&gt;
&lt;p&gt;Alpha 計畫的客戶已經看到具體成果。ServiceTitan 用 Data agent 建立儀表板，發現使用 Atlas AI 助理的用戶啟動行銷活動的比率大約是非使用者的三倍，這個發現幫助他們簡化 onboarding。NTT DATA 讓非工程師，特別是銷售和企業功能部門的人，用自然語言建立和更新自己的儀表板。&lt;/p&gt;
&lt;h2 id=&quot;下一步從分析到行動&quot;&gt;下一步：從分析到行動&lt;/h2&gt;
&lt;p&gt;Data agent 目前的重點是查詢、分析和儀表板。但真正的價值在於把洞察轉成行動。OpenAI 提到可以透過連接的工具執行核准的行動，但具體的執行範圍和限制，來源資料沒有詳細說明。&lt;/p&gt;
&lt;p&gt;對產品團隊來說，現在可以開始做的是：盤點公司內部的資料來源和 semantic layer，確認哪些指標已經有清楚的定義，哪些權限需要調整。然後挑一個明確的業務問題，讓一個非技術團隊成員試著用 Data agent 回答，觀察哪裡卡住、哪裡需要更多脈絡。這比急著全面導入更能看出這個工具的真實價值。&lt;/p&gt;
&lt;p&gt;Data agent 把「問資料問題」的門檻降到接近零，但門檻降低不代表答案自動正確。治理、指標定義和權限設計，仍然是決定這個工具能否真正「把資料變成工作」的關鍵。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openai.com/index/put-data-to-work&quot;&gt;Now everyone can put data to work&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>Grok 接上 Coinbase：當 agent 能直接動你的交易所帳戶</title>
      <description>Grok 在 2026 年 9 月 9 日推出原生 Coinbase 連接器，可在對話中查餘額、分析持倉並直接下單。本文整理可用範圍與批准機制，並看馬斯克的賠償承諾與 100 美元條款上限之間的落差。</description>
      <link>https://agenticcommons.xyz/blog/grok-bot-coinbase-trading-connector/</link>
      <guid>https://agenticcommons.xyz/blog/grok-bot-coinbase-trading-connector/</guid>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
      <category>SpaceXAI</category>
      <category>AI Agents</category>
      <category>Fintech</category>
      <category>Agent Reliability</category>
      <category>AI Safety</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/grok-bot-coinbase-trading-connector/&quot;&gt;Grok 接上 Coinbase：當 agent 能直接動你的交易所帳戶&lt;/a&gt;&lt;/p&gt;&lt;p&gt;2026 年 9 月 9 日，Grok 的官方 X 帳號宣布推出 Coinbase 連接器：加上之後，可以直接在對話裡查帳戶餘額、分析持倉，並買賣 Coinbase 上的資產。把模型接上交易所「看」資料不算新聞，這次的新聞是它能「下單」——而且是 Grok 與 Coinbase 共同維護的原生連接器，不是早期那種第三方、唯讀的橋接。&lt;/p&gt;
&lt;h2 id=&quot;連接器實際上做什麼&quot;&gt;連接器實際上做什麼&lt;/h2&gt;
&lt;p&gt;根據報導整理，啟用後可以查餘額、分析持倉、買賣 Coinbase 上市的資產、取消現有委託單。流程是把「分析這個投資組合」和「下單」放進同一個對話，中間不需要打開 Coinbase 的 App。&lt;/p&gt;
&lt;p&gt;第三方整理提出兩個值得注意的地方。第一，官方說法是「任何可用資產」，不限比特幣或以太幣，但低流動性代幣會怎麼處理、報價滑點誰負責，目前沒有交代。第二，在官方技術文件發佈之前，合理假設是每筆交易都要人工確認——這是從 8 月底 MoonPay PayBox 合作的模式推測的，文件本身還沒出來。&lt;/p&gt;
&lt;p&gt;啟用順序也因此有個務實做法：先只開查詢權限用幾天，確認行為符合預期，再考慮開交易權限。&lt;/p&gt;
&lt;h2 id=&quot;這一步前面的鋪路&quot;&gt;這一步前面的鋪路&lt;/h2&gt;
&lt;p&gt;Coinbase 連接器不是憑空出現。4 月 Grok 開放自訂 MCP 連接器先接了金融資料，8 月底 MoonPay PayBox 能做跨鏈交易，9 月的 Coinbase 則是第一個券商等級的帳戶整合，一年內三步走到能動真錢。&lt;/p&gt;
&lt;p&gt;產品線上還有 Grok Bot：8 月 11 日進入 beta、由 SpaceXAI 與 Cursor 共同開發的「AI 隊友」，每個 bot 有自己的雲端電腦，會像人一樣登入網站、全天候做事。當 bot 的賣點是「登入你現有的工具」，資金帳戶就是最後、也最危險的一塊拼圖。&lt;/p&gt;
&lt;h2 id=&quot;承諾是一回事條款是另一回事&quot;&gt;承諾是一回事，條款是另一回事&lt;/h2&gt;
&lt;p&gt;8 月 27 日，X 用戶 Teslaconomics 貼文問有沒有人把 Grok Bot 接上銀行帳戶——讓它追蹤支出、繳帳單、標記異常扣款。馬斯克親自回覆：如果 bot 把錢弄丟了，他們會讓你「make you whole」（全額補償）。&lt;/p&gt;
&lt;p&gt;問題在同一篇報導裡就寫著：Grok 的消費者條款以「現狀」提供輸出與代理行為，多數求償上限是「已付費用或 100 美元取其高」。bot 存取需要每月 30 美元的 SuperGrok 方案，一年的費用也就 360 美元。推文不能覆蓋書面契約，而自願授權存取造成的損失，銀行法規裡的詐欺保護未必涵蓋。&lt;/p&gt;
&lt;p&gt;前車之鑑也已經有過：5 月一起透過惡意 NFT 的 prompt injection 攻擊，從 Grok 生態的 Bankr 錢包轉走約 15 萬美元，事後找回約八成。攻擊面不是模型本身，而是模型會讀的外部內容——這在接上真實帳戶後只會更致命。&lt;/p&gt;
&lt;h2 id=&quot;對要給-agent-金流權限的團隊&quot;&gt;對要給 agent 金流權限的團隊&lt;/h2&gt;
&lt;p&gt;不管你用的是 Grok 還是自架方案，判準是一樣的。讀權與寫權分開授予，寫權先限小額；每筆動作留完整日誌，事後可以回放；批准要有粒度，從「每筆確認」放寬到「白名單加限額」，而不是一次全開。&lt;/p&gt;
&lt;p&gt;信任的依據是介入率與可逆性，不是示範影片，這個判準我們在&lt;a href=&quot;/blog/fyxer-ai-executive-assistant-trust/&quot;&gt;行政助理 agent 的接受率分析&lt;/a&gt;談過。而如果你想看 Grok 生態在工程端的另一面，&lt;a href=&quot;/blog/grok-build-open-source-agent-harness/&quot;&gt;Grok Build 開源的 harness&lt;/a&gt;是互補的參考。&lt;/p&gt;
&lt;h2 id=&quot;來源沒回答的部分&quot;&gt;來源沒回答的部分&lt;/h2&gt;
&lt;p&gt;技術文件、批准流程的具體實作、單筆與單日限額、錯帳的賠償流程，目前都沒有正式文件。馬斯克的承諾也還停留在推文層級，沒有反映到條款。&lt;/p&gt;
&lt;p&gt;在這些補齊之前，把「每筆交易都要我確認」當預設值，是唯一合理的設定。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://x.com/grok&quot;&gt;Grok 官方 X 帳號（連接器宣布）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.sedaily.com/news/2026/09/10/musks-grok-links-to-coinbase-enabling-crypto-trades-in-chat&quot;&gt;Musk’s Grok Links to Coinbase, Enabling Crypto Trades in Chat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.basenor.com/blogs/news/grok-x-coinbase-5-details-that-matter-for-crypto-owners&quot;&gt;Grok x Coinbase: 5 Details That Matter for Crypto Owners&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://finance.yahoo.com/markets/crypto/articles/elon-musk-grok-bot-promise-230000414.html&quot;&gt;Elon Musk Grok Bot Promise: We Will Make You Whole if AI Loses Your Money&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.newmobilelife.com/2026/08/22/spacexai-cursor-grok-bot-ai-assistant/&quot;&gt;SpaceXAI 與 Cursor 推出 Grok Bot 全新 AI 助手應用程式&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把圖片編輯寫進程式碼：Nano Banana API 的請求形狀與取捨</title>
      <description>OpenRouter 的教學把 Gemini 圖像編輯收斂成一個 API 請求：來源圖放 input_references、指令放 prompt，改模型只換一個欄位。</description>
      <link>https://agenticcommons.xyz/blog/nano-banana-api-image-edit-request-shape/</link>
      <guid>https://agenticcommons.xyz/blog/nano-banana-api-image-edit-request-shape/</guid>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
      <category>Image API</category>
      <category>Gemini</category>
      <category>OpenRouter</category>
      <category>AI Integration</category>
      <category>API</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/nano-banana-api-image-edit-request-shape/&quot;&gt;把圖片編輯寫進程式碼：Nano Banana API 的請求形狀與取捨&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;一個請求兩個欄位&quot;&gt;一個請求，兩個欄位&lt;/h2&gt;
&lt;p&gt;OpenRouter 在 2026 年 9 月 9 日發布的教學，把「用文字指令改一張既有圖片」壓縮成一個 HTTP 請求：來源圖放進 &lt;code&gt;input_references&lt;/code&gt;，修改指令放進 &lt;code&gt;prompt&lt;/code&gt;，改好的圖以 base64 回傳在 &lt;code&gt;data[0].b64_json&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;這篇教學預設的模型是 &lt;code&gt;google/gemini-3.1-flash-image&lt;/code&gt;，也就是 Nano Banana 2。OpenRouter 說明「Nano Banana」是 Google Gemini 圖像模型的暱稱，而這個 slug 是該家族中預設的快速模型。對產品團隊來說，真正有用的不是暱稱，而是請求形狀：同一個 endpoint 同時吃本地檔案與公開 URL，回傳格式也固定。&lt;/p&gt;
&lt;p&gt;值得注意的是編輯與生成的差別。教學明確區分：編輯是改一張既有圖片，生成是從文字產生新圖；這份教學只涵蓋編輯，所以每個請求都必須帶來源圖。如果你要的是從零生成，得走另一份文件。&lt;/p&gt;
&lt;h2 id=&quot;來源圖怎麼送base64-或-url&quot;&gt;來源圖怎麼送：base64 或 URL&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;input_references&lt;/code&gt; 接受兩種輸入：base64 data URL，或一般的 HTTP(S) 連結。教學的建議很直接——圖片已經公開託管就用 URL，請求 body 會小得多；本機或私有檔案才用 base64 編碼。&lt;/p&gt;
&lt;p&gt;教學列出 Gemini 可接受的輸入格式為 &lt;code&gt;image/png&lt;/code&gt;、&lt;code&gt;image/jpeg&lt;/code&gt;、&lt;code&gt;image/webp&lt;/code&gt;、&lt;code&gt;image/heic&lt;/code&gt;、&lt;code&gt;image/heif&lt;/code&gt;，但同時提醒支援格式因模型而異，送之前要確認模型頁面。這類細節在 demo 階段很容易被忽略，到了正式流程就會變成隨機失敗。&lt;/p&gt;
&lt;p&gt;回傳端也一樣單純：把 &lt;code&gt;b64_json&lt;/code&gt; 解碼後寫入檔案即可。教學另外提到 OpenRouter SDK 有對應的 images resource，呼叫同一個 endpoint，不想自己處理原始 HTTP 的話可以改用。&lt;/p&gt;
&lt;h2 id=&quot;編輯提示詞的寫法以及為什麼要一次改一件事&quot;&gt;編輯提示詞的寫法，以及為什麼要一次改一件事&lt;/h2&gt;
&lt;p&gt;教學對提示詞的建議是：先講要改什麼，再講什麼必須維持不變。它給的例子包括物件替換、換背景、風格轉換、改招牌文字，每一種都附帶「保留原本的某部分」這種約束。&lt;/p&gt;
&lt;p&gt;它還提到可以把提示詞寫成一小段 JSON 文字，把 &lt;code&gt;edit&lt;/code&gt;、&lt;code&gt;preserve&lt;/code&gt;、&lt;code&gt;style&lt;/code&gt; 分開。但教學說得很清楚：API 只把它當純文字處理，這不是特殊模式，只是可能幫助模型區分「要改」與「不要動」。要不要用，得在自己的圖上試。&lt;/p&gt;
&lt;p&gt;多輪編輯的做法是把上一輪回傳的圖再當成下一輪的來源圖，一次只下一個指令。教學提醒模型不會記得先前的提示詞，所以每一輪都要重述該保留的部分。這個限制直接影響你的產品設計：如果你打算做「連續微調」的介面，狀態得存在你自己的系統裡，而不是期待模型記得。&lt;/p&gt;
&lt;h2 id=&quot;換模型只改一個欄位但前提是模型真的支援&quot;&gt;換模型只改一個欄位，但前提是模型真的支援&lt;/h2&gt;
&lt;p&gt;教學裡最實用的一段，是換模型的方式：&lt;code&gt;model&lt;/code&gt; 欄位改掉，來源圖、提示詞、回應處理程式碼都不用動。它列出同家族的四個選項——Nano Banana 2 當快速預設、Nano Banana 2 Lite 最便宜最快、Nano Banana Pro 較慢但品質較高、初代 Nano Banana 則是暱稱起源的舊模型。也可以換成其他供應商的模型來比較品質、成本與速度。&lt;/p&gt;
&lt;p&gt;但這個「只改一個欄位」有前提：模型必須接受圖像輸入，且支援同樣的 &lt;code&gt;input_references&lt;/code&gt; 形狀。教學反覆強調要先確認模型具備編輯能力，因為圖像目錄變動頻繁，今天釘住的 slug 之後可能被淘汰或改價。這種抽象層的價值，和我們在&lt;a href=&quot;/blog/openrouter-presets-config-as-code/&quot;&gt;把模型參數移出程式碼&lt;/a&gt;談過的設定管理是同一件事：把會變的東西集中到一處，程式邏輯才不用跟著重寫。&lt;/p&gt;
&lt;h2 id=&quot;錯誤處理與成本才是能不能上線的分界&quot;&gt;錯誤處理與成本，才是能不能上線的分界&lt;/h2&gt;
&lt;p&gt;教學點出三種常見失敗：模型拒絕不支援的格式或連不到的 URL；圖片過大導致逾時，建議先縮圖；以及把提示詞寫成問句（例如「這張照片裡有什麼？」）會讓模型回文字而非圖片，API 會以 400 錯誤回傳，而不是空回應。最後一點對產品特別重要——錯誤要以 HTTP 狀態判斷，不能靠解碼結果猜。&lt;/p&gt;
&lt;p&gt;成本方面，教學說回應會在 &lt;code&gt;usage&lt;/code&gt; 資料可用時回報每次請求的美元成本，建議記錄下來追蹤支出。批次作業則要遵守速率限制，對 429 與 5xx 用遞增延遲重試，並限制同時進行的編輯數量；每張回傳的圖要先存檔再進行下一輪，避免單一失敗帶走已完成的工作。&lt;/p&gt;
&lt;p&gt;這份教學沒有談到延遲數字、品質評測方法，也沒有談多使用者併發下的配額規劃——這些得靠你自己的測試補上。實務上的下一步很具體：拿一張自己的圖跑一次請求，把 &lt;code&gt;usage&lt;/code&gt; 記下來，再決定要不要把編輯流程接進產品。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openrouter.ai/blog/tutorials/nano-banana/&quot;&gt;Nano Banana API: Edit Images with Gemini in Code — OpenRouter Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>Hermes Agent：記憶留在本機、會自己長出技能的開源助理</title>
      <description>Nous Research 的開源 Hermes Agent 把記憶留在本機、會自動生成技能，2026 年 2 月推出後登上 OpenRouter 累積用量第一。本文整理它的設計賭注、Desktop 公測與 15 億美元估值融資，並看用量數字該怎麼讀。</description>
      <link>https://agenticcommons.xyz/blog/nous-hermes-agent-open-source-adoption/</link>
      <guid>https://agenticcommons.xyz/blog/nous-hermes-agent-open-source-adoption/</guid>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
      <category>Open Source</category>
      <category>AI Agents</category>
      <category>Agent Memory</category>
      <category>Local AI</category>
      <category>Agent Framework</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/nous-hermes-agent-open-source-adoption/&quot;&gt;Hermes Agent：記憶留在本機、會自己長出技能的開源助理&lt;/a&gt;&lt;/p&gt;&lt;p&gt;2026 年的 agent 市場有一條清楚的主軸：記憶與執行放在誰的機器上。Nous Research 的 Hermes Agent 選了立場最鮮明的那一端——開源（MIT 授權）、自己架、記憶存在你自己的機器上。它在 2026 年 2 月 25 日推出，到 8 月中已是 OpenRouter 累積 token 用量第一的 agent。&lt;/p&gt;
&lt;h2 id=&quot;它是什麼&quot;&gt;它是什麼&lt;/h2&gt;
&lt;p&gt;Hermes Agent 是常駐的個人 agent：裝在自己的機器上，跨 session 記住你的專案與偏好，因為是全天候執行的程序，行為更像助理，而不是用完即棄的一次性指令。&lt;/p&gt;
&lt;p&gt;叫它的介面不是網頁，是你本來就在用的訊息軟體：Telegram、Discord、Slack、WhatsApp、Signal、Email 都通，也有 CLI。排程用自然語言設定，每天早上產報告、夜間備份、每週稽核這類任務會在背景自己跑。需要分工時，它會開出隔離的子代理（subagent），每個子代理有自己的對話與終端，用 Python RPC 協調。&lt;/p&gt;
&lt;p&gt;最特別的是技能會自己長出來：解決過的難題會被整理成可重用的技能，用得越多，累積越厚。官方的說法是「它學你的專案、自動生成技能」。&lt;/p&gt;
&lt;h2 id=&quot;desktop-公測把終端機的東西搬進視窗&quot;&gt;Desktop 公測：把終端機的東西搬進視窗&lt;/h2&gt;
&lt;p&gt;6 月 2 日起，官方推出 Hermes Desktop 公測，macOS 與 Windows 有一鍵安裝包，Linux 走終端機安裝。定位是「鏡像」而不是「取代」：命令列做得到的，Desktop 都做得到，再加上檔案瀏覽、預覽與外掛系統（工具、hook、主題、整合都能掛）。&lt;/p&gt;
&lt;p&gt;基礎功能免帳號就能用；登入 Nous Portal 之後才多了雲端常駐 agent 與模型折扣。這個分界本身就是產品判斷：本體免費開源，營收掛在代跑與模型轉售上。&lt;/p&gt;
&lt;h2 id=&quot;用量第一但要會讀&quot;&gt;用量第一，但要會讀&lt;/h2&gt;
&lt;p&gt;8 月中的第三方統計給了一組抓眼球數字：OpenRouter 上的累積 token 消耗，Hermes Agent 以 35.7 兆排名第一，Claude Code 8.53 兆第二，Kilo Code 7.36 兆第三，年初爆紅的 OpenClaw 掉到 4.4 兆第四。Hermes 在 5 月 6 日第一次登上單日第一，當天消耗 2,710 億 token。&lt;/p&gt;
&lt;p&gt;但同一篇文章自己也給了三個但書，值得原封不動搬過來。第一，Hermes 是 24/7 常駐程序，Claude Code 是 session 型工具，token 總量先天不可比。第二，Claude Code、Cursor、Copilot 的大部分流量根本不走 OpenRouter，這個榜只量得到 OpenRouter 一個通道。第三，榜單會隨生態變動——OpenRouter 本身正在被 Stripe 以 70 億美元以上的價格收購。&lt;/p&gt;
&lt;p&gt;所以這組數字能證明的，是「有一大批人願意讓一個常駐開源 agent 長時間燒 token」，而不是「Hermes 打敗了 Claude Code」。&lt;/p&gt;
&lt;h2 id=&quot;錢與生態&quot;&gt;錢與生態&lt;/h2&gt;
&lt;p&gt;TechCrunch 在 7 月 13 日報導，Nous Research 正以 15 億美元估值洽談新一輪融資，由 Robot Ventures 領投、USV 等參與。對一家以開源模型起家的公司，這個估值直接掛在 Hermes Agent 的採用曲線上。&lt;/p&gt;
&lt;p&gt;時間點也值得注意。Hermes 是在 OpenClaw 爆紅後進場的挑戰者之一，而 OpenClaw 這半年走了下坡：五個月內累積 138 個 CVE（其中一個 CVSS 9.9），創辦人在 2 月加入 OpenAI。開源 agent 的市場信任，很大一部分是靠競爭對手的安全事故襯托出來的——這正是我們在&lt;a href=&quot;/blog/openclaw-rebrand-security-concerns/&quot;&gt;OpenClaw 兩次改名與安全疑慮&lt;/a&gt;一文談過的劇本。&lt;/p&gt;
&lt;h2 id=&quot;真正的設計賭注&quot;&gt;真正的設計賭注&lt;/h2&gt;
&lt;p&gt;把記憶留在本機，得到的是資料主權，付出的是風險自負：沒有雲端廠商幫你擋更新、備份與漏洞。讓 agent 自己寫技能，得到的是越用越順手，付出的是技能品質沒有審核機制，一個錯誤的做法被固化成技能檔，之後每次都會照做一次。&lt;/p&gt;
&lt;p&gt;對要選型的團隊，我會把「可攜的技能資產」視為這類產品最值得抄的部分。模型可以換、框架可以換，但解決問題的程序沉澱成開放格式的技能檔之後，那是帶得走的資產。這與整個產業把 agent 往本機搬的方向一致——&lt;a href=&quot;/blog/lm-studio-bionic-local-agent/&quot;&gt;LM Studio 的 Bionic&lt;/a&gt;和&lt;a href=&quot;/blog/meta-muse-glimmer-open-local-agents/&quot;&gt;Meta 開放權重的 Muse Glimmer&lt;/a&gt;都在講同一件事。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://hermes-agent.nousresearch.com/&quot;&gt;Hermes Agent 官方網站&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hermes-agent.nousresearch.com/desktop&quot;&gt;Hermes Desktop（官方頁面）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://n.yam.com/Article/20260604101914&quot;&gt;Nous Research 推出 Hermes Desktop 公測版&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://techcrunch.com/2026/07/13/hermes-agent-maker-nous-research-in-talks-for-new-funding-at-1-5b-valuation/&quot;&gt;Hermes agent maker Nous Research in talks for new funding at $1.5B valuation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://memeburn.com/hermes-agent-is-now-four-times-bigger-than-claude-code-on-openrouter-heres-what-that-actually-measures/&quot;&gt;Hermes agent is now four times bigger than Claude Code on OpenRouter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://news.cnyes.com/news/id/6414025&quot;&gt;OpenClaw 挑戰者 Hermes Agent（鉅亨網）&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把商品標籤交給小模型：SageMaker serverless 客製化的取捨</title>
      <description>AWS 示範用 SageMaker serverless 客製化 Qwen3-8B 做商品標籤，重點在把訓練與推論的責任拆開。</description>
      <link>https://agenticcommons.xyz/blog/sagemaker-serverless-product-tagging/</link>
      <guid>https://agenticcommons.xyz/blog/sagemaker-serverless-product-tagging/</guid>
      <pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate>
      <category>AWS</category>
      <category>Fine-tuning</category>
      <category>Machine Learning</category>
      <category>Serverless</category>
      <category>AI Engineering</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/sagemaker-serverless-product-tagging/&quot;&gt;把商品標籤交給小模型：SageMaker serverless 客製化的取捨&lt;/a&gt;&lt;/p&gt;&lt;p&gt;商品目錄很少以乾淨的結構化欄位送到你手上。品名、描述、分類路徑來自不同來源，而且持續變動；搜尋、推薦與分類導覽都依賴一致的標籤，但人工為數千個 SKU 貼標既慢又難維持一致。&lt;/p&gt;
&lt;p&gt;AWS Machine Learning Blog 在 2026 年 9 月 15 日發布的 walkthrough 提出一個明確的判斷：當分類體系穩定、輸出可以用程式評分時，客製化一個較小的開源權重模型，可能比用通用前沿模型加 prompt engineering 更合適。理由是這類高頻貼標工作的目標很窄——用正確的 schema 穩定回傳正確的屬性——你不需要為每次請求都付費購買用不到的通才能力。&lt;/p&gt;
&lt;h2 id=&quot;這條流程把三件事拆開&quot;&gt;這條流程把三件事拆開&lt;/h2&gt;
&lt;p&gt;根據這篇 walkthrough，整體工作流刻意分成資料準備、serverless 模型客製化、推論三個關注點。資料先轉成有版號的資產，SFT 教模型認識貼標 schema，RLVR 再針對可驗證的獎勵優化行為，最後把模型打包上線。&lt;/p&gt;
&lt;p&gt;值得注意的是「serverless」在這裡只指訓練路徑。推論端用的是 Amazon SageMaker Asynchronous Inference，跑在 provisioned 的 ml.g6.2xlarge 上，適合批次式的目錄充實。這個區分對成本估算很重要：訓練容量由 AWS 挑選與釋放，但推論仍是你自己的執行個體。&lt;/p&gt;
&lt;h2 id=&quot;從-sft-到-rlvr什麼時候需要第二步&quot;&gt;從 SFT 到 RLVR：什麼時候需要第二步&lt;/h2&gt;
&lt;p&gt;流程先用 supervised fine-tuning 客製化 Qwen3-8B，再以 RLVR 搭配 GRPO 優化。AWS 的說明指出，SFT 預期帶來 schema 遵循度最大的躍升，因為它直接示範了期望的輸入輸出；RLVR 則用來處理剩下的品質取捨，而不是重新學格式。&lt;/p&gt;
&lt;p&gt;RLVR 之所以可行，是因為貼標輸出是結構化的，可以直接和參考答案比對，不需要另一個 LLM 來評判每個 completion。獎勵函式是確定性的：檢查九類輸出格式，並以 0.5 門檻做模糊比對。文中給出的權重是 recall、precision、accuracy 各 0.30，match_quality 與 formatting 各 0.05，而且排程會隨訓練階段改變強調重點，早期偏向 recall，避免模型漏掉應該出現的標籤。&lt;/p&gt;
&lt;p&gt;這裡的關鍵設計是：當你的評分方式可以寫成規則，客製化小模型就從「感覺比較便宜」變成「訊號可驗證」。&lt;/p&gt;
&lt;h2 id=&quot;與舊做法的差別在哪&quot;&gt;與舊做法的差別在哪&lt;/h2&gt;
&lt;p&gt;AWS 對比了兩種路徑。amazon-sagemaker-examples 裡先前的 Qwen3-8B 範例使用 SageMaker Training Jobs，由客戶挑選 GPU 執行個體並自備訓練映像；這次的 walkthrough 改用 Amazon SageMaker Python SDK v3 的 serverless 客製化 trainer（SFTTrainer 與 RLVRTrainer）。不提供 compute 設定時，SageMaker 會自行選擇並釋放訓練容量。&lt;/p&gt;
&lt;p&gt;如果你正在評估同類工作，這個對比比模型選擇更值得先想清楚：你要自己管訓練基礎設施，還是把容量調度交出去，換取較少的控制權。&lt;/p&gt;
&lt;h2 id=&quot;上線前要先確認的幾件事&quot;&gt;上線前要先確認的幾件事&lt;/h2&gt;
&lt;p&gt;這篇 walkthrough 列出的前置條件相當具體，而且多數和模型無關。你需要 SageMaker AI 權限來管理客製化任務、AI Registry 資料集與評估器、model package group、endpoints 與非同步推論；需要 S3 讀寫來源目錄、轉換後的訓練資料與模型產物；只有在自行建置與託管 vLLM 推論映像時才需要 ECR。&lt;/p&gt;
&lt;p&gt;另外要確認所選 Region 與模型／技術組合支援 Qwen3-8B 的 SFT 與 RLVR，並保留足夠的 hosting quota 給 ml.g6.2xlarge 與非同步 endpoint。資料集部分，示範用 Kaggle 上的 Amazon Sales Dataset，超過 1,000 筆商品記錄；正式環境應改用自己核准的目錄與可信標籤。本機工具需要 Python 3.11+、AWS CLI v2、pandas、SageMaker Python SDK v3，以及建置映像時才需要的 Docker。驗證建議走 IAM Identity Center 或其他短期憑證流程，避免 root 與長效 access key。&lt;/p&gt;
&lt;p&gt;這類「把重複的判斷交給受控流程」的思路，和我們先前談 &lt;a href=&quot;/blog/amazon-bedrock-prompt-caching-cost-latency/&quot;&gt;Amazon Bedrock prompt caching 如何壓低重複 context 成本&lt;/a&gt; 是同一個問題的不同切面：先辨識出工作裡真正重複、可預期的部分，再決定要為它付出多少推論成本。&lt;/p&gt;
&lt;h2 id=&quot;實務上的下一步&quot;&gt;實務上的下一步&lt;/h2&gt;
&lt;p&gt;如果你的目錄規模還小、分類體系仍在頻繁變動，這條路徑的前提就不成立——RLVR 的獎勵需要穩定的參考答案，schema 一直改就沒有可驗證的訊號。反過來說，當標籤類別固定、你能寫出評分規則、而且貼標量足以攤平客製化成本時，先做 SFT 拿到 schema 遵循度，再視漏標與多標的實際比例決定要不要進 RLVR，是比較容易驗證順序的做法。&lt;/p&gt;
&lt;p&gt;需要提醒的是，這篇 walkthrough 的內容在獎勵函式設計段落後截斷，後續的評估與部署細節並未完整呈現；上述流程以已提供的部分為準。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/blogs/machine-learning/build-an-ai-powered-product-tagging-system-with-amazon-sagemaker-serverless-model-customization/&quot;&gt;Build an AI-powered product tagging system with Amazon SageMaker serverless model customization&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>為代理挑選網頁搜尋 API：先定義任務，再比較六種工具</title>
      <description>從 Tavily 的比較文章出發，理解六種搜尋 API 的定位差異，並用實際查詢測試找出最適合你代理的選擇。</description>
      <link>https://agenticcommons.xyz/blog/choosing-web-search-api-for-agents/</link>
      <guid>https://agenticcommons.xyz/blog/choosing-web-search-api-for-agents/</guid>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <category>Web Search</category>
      <category>AI Agents</category>
      <category>API</category>
      <category>Product Builders</category>
      <category>Tavily</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/choosing-web-search-api-for-agents/&quot;&gt;為代理挑選網頁搜尋 API：先定義任務，再比較六種工具&lt;/a&gt;&lt;/p&gt;&lt;p&gt;當你決定讓 AI 代理存取網頁時，只說「需要搜尋」是不夠的。代理可能需要語意相關的內容、監控特定網站、進行多步驟研究、產生有引用的答案，或只是取得最新資訊給另一個模型推理。Tavily 部落格在 2026 年 9 月 14 日發布的比較文章指出，雖然 Tavily、Exa、Parallel、Firecrawl、Perplexity 和 Brave 常被視為同類選項，但它們其實從不同的起點設計。&lt;/p&gt;
&lt;h2 id=&quot;先釐清代理的搜尋任務&quot;&gt;先釐清代理的搜尋任務&lt;/h2&gt;
&lt;p&gt;在比較平台之前，先定義 API 需要做什麼。Tavily 的文章建議從三個面向思考：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;檢索任務&lt;/strong&gt;：代理開始時知道什麼？從已知 URL 出發的工作流程，與從開放式問題出發的需求不同。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;回傳內容&lt;/strong&gt;：API 應該回傳連結和摘要、提取後的內容，還是整合好的答案？平台處理越多，你需要自己建構的就越少。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;準確度、延遲與資訊密度&lt;/strong&gt;：速度快不代表有用。結果是否準確、相關，且包含足夠細節，避免後續重新排序、重試或消耗模型 token？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;此外，也要檢視來源、日期、地點、語言和內容格式的控制選項，以及針對 prompt injection、PII 洩漏和惡意來源的防護。&lt;/p&gt;
&lt;h2 id=&quot;六種-api-的定位差異&quot;&gt;六種 API 的定位差異&lt;/h2&gt;
&lt;p&gt;每個平台都涵蓋網頁搜尋流程的多個部分，但重點不同。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Brave Search API&lt;/strong&gt; 提供獨立網頁索引，適合廣泛覆蓋、快速查詢和傳統搜尋體驗。但 Tavily 的文章提醒，其廣泛結果可能引入雜訊，需要額外過濾或重試。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exa&lt;/strong&gt; 使用神經和語意搜尋，擅長探索相關概念和專業資料集。但語意強項不保證每個事實查詢都有最新或最直接的證據。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Firecrawl&lt;/strong&gt; 是開源平台，專注於爬取、提取和監控已知網站。它最適合將特定網站轉為結構化資料，而非從問題出發尋找來源。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parallel&lt;/strong&gt; 結合搜尋與研究、提取、監控等 API，適合多步驟調查。但較快的模式可能回傳不完整結果，且其工作流程能力對單純檢索需求可能過重。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Perplexity&lt;/strong&gt; 從消費者問答產品延伸出 Search API，並提供答案生成、模型和代理工作流程。採用更多平台功能可能讓 Perplexity 對資訊檢索和呈現有更多控制。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tavily&lt;/strong&gt; 專注於為生產環境中的 AI 代理提供快速、準確、資訊密集的檢索，並內建 prompt injection 偵測、PII 防護和零資料保留。&lt;/p&gt;
&lt;h2 id=&quot;用實際查詢測試而非只看功能表&quot;&gt;用實際查詢測試，而非只看功能表&lt;/h2&gt;
&lt;p&gt;Tavily 的文章強調，基準測試和功能列表只是起點。你應該用代理實際會收到的查詢建立測試集，包括簡單查詢、即時問題、小眾主題和複雜研究任務。在相同設定下執行每個 API，比較準確度、新鮮度、引用完整性、延遲、失敗率和資訊密度。&lt;/p&gt;
&lt;p&gt;最好的選擇不一定是每個查詢都贏的平台，而是在對你應用最重要的查詢上表現一致，且需要最少額外工作的那個。計算成本時，也要納入提取、重新排序、重試、下游模型使用和工程時間。&lt;/p&gt;
&lt;p&gt;這與我們之前討論的&lt;a href=&quot;/blog/process-orchestration-execution-models-tradeoffs/&quot;&gt;流程編排執行模型&lt;/a&gt;有相似之處：先決定誰能做決定，再談工具。選擇搜尋 API 時，也要先釐清代理的決策架構，才能找到最適合的檢索層。&lt;/p&gt;
&lt;h2 id=&quot;從-tavily-playground-開始驗證&quot;&gt;從 Tavily Playground 開始驗證&lt;/h2&gt;
&lt;p&gt;如果你正在評估 Tavily，可以先在 Tavily Playground 執行自己的查詢，檢查回傳的來源，看看代理實際會收到什麼內容，再決定是否整合。免費方案即可開始測試。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.tavily.com/blog/tavily-vs-exa-vs-parallel-vs-firecrawl-vs-perplexity-vs-brave-choosing-the-right-web-search-api&quot;&gt;Tavily vs. Exa vs. Parallel vs. Firecrawl vs. Perplexity vs. Brave: Choosing the Right Web Search API for Each Use Case | Tavily Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把「探索」當成一種工程紀律：Christina Koch 與 James Manyika 對談裡，產品團隊該帶走的三件事</title>
      <description>Google 發布 Koch 與 Manyika 的對談影片，重點不在太空，而在人機分工與探索決策的判斷方式。</description>
      <link>https://agenticcommons.xyz/blog/christina-koch-james-manyika-dialogues-exploration/</link>
      <guid>https://agenticcommons.xyz/blog/christina-koch-james-manyika-dialogues-exploration/</guid>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>Product Thinking</category>
      <category>AI for Science</category>
      <category>Google</category>
      <category>AI Tools</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/christina-koch-james-manyika-dialogues-exploration/&quot;&gt;把「探索」當成一種工程紀律：Christina Koch 與 James Manyika 對談裡，產品團隊該帶走的三件事&lt;/a&gt;&lt;/p&gt;&lt;p&gt;太空任務和產品開發看起來距離很遠，但兩者卡住的地方常常一樣：資訊不完整、風險不可逆，而且沒有人能先試跑一次。&lt;/p&gt;
&lt;p&gt;2026 年 9 月 14 日，Google 發布了新一集 &lt;a href=&quot;https://blog.google/innovation-and-ai/technology/ai/dialogues-christina-koch/&quot;&gt;Dialogues on Technology and Society&lt;/a&gt;，由 NASA 太空人、工程師兼科學家 Christina Koch 與 Google 研究、Labs、技術與社會資深副總裁 James Manyika 對談。以下只根據這份發布內容整理，沒有補充影片以外的細節。&lt;/p&gt;
&lt;h2 id=&quot;對談裡實際出現的內容&quot;&gt;對談裡實際出現的內容&lt;/h2&gt;
&lt;p&gt;根據 Google 的發布說明，Koch 回顧了她的職涯：在國際太空站待了 328 天、執行史上第一次全女性太空漫步，以及參與 NASA Artemis II 任務繞行月球。&lt;/p&gt;
&lt;p&gt;她與 Manyika 談到從 25 萬英里外看地球，像一艘「電藍色的救生艇」；也談到太空人、機器人與 AI 之間的合作關係。她另外觸及「我們是否孤單」這個大問題，並給未來探索者一個建議：去做讓你害怕的事。&lt;/p&gt;
&lt;p&gt;發布說明到這裡就結束了。影片中 Manyika 具體問了什麼、Koch 怎麼回答 AI 在任務中的角色，這份發布內容並沒有交代。&lt;/p&gt;
&lt;h2 id=&quot;為什麼人機器人ai-的分工值得產品團隊留意&quot;&gt;為什麼「人、機器人、AI 的分工」值得產品團隊留意&lt;/h2&gt;
&lt;p&gt;把 Koch 的職涯拆開看，會發現她的工作本質上是一連串高風險的委派決策：哪些判斷留給人、哪些交給自動化系統、哪些必須兩邊互相確認。&lt;/p&gt;
&lt;p&gt;這正是多數代理（agent）專案真正難的地方，而且難點通常不在模型能力。當你把一個步驟交給自動流程，你同時交出了觀察與否決的機會。太空任務的處理方式是保留人類在關鍵節點上的確認權；產品團隊常犯的錯，則是把「自動化」和「不用看」當成同一件事。&lt;/p&gt;
&lt;p&gt;如果你正在設計代理的工作邊界，我們先前談過&lt;a href=&quot;/blog/process-orchestration-execution-models-tradeoffs/&quot;&gt;流程編排的三種執行模型&lt;/a&gt;，核心問題一樣：先決定誰能做決定，再談要用哪些工具。&lt;/p&gt;
&lt;h2 id=&quot;對談沒有給你的東西&quot;&gt;對談沒有給你的東西&lt;/h2&gt;
&lt;p&gt;這是一支對談影片，不是技術文件。它不會告訴你 AI 在太空任務裡負責哪一層、準確率多少、失敗時怎麼回退。把這類對談當成方向感的來源可以，當成架構依據不行。&lt;/p&gt;
&lt;p&gt;同理，「去做讓你害怕的事」是一句給人的建議，不是給系統的設計原則。把它套進產品流程之前，你得先想清楚：害怕的是什麼？是資料不足、是不可逆的部署，還是沒有人願意在出錯時按下停止鍵？這三個問題的解法完全不同。&lt;/p&gt;
&lt;h2 id=&quot;可以立刻做的事&quot;&gt;可以立刻做的事&lt;/h2&gt;
&lt;p&gt;看完這類對談，比較有用的動作不是記下金句，而是拿它去檢查自己手上的專案：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;列出目前全自動執行的步驟，標出哪幾個一旦出錯就無法回頭。&lt;/li&gt;
&lt;li&gt;對這幾個步驟，指定一個明確的人類確認點，而不是「有問題再說」。&lt;/li&gt;
&lt;li&gt;確認你的系統在自動流程失敗時，會留下足以判斷原因的紀錄。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Koch 的 328 天與繞月任務，靠的不是單一系統的完美，而是人與機器各自守住自己擅長的部分。產品團隊能借用的，大概就是這個分工紀律，而不是那句勵志的話。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.google/innovation-and-ai/technology/ai/dialogues-christina-koch/&quot;&gt;Watch astronaut Christina Koch and Google’s James Manyika discuss space, technology, and discovery.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>DevFest 2026 回歸：開發者如何從 800 場實體活動中挑出對自己有用的 agentic AI 內容</title>
      <description>DevFest 2026 宣布回歸，超過 800 場全球活動聚焦 agentic AI 時代的建置、安全與擴展，開發者需要更精準地規劃參與策略。</description>
      <link>https://agenticcommons.xyz/blog/devfest-2026-agentic-ai-developer-events/</link>
      <guid>https://agenticcommons.xyz/blog/devfest-2026-agentic-ai-developer-events/</guid>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>Developer Tools</category>
      <category>AI Agents</category>
      <category>Community</category>
      <category>Google</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/devfest-2026-agentic-ai-developer-events/&quot;&gt;DevFest 2026 回歸：開發者如何從 800 場實體活動中挑出對自己有用的 agentic AI 內容&lt;/a&gt;&lt;/p&gt;&lt;p&gt;DevFest 回來了。Google 在 2026 年 9 月 14 日宣布，這個全球開發者社群活動將再次舉辦，而且規模比以往更大——超過 800 場實體活動，主題圍繞著「在 agentic AI 時代建置、保護與擴展」。對產品開發者來說，這不只是另一個技術研討會，而是一個重新校準自己學習路徑的時機。&lt;/p&gt;
&lt;h2 id=&quot;活動規模與主題焦點&quot;&gt;活動規模與主題焦點&lt;/h2&gt;
&lt;p&gt;根據 &lt;a href=&quot;https://blog.google/innovation-and-ai/technology/developers-tools/devfest2026/&quot;&gt;Google 官方部落格&lt;/a&gt;，DevFest 2026 的核心訊息很明確：開發者需要掌握 agentic AI 的建置方法、安全考量，以及如何讓應用程式真正擴展。這三個面向正好對應到目前 AI 產品開發最常卡關的地方——不是模型能力不足，而是如何把代理（agent）放進真實的產品流程，同時確保安全與效能。&lt;/p&gt;
&lt;p&gt;超過 800 場活動意味著選擇很多，但也代表你需要更清楚自己要解決什麼問題。如果你正在思考如何把多個 AI 代理串成一個可靠的流程，可以參考之前討論過的&lt;a href=&quot;/blog/process-orchestration-execution-models-tradeoffs/&quot;&gt;流程編排執行模型&lt;/a&gt;——先決定誰能做決定，再談工具。DevFest 的實體工作坊通常會提供這類架構討論的實作機會。&lt;/p&gt;
&lt;h2 id=&quot;對產品開發者的實際意義&quot;&gt;對產品開發者的實際意義&lt;/h2&gt;
&lt;p&gt;DevFest 的價值不在於吸收所有內容，而在於找到與你目前產品痛點直接相關的場次。例如，如果你正在評估是否要把代理功能放進現有產品，安全與擴展這兩個主題就特別重要。agentic AI 的「安全」不只是防止 prompt injection，還包括代理在執行任務時的權限控管與錯誤處理；而「擴展」則牽涉到基礎設施、成本控制與觀測能力。&lt;/p&gt;
&lt;p&gt;Google 的公告沒有詳細列出每一場活動的議程，但從主題設定可以看出，主辦方希望開發者帶著具體問題來參加，而不是只聽概念分享。這對產品開發者來說是好事——你可以在活動前先盤點自己團隊在 agentic AI 上的瓶頸，再挑選對應的場次。&lt;/p&gt;
&lt;h2 id=&quot;如何規劃參與策略&quot;&gt;如何規劃參與策略&lt;/h2&gt;
&lt;p&gt;800 場活動分布在全球，多數開發者只會參加一到兩場。與其隨機報名，不如先問自己三個問題：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;我目前最需要解決的 agentic AI 問題是什麼？&lt;/li&gt;
&lt;li&gt;哪一場活動的講者或工作坊最可能提供可操作的答案？&lt;/li&gt;
&lt;li&gt;活動結束後，我能帶回什麼具體的下一步？&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;DevFest 的實體性質讓它比線上課程更有價值的地方在於：你可以直接與講者和同儕討論你遇到的實際問題。如果你正在開發需要多模型協作的產品，活動現場的交流往往能幫你避開一些文件上沒寫的坑。&lt;/p&gt;
&lt;h2 id=&quot;下一步&quot;&gt;下一步&lt;/h2&gt;
&lt;p&gt;DevFest 2026 的具體日期與報名方式在公告中並未詳細說明，但開發者可以透過 &lt;a href=&quot;https://blog.google/innovation-and-ai/technology/developers-tools/devfest2026/&quot;&gt;Google 官方部落格&lt;/a&gt;追蹤後續消息。對產品開發者來說，現在就可以開始整理自己的 agentic AI 問題清單，這樣等到活動細節公布時，你就能快速判斷哪些場次值得投入時間。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.google/innovation-and-ai/technology/developers-tools/devfest2026/&quot;&gt;DevFest is back&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把電子郵件拆成三十個小模型：Fyxer 如何讓 AI 助理值得信賴</title>
      <description>Fyxer 用 30–50 個專門模型拆分郵件工作，並以使用者編輯回饋做 DPO 訓練，讓 AI 草稿接受率達 53%。</description>
      <link>https://agenticcommons.xyz/blog/fyxer-ai-executive-assistant-trust/</link>
      <guid>https://agenticcommons.xyz/blog/fyxer-ai-executive-assistant-trust/</guid>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>AI Agents</category>
      <category>AI Engineering</category>
      <category>Fine-tuning</category>
      <category>Product Builders</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/fyxer-ai-executive-assistant-trust/&quot;&gt;把電子郵件拆成三十個小模型：Fyxer 如何讓 AI 助理值得信賴&lt;/a&gt;&lt;/p&gt;&lt;p&gt;多數專業人士的日常工作，就是同時追蹤信箱、會議、訊息和應用程式裡的對話與承諾。一旦脈絡斷掉，承諾就會漏接，專案和人際關係跟著受損。Fyxer 想解決的正是這個問題：打造一個能跨工具追蹤脈絡的 AI 行政助理，而且讓人願意信任它。&lt;/p&gt;
&lt;p&gt;Fyxer 的系統結合了最新的 OpenAI 模型，以及超過 50 萬小時的行政助理工作流程資料，把工作拆給數十個專門模型，再透過真實使用者回饋持續改進。這套做法對產品開發者很有參考價值，因為它示範了如何把一個看似單純的任務，拆解成可訓練、可評估、可迭代的系統。&lt;/p&gt;
&lt;h2 id=&quot;郵件不是一個任務是一串預測&quot;&gt;郵件不是一個任務，是一串預測&lt;/h2&gt;
&lt;p&gt;Fyxer 共同創辦人 Archie Hollingsworth 用 Moravec 悖論解釋這個挑戰：人類覺得容易的事，對電腦反而困難。同一封郵件，兩個人可能需要完全不同的回覆，取決於關係、過去發生過什麼，以及各自想達成什麼。&lt;/p&gt;
&lt;p&gt;Fyxer 的解法不是叫一個大模型寫出好郵件，而是把流程拆成 30 到 50 個專門模型，每個模型只負責一小塊工作。當新郵件進來，一個「回覆決策模型」先分類：這封信需要回覆、需要排程，還是只需要讓使用者知道？如果需要回覆，其他模型接著分析郵件意圖、預測互動可能的結果，例如對話是否走向安排會議、解決請求，或延續一段長期關係。&lt;/p&gt;
&lt;p&gt;記憶是整套系統的關鍵。Fyxer 必須決定哪些細節要跨對話保留，哪些在單次交流後就該消失。新郵件到達時，檢索模型會比對過去的互動，找出與這個人和這條對話最相關的記憶。OpenAI 模型負責從理解郵件內容、拉取並重新排序脈絡，到實際生成草稿的各個步驟。&lt;/p&gt;
&lt;h2 id=&quot;從真人助理的判斷裡學&quot;&gt;從真人助理的判斷裡學&lt;/h2&gt;
&lt;p&gt;在推出 AI 產品之前，Fyxer 經營了好幾年真人行政助理服務，累積了超過 50 萬小時的標註工作流程資料。這些資料捕捉了優秀助理的細微判斷：什麼時候該快速回覆、什麼時候該等、哪段先前對話重要、同一個請求為什麼對不同人要有不同回應。&lt;/p&gt;
&lt;p&gt;Fyxer 用監督式微調和 LoRA 在整個系統上建立任務專屬的模型變體，同時控制訓練成本。產品早期，團隊用 OpenAI 的微調平台處理需要高準確度的任務；後來則與 OpenAI 的 managed fine-tuning 團隊合作，把新的 checkpoint 推上生產。&lt;/p&gt;
&lt;p&gt;任何模型部署前，Fyxer 都會在自家郵件任務的驗證集上評估，包括草稿、分類和優先排序。團隊同時權衡準確度、回應時間和成本，因為最佳選擇會因任務而異。&lt;/p&gt;
&lt;h2 id=&quot;把使用者的編輯變成訓練訊號&quot;&gt;把使用者的編輯變成訓練訊號&lt;/h2&gt;
&lt;p&gt;模型上線後，Fyxer 靠真實使用者回饋繼續進步。當有人編輯草稿才送出，原始版本和最終版本的差異就顯示了使用者偏好哪種輸出。&lt;/p&gt;
&lt;p&gt;Fyxer 用 Direct Preference Optimization (DPO) 把這些比較轉成訓練資料，不必手動標註每個例子，模型直接從成對輸出中學習：原始草稿和使用者編輯後的版本。每次草稿修改都會經過 A/B 測試，只有當新版本產生統計顯著的改善時才上線。以 Fyxer 的使用者量，有時一天內就能達到這個門檻。&lt;/p&gt;
&lt;p&gt;目前 53% 的 AI 生成草稿被原樣接受，代表系統在真實對話中正確預測了意圖和語氣。2025 年，Fyxer 的年度經常性收入從 100 萬美元成長到 3,200 萬美元。但 Hollingsworth 認為更強的訊號是留存率：超過 90% 的使用者在第 90 天仍持續付費且每天使用。&lt;/p&gt;
&lt;h2 id=&quot;對產品開發者的啟示&quot;&gt;對產品開發者的啟示&lt;/h2&gt;
&lt;p&gt;Fyxer 的做法呼應了我們先前討論過的&lt;a href=&quot;/blog/process-orchestration-execution-models-tradeoffs/&quot;&gt;流程編排取捨&lt;/a&gt;：先決定誰能做決定，再談工具。把郵件拆成小模型，本質上就是把決策權分散到可各自評估、各自微調的單元，而不是仰賴一個黑箱。&lt;/p&gt;
&lt;p&gt;對正在打造高度脈絡化 AI 產品的團隊來說，Fyxer 提供了三條可參考的路徑：把複雜任務拆成小預測、用真實工作流程的資料訓練、把使用者編輯變成自動化的偏好學習迴圈。這不是什麼神奇架構，而是把產品開發的紀律套用在 AI 系統上。&lt;/p&gt;
&lt;p&gt;Fyxer 的下一步是從草稿助理走向更主動的助理，管理更多溝通與協調工作。Hollingsworth 的願景是讓客戶不必打開電腦，就能信任 Fyxer 處理一切。這需要更豐富的關係、偏好和工作脈絡理解，也是信任能否延續的關鍵考驗。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openai.com/index/fyxer&quot;&gt;How Fyxer built an AI executive assistant people trust&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把銀行 API 上線流程拆成七個專責代理：Ninth Wave 在 Amazon Bedrock 上的多代理設計</title>
      <description>Ninth Wave 用 Amazon Bedrock AgentCore 把開放金融 onboarding 拆成七個專責代理，以租戶隔離與確定性評分解決合規痛點。</description>
      <link>https://agenticcommons.xyz/blog/ninth-wave-bedrock-agentcore-open-finance-onboarding/</link>
      <guid>https://agenticcommons.xyz/blog/ninth-wave-bedrock-agentcore-open-finance-onboarding/</guid>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <category>Amazon Bedrock</category>
      <category>Agentic AI</category>
      <category>Fintech</category>
      <category>Multi-Agent Systems</category>
      <category>AWS</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/ninth-wave-bedrock-agentcore-open-finance-onboarding/&quot;&gt;把銀行 API 上線流程拆成七個專責代理：Ninth Wave 在 Amazon Bedrock 上的多代理設計&lt;/a&gt;&lt;/p&gt;&lt;p&gt;開放金融的整合瓶頸不在模型能力，而在每個銀行的 API 都有自己的欄位名稱、格式慣例，以及與 FDX 標準之間的落差。Ninth Wave 原本需要數週的人工驗證與對應，現在透過 Compass 這個 AI onboarding 助理，把流程變成一個多代理協作系統。&lt;/p&gt;
&lt;h2 id=&quot;為什麼選擇多代理而不是單一-rag&quot;&gt;為什麼選擇多代理而不是單一 RAG&lt;/h2&gt;
&lt;p&gt;Ninth Wave 評估過三種做法：在 EC2 上自架模型、單一代理加 RAG、以及多代理架構。自架模型控制力最高但維運成本也高；單一代理較簡單，但在對應、分析、搜尋與互動問答等不同任務之間，準確度會互相稀釋。&lt;/p&gt;
&lt;p&gt;多代理架構的前期複雜度較高，但每個代理只專注一種任務，有自己的 context 與指令。團隊在 AWS Machine Learning Blog 的文章中指出，這樣「沒有 prompt space 的競爭，準確度會隨著任務類型數量而擴展」。&lt;/p&gt;
&lt;p&gt;實際的執行環境是 Amazon Bedrock AgentCore，負責託管與擴展這些代理；而 Strands Agents 框架處理意圖分類與路由。&lt;/p&gt;
&lt;h2 id=&quot;三個關鍵設計決策&quot;&gt;三個關鍵設計決策&lt;/h2&gt;
&lt;p&gt;架構的核心是三個決策：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;意圖路由&lt;/strong&gt;：orchestrator 只分類一次，就把請求送給對應的專責代理。每個代理的 context window 保持乾淨，輸出也比較可預測。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;依任務選模型&lt;/strong&gt;：輕量模型處理高頻率任務，高推理模型處理對應、分析與互動問答。團隊是「把模型能力對齊任務複雜度，而不是把所有東西都丟給同一個模型」。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;租戶範圍的 grounding&lt;/strong&gt;：在呼叫代理之前，應用程式會先組裝該銀行自己的 context 到請求裡。這樣可以控制每個代理看到什麼，避免一家銀行的資料進入另一家銀行的 session。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;七個專責代理與一個例外&quot;&gt;七個專責代理與一個例外&lt;/h2&gt;
&lt;p&gt;Compass 的 Primary Agent 會把請求路由到七個 specialist：搜尋、文件問答、文件分類、欄位對應、分析、互動工作流程，以及 readiness 分析。&lt;/p&gt;
&lt;p&gt;其中只有 readiness 分析會使用 Amazon Bedrock Knowledge Bases 做 RAG。這是刻意的範圍決策：其他代理完全在應用層做 grounding，讓團隊對檢索邏輯與排序有完整控制權。Readiness 分析需要綜合大量 FDX 參考文件，無法放進單一請求，所以 RAG 是那個特定代理的正確模式。&lt;/p&gt;
&lt;p&gt;FDX readiness 分數則是在應用程式碼中，根據 OpenSearch 裡的必填欄位覆蓋率做確定性計算，而不是由模型估計。這種做法能滿足稽核要求，機率性的模型輸出做不到。&lt;/p&gt;
&lt;h2 id=&quot;租戶隔離與可觀測性&quot;&gt;租戶隔離與可觀測性&lt;/h2&gt;
&lt;p&gt;因為 Compass 同時服務外部銀行開發者與內部使用者，每個請求在進入應用邏輯之前，都必須先限定到單一租戶。AWS WAF 提供邊緣層防護，應用程式授權則把每家銀行限制在自己的 onboarding workspace。&lt;/p&gt;
&lt;p&gt;在可觀測性方面，ECS 會把每個代理的指標（呼叫次數、token 用量、延遲、成本）送到 CloudWatch，再觸發 SNS 警報並饋入 Grafana 儀表板。以代理為維度做指標，團隊可以在個別代理層級偵測回歸，而不是等到整個系統出問題才發現。&lt;/p&gt;
&lt;p&gt;這種把 AI 工作負載與應用工作負載分離到不同 AWS 帳戶的做法，也呼應了我們先前討論過的&lt;a href=&quot;/blog/process-orchestration-execution-models-tradeoffs/&quot;&gt;流程編排執行模型&lt;/a&gt;：先決定誰能做決定，再談工具。Ninth Wave 在這裡的決定是，讓 orchestrator 只做分類，讓每個 specialist 在自己的範圍內做決定。&lt;/p&gt;
&lt;h2 id=&quot;對產品建置者的啟示&quot;&gt;對產品建置者的啟示&lt;/h2&gt;
&lt;p&gt;Ninth Wave 的案例有幾個值得參考的取捨：多代理的複雜度換來的是每個任務的準確度與可維護性；租戶範圍的 grounding 是合規要求下的必要設計；而確定性評分則是把模型輸出與稽核需求分開處理。&lt;/p&gt;
&lt;p&gt;如果你正在規劃一個需要處理多種任務、且對資料隔離有嚴格要求的 AI 產品，可以考慮把「每個代理只做一件事」當成預設架構，而不是等到 prompt 互相干擾之後再重構。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/blogs/machine-learning/how-ninth-wave-built-ai-powered-open-finance-onboarding-on-amazon-bedrock/&quot;&gt;How Ninth Wave built AI-powered open finance onboarding on Amazon Bedrock&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把模型參數移出程式碼：用 OpenRouter Presets 管理 LLM 設定</title>
      <description>OpenRouter Presets 讓你把模型、提示詞與路由規則集中管理，改一次就同步所有應用，不必重新部署。</description>
      <link>https://agenticcommons.xyz/blog/openrouter-presets-config-as-code/</link>
      <guid>https://agenticcommons.xyz/blog/openrouter-presets-config-as-code/</guid>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <category>OpenRouter</category>
      <category>AI API</category>
      <category>Configuration Management</category>
      <category>Developer Tools</category>
      <category>LLM Routing</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/openrouter-presets-config-as-code/&quot;&gt;把模型參數移出程式碼：用 OpenRouter Presets 管理 LLM 設定&lt;/a&gt;&lt;/p&gt;&lt;p&gt;你已經在網頁應用、批次腳本和筆記本裡重複貼上相同的模型名稱、系統提示詞和 temperature。現在想調整其中一個參數，就得同時改三個地方。OpenRouter 的 Presets 就是為了解決這個問題而設計的：把 LLM 呼叫的設定當成程式碼來管理，定義一次，處處引用。&lt;/p&gt;
&lt;h2 id=&quot;什麼是-preset&quot;&gt;什麼是 Preset？&lt;/h2&gt;
&lt;p&gt;Preset 是一個具名、有版本的設定檔，裡面儲存了模型選擇（單一模型或 fallback 陣列）、系統提示詞、provider 路由偏好、取樣參數（如 temperature、top_p），以及工具（包括 OpenRouter 的 server tools，例如網頁搜尋、圖片生成、advisors 和 subagents）。&lt;/p&gt;
&lt;p&gt;你可以把它想成 &lt;code&gt;.env&lt;/code&gt; 檔或 Terraform module：設定獨立於應用程式邏輯之外，用名稱參照，而不是複製進程式碼。差別在於存放位置和誰能修改。&lt;code&gt;.env&lt;/code&gt; 檔跟著 repo 走，更新需要重新部署；Preset 存放在 OpenRouter dashboard，修改後立即套用到所有參照它的應用。&lt;/p&gt;
&lt;h2 id=&quot;建立第一個-preset&quot;&gt;建立第一個 Preset&lt;/h2&gt;
&lt;p&gt;在 openrouter.ai/settings/presets 建立 Preset，選一個好記的 slug，之後在 API 請求中用 &lt;code&gt;@preset/your-slug&lt;/code&gt; 參照。接著設定模型與路由：可以選單一模型，或加入有序的 fallback 清單，當第一個模型因 rate limit、outage 或 context 過長而失敗時，自動嘗試下一個。Provider 路由也能在此設定，例如依價格或延遲排序，或封鎖特定 provider。&lt;/p&gt;
&lt;p&gt;加上系統提示詞與取樣參數後，這些就成為每個使用該 Preset 的請求的預設值。在 API 呼叫中，只要把 &lt;code&gt;model&lt;/code&gt; 欄位設為 Preset slug 即可：&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;python&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;resp &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; client.chat.send(&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;    model&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;@preset/tech-writer&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;    messages&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        {&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;role&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;user&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;content&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Explain preset versioning.&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;},&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    ],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;你也可以透過 API 建立 Preset，用 POST 請求到 preset endpoint，系統會儲存屬於 Preset 設定的欄位，忽略 &lt;code&gt;messages&lt;/code&gt;、&lt;code&gt;stream&lt;/code&gt;、&lt;code&gt;prompt&lt;/code&gt; 等 transient 欄位。&lt;/p&gt;
&lt;h2 id=&quot;覆寫與合併規則&quot;&gt;覆寫與合併規則&lt;/h2&gt;
&lt;p&gt;每個請求都可以覆寫 Preset 的設定。如果請求 body 包含 &lt;code&gt;temperature&lt;/code&gt;，該值會覆蓋 Preset 的值。合併是 shallow 的：請求欄位取代對應的 Preset 欄位，未指定的 Preset 欄位則保留。&lt;code&gt;tools&lt;/code&gt; 是例外：Preset 的工具與請求的工具會合併，若名稱相同，請求的工具會取代 Preset 的工具。&lt;/p&gt;
&lt;p&gt;你也可以用獨立的 &lt;code&gt;preset&lt;/code&gt; 欄位（&lt;code&gt;&quot;preset&quot;: &quot;@preset/tech-writer&quot;&lt;/code&gt;）或合併形式（&lt;code&gt;&quot;model&quot;: &quot;anthropic/claude-opus-4.8@preset/tech-writer&quot;&lt;/code&gt;）。&lt;code&gt;preset&lt;/code&gt; 欄位需要完整的 &lt;code&gt;@preset/&lt;/code&gt; 前綴，單獨的 slug 會被忽略。&lt;/p&gt;
&lt;h2 id=&quot;實際應用圖片提示詞增強與-fusion-面板&quot;&gt;實際應用：圖片提示詞增強與 Fusion 面板&lt;/h2&gt;
&lt;p&gt;Preset 不只是簡化參數管理，也能封裝較複雜的工作流程。例如，圖片模型通常需要詳細的提示詞才能產出好結果。你可以建立一個 Preset，內含一個文字模型、一段系統提示詞（將簡短請求擴展為包含主體、構圖、光線、色調和風格的完整視覺 brief），以及圖片生成工具。之後只要用 &lt;code&gt;@preset/image-enhancer&lt;/code&gt;，所有應用都能享有相同的提示詞增強行為。&lt;/p&gt;
&lt;p&gt;另一個例子是把 Fusion 設定釘選成 Preset。Fusion 會執行一個模型面板，讓主要模型參考面板的輸出撰寫最終答案。將整個設定（包括 &lt;code&gt;openrouter:fusion&lt;/code&gt; 工具、&lt;code&gt;analysis_models&lt;/code&gt; 面板和 analyst model）存入 Preset 的 tools，然後在任何地方用 &lt;code&gt;@preset/fusion-panel&lt;/code&gt; 參照。你的網頁應用、評估工具和 Slack bot 都使用相同的面板，調整時只需在 dashboard 修改，不必編輯三個 codebase。這也讓 ML 工程師能用同一個穩定 slug 重複執行評估設定。&lt;/p&gt;
&lt;h2 id=&quot;版本管理與團隊協作&quot;&gt;版本管理與團隊協作&lt;/h2&gt;
&lt;p&gt;每次用現有 slug 儲存 Preset，系統會建立新版本並設為 active。API 請求會使用 active 版本。在 dashboard 修改系統提示詞，所有使用該 slug 的應用在下一次請求時就會套用變更，無需重新部署。如果變更造成品質下降，可以在 dashboard 還原到較早版本。&lt;/p&gt;
&lt;p&gt;對團隊而言，Preset 提供一個有版本的集中位置來管理模型選擇、路由和提示詞，取代散落在多個 repo 的常數。組織帳號的所有成員都能存取組織 Preset，方便分享最佳實務。&lt;/p&gt;
&lt;h2 id=&quot;限制與注意事項&quot;&gt;限制與注意事項&lt;/h2&gt;
&lt;p&gt;Preset 不改變 rate limit，每個模型的限制仍然適用。API 沒有全域預設 Preset，每個請求都必須明確指定 Preset。Chatroom 則有 Default Preset 設定，套用於新訊息。&lt;/p&gt;
&lt;p&gt;如果你正在思考如何把設定從程式碼中抽離，Preset 是一個值得嘗試的方向。它與我們之前討論過的&lt;a href=&quot;/blog/process-orchestration-execution-models-tradeoffs/&quot;&gt;流程編排執行模型&lt;/a&gt;有相似的精神：把決策點從程式碼中拉出來，讓非工程角色也能調整行為，同時保持可追溯性。&lt;/p&gt;
&lt;p&gt;建立第一個 Preset 後，可以參考 preset-enhanced images cookbook 進一步了解圖片生成的完整流程。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openrouter.ai/blog/tutorials/presets/&quot;&gt;How to Use OpenRouter Presets: Config-as-Code Guide — OpenRouter Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>當模型開始替你的系統做測試：Perplexity 把 GPT‑6 Astra 放進端到端流程</title>
      <description>Perplexity 讓 GPT‑6 Astra 代寫測試程式、模擬外部服務並監控正式系統，檢查頻率明顯低於前幾代模型。</description>
      <link>https://agenticcommons.xyz/blog/perplexity-gpt6-astra-end-to-end-systems/</link>
      <guid>https://agenticcommons.xyz/blog/perplexity-gpt6-astra-end-to-end-systems/</guid>
      <pubDate>Mon, 14 Sep 2026 00:00:00 GMT</pubDate>
      <category>OpenAI</category>
      <category>Astra</category>
      <category>AI Agents</category>
      <category>Agent Reliability</category>
      <category>Production</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/perplexity-gpt6-astra-end-to-end-systems/&quot;&gt;當模型開始替你的系統做測試：Perplexity 把 GPT‑6 Astra 放進端到端流程&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Perplexity 共同創辦人兼首席策略官 Johnny Ho 在 OpenAI 於 2026 年 9 月 14 日發布的客戶案例中，描述了一個不少團隊都遇過的瓶頸：搜尋品質可以靠更好的模型持續改善，但要把這些能力接到真實系統上，難度是另一個層級。他的說法是，GPT‑6 Astra 讓他們能讓模型撰寫對外溝通內容、修改實際運作中的系統，並監控正式環境的軟體，這是前幾代模型做不到的事。&lt;/p&gt;
&lt;h2 id=&quot;測試工作先被交出去&quot;&gt;測試工作先被交出去&lt;/h2&gt;
&lt;p&gt;在 Ho 的用法裡，最實用的一塊是測試程式碼。他提到自己手動測試的時間有限，因此會請 GPT‑6 Astra 圍繞某個應用寫一個小型測試程式。&lt;/p&gt;
&lt;p&gt;關鍵在於模型能產生逼真的回應，模擬另一個服務會送出的內容，例如語言模型 API 或某個 connector。由模型代替這些服務之後，就能觀察應用怎麼反應，並把整條 workflow 從頭到尾跑一遍。&lt;/p&gt;
&lt;p&gt;這裡的訊號不是「模型會寫測試」這麼簡單，而是它被允許扮演系統邊界上的對手。對產品團隊來說，這正好對應到一個常見痛點：整合測試最貴的部分往往不是斷言，而是把外部依賴準備好。&lt;/p&gt;
&lt;h2 id=&quot;信任的單位從單次輸出變成整條流程&quot;&gt;信任的單位從單次輸出變成整條流程&lt;/h2&gt;
&lt;p&gt;Ho 的另一句話更值得注意：他們現在能把完整端到端系統交給模型負責，檢查的頻率比前幾代模型低很多。&lt;/p&gt;
&lt;p&gt;這句話的份量在於「檢查頻率」。如果一個模型每次產出都要人逐行看過，它省下的只是打字時間；只有當團隊願意拉長檢查間隔，自動化才真的改變人力配置。案例把這個轉折歸因於 GPT‑6 Astra 的能力，而不是流程重新設計。&lt;/p&gt;
&lt;p&gt;不過，案例沒有說明 Perplexity 用什麼方式界定可接受的檢查間隔，也沒有交代失敗時的回復流程。這些細節在提供的來源中並未出現，因此不應自行補上。&lt;/p&gt;
&lt;h2 id=&quot;對正在導入-agent-的團隊意味著什麼&quot;&gt;對正在導入 agent 的團隊意味著什麼&lt;/h2&gt;
&lt;p&gt;把這段經驗放回一般產品開發情境，有兩個可以立刻檢查的地方。&lt;/p&gt;
&lt;p&gt;第一，你的 agent 有沒有被授權去「模擬別人」？很多團隊只讓模型產生程式碼，卻沒有讓它扮演外部服務、產生假回應來驗證流程。少了這一層，測試覆蓋率看起來很高，實際上邊界條件仍然空白。&lt;/p&gt;
&lt;p&gt;第二，你怎麼定義「檢查頻率」？這其實是風險分級的題目。哪些系統改動可以低頻檢查，哪些必須每次人工確認，取決於改動的爆炸半徑，而不是模型當下的表現。先前我們在&lt;a href=&quot;/blog/process-orchestration-execution-models-tradeoffs/&quot;&gt;流程編排的三種執行模型&lt;/a&gt;談過，先決定誰能做決定，再談工具；同樣的順序在這裡也適用，只是這次被授權的對象換成了模型。&lt;/p&gt;
&lt;h2 id=&quot;案例沒有回答的部分&quot;&gt;案例沒有回答的部分&lt;/h2&gt;
&lt;p&gt;這是一份客戶案例，不是技術白皮書。它沒有提供測試程式的實際結構、監控正式系統的具體做法，也沒有量化「檢查頻率降低」到底降了多少。Ho 的敘述是 Perplexity 自身經驗的轉述，不是可重複的實驗結果。&lt;/p&gt;
&lt;p&gt;對正在評估類似做法的團隊，務實的下一步不是照抄，而是先挑一條邊界清楚、失敗成本可控的流程，讓模型同時負責產生模擬服務與驗證回應，並記錄人工介入的次數。等這個數字穩定下降，再考慮擴大授權範圍。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openai.com/index/perplexity-improving-accuracy-with-astra&quot;&gt;Perplexity trusts GPT-6 Astra with end-to-end systems&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>Fable 5.1 的省錢關鍵不是模型，而是你的快取讀取比例</title>
      <description>Firecrawl 實測 57 次 API 呼叫後發現，Fable 5.1 只有在快取讀取密集的長代理任務才便宜，其他情境反而更貴。</description>
      <link>https://agenticcommons.xyz/blog/fable-5-1-cheaper-cache-reads/</link>
      <guid>https://agenticcommons.xyz/blog/fable-5-1-cheaper-cache-reads/</guid>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
      <category>Claude Fable 5.1</category>
      <category>AI Cost Tracking</category>
      <category>Agentic AI</category>
      <category>Cost Efficiency</category>
      <category>Model Selection</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/fable-5-1-cheaper-cache-reads/&quot;&gt;Fable 5.1 的省錢關鍵不是模型，而是你的快取讀取比例&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;為什麼兩個說法都對但結論相反&quot;&gt;為什麼兩個說法都對，但結論相反？&lt;/h2&gt;
&lt;p&gt;Anthropic 說 Fable 5.1 比 Fable 5 便宜 25%，有時甚至 45%。Artificial Analysis 卻量出每項任務成本上升 18%。Firecrawl 的 Richard Oliver Bray 在 2026 年 9 月 7 日的文章中，用 57 次 API 計費執行、總花費 26 美元，把這兩個看似矛盾的數字拆開來看。&lt;/p&gt;
&lt;p&gt;關鍵在於計費方式。Anthropic 按 token 計費，四種 token 類型中只有一種降價：快取讀取從每百萬 1 美元降到 0.25 美元，降幅 75%。輸入、輸出、快取寫入的價格全部不變。Artificial Analysis 則按「完成一項任務的成本」計算，而 Fable 5.1 在他們的 Intelligence Index 上用了 1.4 億個輸出 token，比 Fable 5 的 8,300 萬多了 69%。輸出 token 是最貴的一種，每百萬 50 美元，所以每項任務成本從 3.14 美元升到 3.69 美元。&lt;/p&gt;
&lt;p&gt;兩個數字都對，只是量的東西不同。Anthropic 量的是快取密集的長代理工作，Artificial Analysis 量的是幾乎不用快取的單次任務。你的帳單落在哪一邊，取決於你的工作負載。&lt;/p&gt;
&lt;h2 id=&quot;快取讀取降價但快取寫入沒降&quot;&gt;快取讀取降價，但快取寫入沒降&lt;/h2&gt;
&lt;p&gt;Fable 5.1 的價格表只有一行變動：快取讀取從 1 美元降到 0.25 美元。快取寫入維持每百萬 20 美元，是輸入價格的兩倍。這設定了省錢的上限。&lt;/p&gt;
&lt;p&gt;Firecrawl 在六個沙箱化的代理建置任務上實際看到帳單差異。一個 Fable 5.1 建置重新讀取 169 萬個快取 token，付了 0.42 美元；一個 Fable 5 建置重新讀取 134 萬個，付了 1.34 美元。省下的錢是帳單的 15% 到 30%，不是 25% 到 45%，因為快取寫入沒有折扣。&lt;/p&gt;
&lt;p&gt;快取讀取折扣的效益，取決於同一個 context 被重讀的次數，而不是 context 的大小。如果你建立一個大快取但只讀兩次，幾乎省不到錢。長代理 session 才是這個折扣真正發光的地方。&lt;/p&gt;
&lt;h2 id=&quot;輸出-token-變多是隱藏的成本&quot;&gt;輸出 token 變多，是隱藏的成本&lt;/h2&gt;
&lt;p&gt;Firecrawl 的 57 次執行中，Fable 5.1 在每個 effort level 都用掉更多輸出 token。低 effort 是 1.37 倍，高 effort 是 1.12 倍，max effort 是 1.30 倍。&lt;/p&gt;
&lt;p&gt;在 max effort 下，多出來的 token 是推理，不是文字。推理 token 從 4,205 增加到 6,725，可見輸出從 3,522 降到 3,301。Fable 5.1 寫了少 6% 的文字，卻多付了 30% 的計費 token。&lt;/p&gt;
&lt;p&gt;推理 token 以輸出價格計費，每百萬 50 美元，但它們永遠不會出現在你看到的回覆裡。Fable 5.1 的思考功能永久開啟，無法關閉，&lt;code&gt;budget_tokens&lt;/code&gt; 參數會回傳 400 錯誤。你唯一能控制思考量的方式是 effort level。&lt;/p&gt;
&lt;h2 id=&quot;任務規範的鬆緊決定哪個模型便宜&quot;&gt;任務規範的鬆緊，決定哪個模型便宜&lt;/h2&gt;
&lt;p&gt;Firecrawl 的測試揭露一個雙方都沒量到的變數：你怎麼規範任務。&lt;/p&gt;
&lt;p&gt;當任務規範很緊時，Opus 5 在成本上每次都贏。當任務規範很鬆時，Opus 5 平均花 11.83 美元，Fable 5.1 只要 7.00 美元。這表示如果你給模型明確的步驟和限制，Opus 5 可能更划算；如果你丟一個開放式的簡報，Fable 5.1 的穩定性和較低的快取讀取成本會佔優勢。&lt;/p&gt;
&lt;p&gt;這呼應了我們之前討論過的&lt;a href=&quot;/blog/openai-model-selection-amazon-bedrock-cost-per-outcome/&quot;&gt;模型選擇不該只看每百萬 token 報價&lt;/a&gt;。真正的成本是每項成果的成本，而成果的定義取決於你的任務規範。&lt;/p&gt;
&lt;h2 id=&quot;你該怎麼選&quot;&gt;你該怎麼選？&lt;/h2&gt;
&lt;p&gt;先看你的帳單結構。如果你的工作負載是長時間的代理 session，重複讀取大量 context，Fable 5.1 的快取讀取折扣會直接反映在帳單上。如果你跑的是單次、快取很少的任務，Fable 5.1 可能因為輸出更多 token 而更貴。&lt;/p&gt;
&lt;p&gt;再看你的 effort level。Anthropic 的省錢數字是在預設 effort 下量的，Artificial Analysis 的漲價數字是在 max effort 下量的。Claude Code 預設 High，Claude Cowork 和 Claude.ai 預設 Medium。如果你繼承了某個預設值而沒檢查，成本意外通常來自那裡，不是模型本身。&lt;/p&gt;
&lt;p&gt;最後，如果你直接呼叫 API，注意 Fable 5.1 的 API 表面有變動：強制工具使用的行為不同、思考永久開啟、&lt;code&gt;budget_tokens&lt;/code&gt; 回傳 400 錯誤。如果你透過 Claude Code 或託管產品建置，這些變動由 harness 處理。&lt;/p&gt;
&lt;p&gt;Fable 5.1 不是全面降價，而是把省錢的槓桿移到快取讀取上。你的工作負載決定這個槓桿對你有沒有用。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.firecrawl.dev/blog/is-fable-5-1-cheaper-than-fable-5&quot;&gt;Fable 5.1 vs Fable 5: Is Fable 5.1 Cheaper Than Fable 5? We Measured 57 Runs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把模型快取放進節點：HyperPod 推論冷啟動的實務取捨</title>
      <description>Amazon SageMaker HyperPod 推出模型快取，把權重與容器映像預載到節點 NVMe，讓擴容從數十分鐘縮到數秒。</description>
      <link>https://agenticcommons.xyz/blog/hyperpod-model-caching-cold-start/</link>
      <guid>https://agenticcommons.xyz/blog/hyperpod-model-caching-cold-start/</guid>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
      <category>AWS</category>
      <category>Model Serving</category>
      <category>AI Infrastructure</category>
      <category>LLM</category>
      <category>Cache</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/hyperpod-model-caching-cold-start/&quot;&gt;把模型快取放進節點：HyperPod 推論冷啟動的實務取捨&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;冷啟動的痛點兩段下載拖慢擴容&quot;&gt;冷啟動的痛點：兩段下載拖慢擴容&lt;/h2&gt;
&lt;p&gt;部署大型語言模型到 Amazon SageMaker HyperPod 時，從請求 Pod 到真正能服務流量之間，有兩段連續下載：先從 Amazon ECR 拉取推論伺服器容器映像，再從 Amazon S3、Amazon FSx for Lustre 或 HuggingFace Hub 下載模型權重。AWS Machine Learning Blog 指出，小模型可能只要幾分鐘，但像 DeepSeek-R1 這種 600 GB 以上的模型，光是權重下載就要 30 分鐘以上。&lt;/p&gt;
&lt;p&gt;每次擴容都會重複這個循環。如果 HorizontalPodAutoscaler 因為流量尖峰而新增五個 Pod，這五個 Pod 會各自獨立下載，實際能接流量的時間被網路吞吐量卡住，而不是被排程速度卡住。&lt;/p&gt;
&lt;h2 id=&quot;模型快取怎麼運作&quot;&gt;模型快取怎麼運作&lt;/h2&gt;
&lt;p&gt;AWS 在 2026 年 9 月 10 日發表模型快取功能，把權重和容器映像預先載入節點的本地 NVMe 儲存。Pod 啟動時直接從 NVMe 讀取，速度約 7 GB/s，而不是走網路下載。啟用後，Pod 通常可以在數秒內開始服務流量。&lt;/p&gt;
&lt;p&gt;模型快取分成兩個獨立能力，可以分開或一起啟用：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;權重快取&lt;/strong&gt;：操作員會建立 ModelDataCacheConfig 資源，把權重從來源下載到所有目標節點的 NVMe。下載完成後，節點會被標記為 cache-ready，操作員會等到所有目標節點都準備好才建立推論部署。快取在 Pod 重啟後仍然保留，擴容時若新 Pod 落在已有快取的節點上，就能立即啟動。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;映像快取&lt;/strong&gt;：操作員建立 DaemonSet，把推論伺服器容器映像預先拉到所有目標節點。與權重快取不同，映像快取不會阻擋部署建立；Pod 啟動時若映像已快取，就跳過 ECR 拉取，省下 5 到 7 分鐘。多個部署若使用相同映像，會共用一份映像快取，操作員會追蹤引用，直到沒有部署引用時才清理。&lt;/p&gt;
&lt;p&gt;兩種快取都採用「偏好排程」而非「強制排程」。Pod 會優先落在有快取的節點，但不會被卡住；若落在沒有暖快取的節點，就退回原本的下載流程，行為與未啟用快取時相同。&lt;/p&gt;
&lt;h2 id=&quot;啟用方式與支援範圍&quot;&gt;啟用方式與支援範圍&lt;/h2&gt;
&lt;p&gt;啟用模型快取很簡單：在既有的 InferenceEndpointConfig 或 JumpStartModel 資源中加入 modelCacheConfig 區段，不需要額外基礎設施。以下是一個 InferenceEndpointConfig 範例：&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;apiVersion&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;inference.sagemaker.aws.amazon.com/v1&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;kind&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;InferenceEndpointConfig&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;metadata&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  name&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;example-model&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  namespace&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;default&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;spec&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  modelName&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;example-model&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  modelSourceConfig&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    modelSourceType&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;s3&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    s3Storage&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;      bucketName&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;example-bucket&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;      region&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;us-west-2&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;      modelLocation&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;models/example-model&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  modelCacheConfig&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    weightsCache&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;      enabled&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    imageCache&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;      enabled&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  instanceType&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;ml.g5.24xlarge&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  worker&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    image&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vllm/vllm-openai:latest&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    modelInvocationPort&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;      containerPort&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;8000&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    modelVolumeMount&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;      name&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;model-weights&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;      mountPath&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/opt/ml/model&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    resources&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;      limits&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;        nvidia.com/gpu&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;4&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;模型快取支援所有 HyperPod Inference 支援的模型來源，包括 Amazon S3、Amazon FSx for Lustre、HuggingFace Hub，以及 Amazon SageMaker JumpStart（含 gated 模型）。&lt;/p&gt;
&lt;h2 id=&quot;效能數據與限制&quot;&gt;效能數據與限制&lt;/h2&gt;
&lt;p&gt;AWS 的基準測試顯示，在 57 到 145 GB 的模型上，啟用權重快取後擴容速度快約 60%。映像快取可以移除超過兩分鐘的冷映像拉取時間，相較於每次 Pod 啟動都從 ECR 重新拉取，最高可減少 97%。模型越大，效益越明顯，因為省下的下載量更多。&lt;/p&gt;
&lt;p&gt;不過有幾個限制要留意：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;權重快取是每個節點一份，NVMe 消耗會隨節點數線性成長。&lt;/li&gt;
&lt;li&gt;第一次啟用快取時，仍需從遠端來源下載一次，之後才從本地讀取。&lt;/li&gt;
&lt;li&gt;NVMe 容量有限，模型大小不能超過執行個體的 NVMe 容量。例如 ml.g5.xlarge 只有 250 GB，放不下 300 GB 的模型。&lt;/li&gt;
&lt;li&gt;來源更新不會自動偵測。如果你在相同的 Amazon S3 路徑更新權重檔，但沒有改 InferenceEndpointConfig spec，操作員會繼續服務快取版本。要取得新權重，必須更新 spec（例如改路徑或加版本後綴）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;對產品建置者的意義&quot;&gt;對產品建置者的意義&lt;/h2&gt;
&lt;p&gt;模型快取解決的是推論擴容的「最後一哩」延遲。過去，即使 autoscaler 在幾秒內做出反應，實際能接流量的時間仍被下載卡住。現在把權重和映像預載到節點，讓擴容從「等網路」變成「等排程」。這對需要快速回應流量尖峰的產品特別有用，例如即時對話或批次推論服務。&lt;/p&gt;
&lt;p&gt;如果你正在評估 SageMaker HyperPod 的推論部署，可以參考&lt;a href=&quot;/blog/prefix-aware-routing-sagemaker-llm-latency/&quot;&gt;前綴感知路由：讓 KV cache 不再被隨機打散&lt;/a&gt;，那篇文章討論了另一個降低推論延遲的機制。兩者可以互補：模型快取處理冷啟動，前綴感知路由處理熱啟動時的 cache 效率。&lt;/p&gt;
&lt;p&gt;實際採用前，建議先確認執行個體的 NVMe 容量是否足夠容納模型權重，並規劃好權重更新流程，避免快取造成版本不一致。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/blogs/machine-learning/reduce-inference-cold-starts-on-amazon-sagemaker-hyperpod-with-model-caching/&quot;&gt;Reduce inference cold starts on Amazon SageMaker HyperPod with model caching&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把行銷維運寫成程式碼：用 GitHub 把活動從規劃到追蹤自動化</title>
      <description>用 GitHub Issue、Actions 與 Copilot skills 把活動行銷從手動組裝變成可審核、可排練的自動化管線。</description>
      <link>https://agenticcommons.xyz/blog/marketing-ops-as-code-github-automation/</link>
      <guid>https://agenticcommons.xyz/blog/marketing-ops-as-code-github-automation/</guid>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
      <category>Marketing Automation</category>
      <category>GitHub</category>
      <category>Copilot</category>
      <category>Workflow</category>
      <category>AI Agents</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/marketing-ops-as-code-github-automation/&quot;&gt;把行銷維運寫成程式碼：用 GitHub 把活動從規劃到追蹤自動化&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;從重複工作中抽身把決策留給人&quot;&gt;從重複工作中抽身，把決策留給人&lt;/h2&gt;
&lt;p&gt;活動行銷的日常充滿了「不難但容易出錯」的步驟：複製登陸頁、產生 UTM 連結、寄邀請信、每天整理報名名單、會後上傳 CRM。GitHub 日本與韓國市場的行銷負責人在 GitHub Blog 上分享，這些任務單獨看都不難，但疊加起來就是貼錯連結、漏掉一天、或打錯 campaign 名稱的溫床。&lt;/p&gt;
&lt;p&gt;他的解法不是引進一套新的行銷自動化平台，而是把工程師熟悉的 GitHub 原語拿來用：Issue、Labels、Actions。一個活動就是一個 Issue，標籤是觸發開關，Actions 是執行機器。當 &lt;code&gt;event-setup&lt;/code&gt; 標籤貼上 Issue，工作流就會在幾分鐘內完成過去要花大半天的事：複製活動頁、產生全組 UTM 連結、把邀請信存成 Word 檔、開立請求 Issue、更新專案看板，最後在 Issue 上留下摘要。&lt;/p&gt;
&lt;h2 id=&quot;把-runbook-交給-copilot用對話保留彈性&quot;&gt;把 runbook 交給 Copilot，用對話保留彈性&lt;/h2&gt;
&lt;p&gt;自動化的起點不是寫程式，而是寫 runbook。他把團隊的作業手冊放進 repository 根目錄的 &lt;code&gt;AGENTS.md&lt;/code&gt;，定義 campaign 命名規則、季度對應日期、各地時區、邀請信格式。接著用 GitHub Copilot 對話：「我想在十一月辦一場關於 AI 輔助開發的網路研討會。」Copilot 會讀取 runbook，參考過去類似活動，提出符合命名規則的 campaign 名稱、草擬兩版邀請信，並問出 runbook 規定的問題。&lt;/p&gt;
&lt;p&gt;這個設計刻意把「對話」放在管線最前面。全自動會失去彈性，全人工會出錯；對話剛好卡在中間。Copilot 草擬，人做決定，最後由 Copilot 把正確格式的資料填進 Issue。對照先前討論過的 &lt;a href=&quot;/blog/cognition-devin-gpt6-astra-testing-evidence/&quot;&gt;把測試證據放進開發流程&lt;/a&gt;，這裡同樣是把「人該在哪裡介入」當成架構問題，而不是事後補救。&lt;/p&gt;
&lt;h2 id=&quot;dry_run-開關與平台內建的護欄&quot;&gt;DRY_RUN 開關與平台內建的護欄&lt;/h2&gt;
&lt;p&gt;他最自豪的設計是一個 repository variable：&lt;code&gt;DRY_RUN&lt;/code&gt;。每個工作流在執行前都會檢查這個開關，打開時就只跑流程、不碰任何外部系統——不建立登陸頁、不開 Issue、不分享名單。這讓團隊可以放心排練，也讓實驗不再可怕。&lt;/p&gt;
&lt;p&gt;平台內建的護欄比自建的更重要。GitHub 的 secret scanning 與 push protection 會在 API token 被 push 進 repository 之前就擋下來；Copilot 商業方案不保留 prompt、不用來訓練模型，所以遇到一次性資料分析需求時，可以直接在 Copilot 裡做，而不是把客戶資料貼到隔壁分頁的消費級 chatbot。模型選擇也由組織政策決定，不是個人判斷。&lt;/p&gt;
&lt;h2 id=&quot;用-markdown-寫-skill把彈性留給在地市場&quot;&gt;用 Markdown 寫 skill，把彈性留給在地市場&lt;/h2&gt;
&lt;p&gt;會後工作原本是最痛苦的部分：匯出出席者、調整欄位格式、比對公司名稱、寫報告。現在只要兩個 slash command：&lt;code&gt;/lead-upload&lt;/code&gt; 和 &lt;code&gt;/event-report&lt;/code&gt;。這兩個指令背後是 GitHub Copilot agent skills——每個 skill 就是一個 &lt;code&gt;SKILL.md&lt;/code&gt; 檔案，用散文寫成的程序，告訴 Copilot 做什麼、依什麼順序、注意什麼。&lt;/p&gt;
&lt;p&gt;「如果你能寫 runbook，你就能寫 skill。」這句話點出了門檻之低。更重要的是，skill 讓系統保持彈性。亞太區每個市場的追蹤流程都不一樣，硬編碼的工作流會強迫所有人套同一個模子；寫在 Markdown 裡的程序可以讓每個市場調整自己的 runbook，不必動到底層機器。新 skill 透過 pull request 合併，並由 &lt;code&gt;CODEOWNERS&lt;/code&gt; 指定審核者——行銷自動化也有了審核流程。&lt;/p&gt;
&lt;h2 id=&quot;從工具到心態可程式化的入口就夠了&quot;&gt;從工具到心態：可程式化的入口就夠了&lt;/h2&gt;
&lt;p&gt;這套做法能成立的前提，不是活動平台或 CRM 有多先進，而是它們提供了「可程式化的入口」：活動平台有 API，CRM 有官方 CLI（甚至不用設定 API key，瀏覽器登入就處理好認證）。只要你的重複性工作經過任何提供 API 或 CLI 的工具，這個模式就適用。&lt;/p&gt;
&lt;p&gt;對產品開發者來說，這篇文章示範了一種把「維運」變成「程式碼」的思考方式：不是去買一個號稱能涵蓋所有變化的套裝工具，而是用既有的開發平台，把工作流程的改變變成 pull request。當流程改變時，你描述想要的結果、有人審核、合併到 main branch——和改軟體一模一樣。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.blog/ai-and-ml/github-copilot/marketing-ops-as-code-automating-events-from-planning-to-follow-up-on-github/&quot;&gt;Marketing ops as code: Automating events from planning to follow-up on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>當實驗數據多到看不完：SAM 3 與 DINOv3 在 Genesis Mission 裡的角色</title>
      <description>美國國家實驗室把 Meta 開源視覺模型微調後部署到 300 張 A100，將一個月的標註工作壓到 15 分鐘。</description>
      <link>https://agenticcommons.xyz/blog/meta-sam3-dinov3-genesis-mission-beamline-segmentation/</link>
      <guid>https://agenticcommons.xyz/blog/meta-sam3-dinov3-genesis-mission-beamline-segmentation/</guid>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI for Science</category>
      <category>Meta</category>
      <category>Open Source</category>
      <category>AI Deployment</category>
      <category>Multimodal</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/meta-sam3-dinov3-genesis-mission-beamline-segmentation/&quot;&gt;當實驗數據多到看不完：SAM 3 與 DINOv3 在 Genesis Mission 裡的角色&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;資料量先爆掉人才跟不上&quot;&gt;資料量先爆掉，人才跟不上&lt;/h2&gt;
&lt;p&gt;美國能源部（DOE）旗下的光源與中子源設施，現在每年產出數十 PB 的資料。Meta AI Blog 在 2026 年 7 月 21 日的文章裡給了一個對照：升級後的偵測器從每六秒一張影像，變成每秒 100,000 張。傳統的人工分析方式已經追不上這個速度。&lt;/p&gt;
&lt;p&gt;更麻煩的是人。領域專家本來就少，而 in-situ 實驗——科學家在化學反應或材料失效發生的當下就要判讀——要求的是即時解讀，不是事後補做。&lt;/p&gt;
&lt;p&gt;這裡卡住的核心任務是 segmentation：把一張灰階 X 光影像，變成標好邊界、可以量化比較的結構圖，例如細胞壁、礦物顆粒、半導體層。根據 Meta AI Blog 的描述，過去從實驗資料裡萃取出有意義的結構，一個資料集可能要吃掉專家數週的時間。&lt;/p&gt;
&lt;h2 id=&quot;synaps-i-的管線兩個模型分工&quot;&gt;SYNAPS-I 的管線：兩個模型分工&lt;/h2&gt;
&lt;p&gt;Genesis Mission 是白宮在 2025 年底啟動、由 DOE 主導的國家級計畫。SYNAPS-I 是其中一個旗艦專案，由 Berkeley Lab 帶領，與 Argonne、Brookhaven、Oak Ridge、SLAC 合作，目標是把 X 光與中子科學的資料分析，從數個月的瓶頸變成即時發現引擎。&lt;/p&gt;
&lt;p&gt;管線的核心是 Meta 釋出的兩個開源基礎模型：SAM 3 與 DINOv3。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DINOv3 是自監督視覺模型，不需要人工先標註就能從原始影像學到視覺模式，擅長判斷影像裡有什麼結構、在哪裡。&lt;/li&gt;
&lt;li&gt;SAM 3 接手，把個別物件的邊界精確畫出來。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;兩者互補：SAM 給出像素級邊界，DINO 提供全域脈絡，判斷每個結構在樣本中的位置。SYNAPS-I 團隊用 DOE beamline 收集的科學影像微調這兩個模型，再部署到國家超級電腦設施（例如 NERSC）的 300 張 A100 GPU 上。&lt;/p&gt;
&lt;p&gt;結果是：科學家人還站在 beamline 儀器前，就能拿到一份完整重建、語意標註好的 3D volume。Meta AI Blog 寫的總週轉時間約 15 分鐘。&lt;/p&gt;
&lt;h2 id=&quot;為什麼這件事只能靠開源模型&quot;&gt;為什麼這件事只能靠開源模型&lt;/h2&gt;
&lt;p&gt;國家實驗室在研究發表前，資料與 AI 模型必須留在政府基礎設施上，不能放到外部雲端服務。這代表團隊要能把模型下載下來、在自己的安全環境裡微調與部署。&lt;/p&gt;
&lt;p&gt;Meta 的開源做法讓這件事成立：SYNAPS-I 可以把原本在自然影像上訓練的 SAM 與 DINO，改造成從來沒被設計過的科學領域用途。這跟把視覺模型塞進輪椅的 &lt;a href=&quot;/blog/meta-dino-sam-rammp-assistive-robotics-edge/&quot;&gt;RAMMP 專案&lt;/a&gt; 是同一個問題的不同版本——模型能不能離開原廠環境、在別人的算力與資料邊界內被改造。&lt;/p&gt;
&lt;h2 id=&quot;葡萄藤的例子以及還沒解決的部分&quot;&gt;葡萄藤的例子，以及還沒解決的部分&lt;/h2&gt;
&lt;p&gt;團隊用 Advanced Light Source 的 micro-CT 掃描，重建葡萄藤莖的 3D volume，自動辨識 xylem vessels（植物體內輸水的微管），追蹤乾旱進展下這些管子的變化。原本每個時間點要花一個月專家標註，現在 15 分鐘。&lt;/p&gt;
&lt;p&gt;值得注意的界線：這是團隊在特定農業題目上的示範，不是通用保證。SYNAPS-I 目前有橫跨五個國家實驗室的 60 位研究人員，願景是讓設施變成「智慧發現平台」——AI 不只加快處理，還能協助產生假設、建議下一個實驗、跨設施轉移知識。&lt;/p&gt;
&lt;p&gt;對產品開發者來說，可帶走的訊號不是「AI 很強」，而是這個組合：一個自監督模型負責理解、一個分割模型負責邊界、在自己的基礎設施上微調、把延遲壓到實驗進行中就能回饋。如果你的產品也卡在專家標註跟不上資料產生速度，這個分工方式比換更大的模型更值得先試。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ai.meta.com/blog/genesis-mission-lawrence-berkeley-national-laboratory-segment-anything-dino/&quot;&gt;How Meta’s AI Models Are Powering the First Wave of Genesis Mission Projects&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把多模型辯論變成一個 API 呼叫：OpenRouter Fusion 的取捨與使用時機</title>
      <description>OpenRouter Fusion 用平行面板加裁判來提升研究品質，但代價是 4-5 倍成本與 2-3 倍延遲。</description>
      <link>https://agenticcommons.xyz/blog/openrouter-fusion-compound-model-tradeoffs/</link>
      <guid>https://agenticcommons.xyz/blog/openrouter-fusion-compound-model-tradeoffs/</guid>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
      <category>OpenRouter</category>
      <category>LLM Routing</category>
      <category>Model Selection</category>
      <category>AI Infrastructure</category>
      <category>Product Builders</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/openrouter-fusion-compound-model-tradeoffs/&quot;&gt;把多模型辯論變成一個 API 呼叫：OpenRouter Fusion 的取捨與使用時機&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;一個-prompt-變成多模型辯論&quot;&gt;一個 prompt 變成多模型辯論&lt;/h2&gt;
&lt;p&gt;OpenRouter 在 2026 年 9 月 10 日推出 Fusion，一個複合推論系統。它把單一 prompt 送給多個模型平行回答，再由一個裁判比較這些回應，最後讓呼叫模型寫出最終答案。這不是簡單的投票，而是結構化的比較：裁判會標出共識、矛盾、部分涵蓋、獨特見解與盲點。&lt;/p&gt;
&lt;p&gt;對產品開發者來說，Fusion 的價值在於把原本需要自己寫的協調邏輯，變成一個 model slug 或 server tool。你可以用 &lt;code&gt;openrouter/fusion&lt;/code&gt; 直接呼叫，不用自己維護面板、裁判與合成迴圈。&lt;/p&gt;
&lt;h2 id=&quot;品質提升從哪裡來&quot;&gt;品質提升從哪裡來&lt;/h2&gt;
&lt;p&gt;Fusion 的品質增益來自兩個來源：模型多樣性與同模型多次執行的變異。OpenRouter 的測試顯示，即使把 Claude Opus 4.8 跟自己配對，融合後的 DRACO 分數也從 58.8% 提升到 65.5%，增加 6.7 個百分點。這代表比較與合成過程本身就有價值，不一定要換不同模型。&lt;/p&gt;
&lt;p&gt;但要注意，DRACO 是 Perplexity AI 的深度研究基準，不是通用 coding 或聊天。Fusion 的合成在需要多方觀點的研究與分析任務上最有效，不要假設同樣的增益會出現在所有任務。&lt;/p&gt;
&lt;h2 id=&quot;成本與延遲的實際代價&quot;&gt;成本與延遲的實際代價&lt;/h2&gt;
&lt;p&gt;Fusion 的預設三模型面板，成本大約是單一模型呼叫的 4 到 5 倍，延遲通常是 2 到 3 倍。面板平行執行，所以不是每個模型依序等，但你還是要等最慢的 panelist 加上裁判。這讓 Fusion 不適合聊天、自動完成等即時路徑。&lt;/p&gt;
&lt;p&gt;成本不該只看單次呼叫。如果一次 Fusion 呼叫就得到正確答案，而便宜模型需要三次嘗試、重跑加上人工檢查，那 Fusion 在整個任務的總成本上可能更划算。重點是計算「達到結果的總成本」，而不是單一請求的價格。&lt;/p&gt;
&lt;h2 id=&quot;什麼時候該用什麼時候該跳過&quot;&gt;什麼時候該用，什麼時候該跳過&lt;/h2&gt;
&lt;p&gt;最強的生產模式是選擇性升級：讓模型直接處理日常工作，只對少數需要額外審查的 prompt 呼叫 Fusion。這跟 &lt;a href=&quot;/blog/cognition-devin-gpt6-astra-testing-evidence/&quot;&gt;把測試證據放進開發流程&lt;/a&gt; 裡談到的「把驗證放在關鍵節點」是同樣的思維。&lt;/p&gt;
&lt;p&gt;適合使用的情境：高風險研究問題、專家評論、比較與盡職調查摘要，以及你原本就會手動問多個模型再自己比較的工作。不適合的情境：延遲敏感的互動路徑、需要可重現結果的評估或迴歸測試，以及單一中階模型已經能正確處理的簡單任務。&lt;/p&gt;
&lt;p&gt;Fusion 的輸出是非確定性的，這是設計使然。對一次性研究任務沒問題，但對 CI 管線或任何需要比較今天與昨天結果的檢查，就會造成困擾。&lt;/p&gt;
&lt;h2 id=&quot;實際接入方式&quot;&gt;實際接入方式&lt;/h2&gt;
&lt;p&gt;最簡單的 API 路徑是把 model slug 換成 &lt;code&gt;openrouter/fusion&lt;/code&gt;。不加額外設定時，它會使用預設的 Quality 面板，並讓模型自己決定是否需要辯論。你也可以用 &lt;code&gt;tool_choice: &quot;required&quot;&lt;/code&gt; 強制觸發 Fusion。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;python&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; os&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; openai &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; OpenAI&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;client &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; OpenAI(&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;    base_url&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;https://openrouter.ai/api/v1&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;    api_key&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;os.environ[&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;OPENROUTER_API_KEY&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;response &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; client.chat.completions.create(&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;    model&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;openrouter/fusion&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;    messages&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;        &quot;role&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;user&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;        &quot;content&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Compare three approaches to multi-tenant data isolation.&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;    tool_choice&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;required&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;    extra_body&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;        &quot;plugins&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;            &quot;id&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;fusion&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;            &quot;preset&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;general-budget&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;            &quot;model&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;~openai/gpt-latest&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        }]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(response.choices[&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;].message.content)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;目前有三個通用 preset：&lt;code&gt;general-high&lt;/code&gt; 最強、&lt;code&gt;general-budget&lt;/code&gt; 用較便宜的 panelist 配 frontier 裁判、&lt;code&gt;general-fast&lt;/code&gt; 優化相近的回應時間。你也可以把 &lt;code&gt;openrouter:fusion&lt;/code&gt; server tool 掛到你自己的 outer model 上，讓同一個模型同時使用 Fusion 和應用程式的其他工具。&lt;/p&gt;
&lt;h2 id=&quot;從一個困難-prompt-開始驗證&quot;&gt;從一個困難 prompt 開始驗證&lt;/h2&gt;
&lt;p&gt;Fusion 給困難 prompt 多次嘗試，並提供結構化的比較方式。但額外的審查有可量化的代價：更多 token、成本、延遲與輸出變異。這些代價只有在減少重試、手動比較或降低根據不完整答案行動的風險時才合理。&lt;/p&gt;
&lt;p&gt;實際做法是拿一個你已知困難的真實 prompt，比較 Fusion 與目前生產模型的結果，用「每個被接受的結果的成本」來衡量，而不是只看模型單價。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openrouter.ai/blog/insights/fusion-explainer/&quot;&gt;OpenRouter Fusion: How It Works and When to Use It — OpenRouter Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>流程編排的三種執行模型：先決定誰能做決定，再談工具</title>
      <description>多數團隊在挑自動化工具之前，其實還沒回答一個更前面的問題：這條流程在執行時，誰有權做決定？n8n 在 2026 年 9 月 11 日發布的流程編排文章把這件事講得很清楚——執行模型（execution model）比設計模式、甚至比工具選擇都更關鍵，因為它決定了重試語意、失敗隔離與可觀測性的基本保證。</description>
      <link>https://agenticcommons.xyz/blog/process-orchestration-execution-models-tradeoffs/</link>
      <guid>https://agenticcommons.xyz/blog/process-orchestration-execution-models-tradeoffs/</guid>
      <pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate>
      <category>Workflow</category>
      <category>Agentic AI</category>
      <category>Observability</category>
      <category>Production Operations</category>
      <category>AI Agents</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/process-orchestration-execution-models-tradeoffs/&quot;&gt;流程編排的三種執行模型：先決定誰能做決定，再談工具&lt;/a&gt;&lt;/p&gt;&lt;p&gt;多數團隊在挑自動化工具之前，其實還沒回答一個更前面的問題：這條流程在執行時，誰有權做決定？n8n 在 2026 年 9 月 11 日發布的&lt;a href=&quot;https://blog.n8n.io/process-orchestration/&quot;&gt;流程編排文章&lt;/a&gt;把這件事講得很清楚——執行模型（execution model）比設計模式、甚至比工具選擇都更關鍵，因為它決定了重試語意、失敗隔離與可觀測性的基本保證。&lt;/p&gt;
&lt;h2 id=&quot;編排不是萬用解先看流程長什麼樣&quot;&gt;編排不是萬用解，先看流程長什麼樣&lt;/h2&gt;
&lt;p&gt;n8n 的定義是：流程編排是一層架構控制平面，用來協調人、系統與任務，集中定義流程邏輯、追蹤進度、處理例外。它通常靠 workflow engine 執行，有些環境直接用 BPMN 這種標準化記法，讓平台能直接跑模型。&lt;/p&gt;
&lt;p&gt;但文章也提醒，對簡單、低變異的管線來說，集中協調是殺雞用牛刀，只會增加協調成本而沒有對應回報。真正需要編排的訊號有三類：流程橫跨多種端點（legacy 系統、現代 API、人工介入）；條件分支與例外路徑複雜（交易補償、多分支平行執行、外部系統無回應或資料格式錯誤）；以及會持續數小時、數天甚至數週的長時狀態流程，需要有人在過程中維持狀態並處理交接。&lt;/p&gt;
&lt;h2 id=&quot;三種執行模型換到的是不同的東西&quot;&gt;三種執行模型，換到的是不同的東西&lt;/h2&gt;
&lt;p&gt;確定性編排用預先定義的邏輯與固定圖形執行，可審計、每條路徑事先畫好，適合高合規要求的結構化流程。代價是僵固：只要跑出已映射的路徑之外就會失敗，得靠人工介入或自訂例外處理把狀態救回來。&lt;/p&gt;
&lt;p&gt;動態編排不照固定腳本走，而是依即時條件與回饋調整，適合工作量會變動、或雲端與邊緣資源受限的場景。但狀態管理會變成移動目標，而且因為決策分散又自主，失敗時很難診斷，傳統監控工具不容易追到下游影響。&lt;/p&gt;
&lt;p&gt;代理編排則是混合體：可預測的工作走確定性步驟，非結構化、難以預測的工作交給 AI agent 判斷後行動。n8n 的做法是在較大流程的確定性護欄內跑 agentic 執行。文章也直說，agent 做的決策存在不確定性，例如難以還原它為什麼這樣判斷；可以透過結構化輸出，要求它把推理一起回傳，來改善可解釋性。&lt;/p&gt;
&lt;p&gt;這種「把不確定性關進護欄」的思路，和我們先前談&lt;a href=&quot;/blog/ai-software-factory-gates-before-agents/&quot;&gt;AI 軟體工廠的五道閘門&lt;/a&gt;是同一件事：自主性不是開關，而是要在流程裡安排可檢查的節點。&lt;/p&gt;
&lt;h2 id=&quot;上線後真正會咬人的四個地方&quot;&gt;上線後真正會咬人的四個地方&lt;/h2&gt;
&lt;p&gt;不論選哪種模型，n8n 列出四類常見失敗點。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;編排器瓶頸&lt;/strong&gt;：集中式流程在事件量異常高時會撐不住。緩解方式是採用事件串流與 single writer 原則的引擎，避開傳統資料庫鎖定。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;狀態損壞與部分失敗&lt;/strong&gt;：多步驟流程中斷後，系統會停在不一致的狀態，製造更多失敗點或讓進度追蹤失效。可用 saga pattern，在失敗後回滾已完成步驟來恢復一致性。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;服務之間的 schema drift&lt;/strong&gt;：各服務獨立演進就會改動 API payload，打斷下游整合。解法是導入 schema registry 做版本控管，或讓編排平台把流程邏輯與易變的服務端點分開。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;分散式失敗的除錯&lt;/strong&gt;：去中心化流程缺乏可視性，出事時找不到根因。要在編排層加上 observability metadata，記錄資料流，讓團隊用執行歷史排查。&lt;/p&gt;
&lt;h2 id=&quot;可觀測性不是事後補的儀表板&quot;&gt;可觀測性不是事後補的儀表板&lt;/h2&gt;
&lt;p&gt;n8n 描述自家做法時，把執行歷史當成主要觀測手段：可以看到完整資料流，以及每個動作的 LLM prompt 與 completion。若跑分散式系統，可設定 OpenTelemetry 匯出所有執行，或接上 LangSmith 之類的 LLM tracing 平台。文章的說法是，這些步驟能改善除錯，也能通過合規檢查，讓 agent node 的每一步可被審計。&lt;/p&gt;
&lt;p&gt;值得注意的是，這些都是 n8n 對自家產品的描述，不是第三方驗證的結論。&lt;/p&gt;
&lt;h2 id=&quot;決策順序建議&quot;&gt;決策順序建議&lt;/h2&gt;
&lt;p&gt;n8n 給的判斷方式很直白：需要最大可審計性與可預測性，選確定性；需要回應回饋迴路、即時調整，選動態；想把非結構化問題交給自主 bot，選代理。&lt;/p&gt;
&lt;p&gt;實務上我會把它讀成一個排序問題：先確認流程的複雜度、時長與相依性真的值得集中協調，再決定 runtime 要放多少自主權，最後才挑工具。反過來做——先選平台再想治理——通常會在第一次例外路徑出現時付學費。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.n8n.io/process-orchestration/&quot;&gt;Process Orchestration: Execution Models, Observability, and Production Challenges&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把 AI 帶進教室前，先想清楚要教什麼：Anthropic 高教顧問團與 AI Fluency 課程的啟示</title>
      <description>Anthropic 成立高教顧問團並推出三門 AI Fluency 課程，為教育機構提供可改編的實用框架，而非抽象原則。</description>
      <link>https://agenticcommons.xyz/blog/anthropic-higher-ed-advisory-ai-fluency-courses/</link>
      <guid>https://agenticcommons.xyz/blog/anthropic-higher-ed-advisory-ai-fluency-courses/</guid>
      <pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI Education</category>
      <category>AI Fluency</category>
      <category>Anthropic</category>
      <category>Education</category>
      <category>Product Builders</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/anthropic-higher-ed-advisory-ai-fluency-courses/&quot;&gt;把 AI 帶進教室前，先想清楚要教什麼：Anthropic 高教顧問團與 AI Fluency 課程的啟示&lt;/a&gt;&lt;/p&gt;&lt;p&gt;大學正在面對一個具體的兩難：AI 工具已經在學生與教師之間流傳，但多數機構還沒有準備好如何有系統地引導使用。Anthropic 在 2025 年 8 月 21 日宣布兩項教育措施，試圖把這個模糊的焦慮轉化為可操作的步驟。一個是高教顧問團，負責影響 Claude 在教育場景的產品方向；另一個是三門 AI Fluency 課程，以創用 CC 授權釋出，任何機構都能改編使用。&lt;/p&gt;
&lt;h2 id=&quot;顧問團的組成透露了什麼產品訊號&quot;&gt;顧問團的組成透露了什麼產品訊號&lt;/h2&gt;
&lt;p&gt;顧問團由 Rick Levin 擔任主席，他的背景橫跨耶魯大學校長與 Coursera 執行長，這代表 Anthropic 想同時掌握傳統高教治理與線上學習平台的運作邏輯。其他成員包括前萊斯大學校長 David Leebron、密西根大學學術創新副教務長 James DeVaney、德州大學奧斯汀分校學術科技助理副教務長 Julie Schell、史丹佛大學數位教育副教務長 Matthew Rascoff，以及 Complete College America 總裁 Yolanda Watson Spiva。&lt;/p&gt;
&lt;p&gt;從產品建置的角度看，這個組合不是為了背書，而是為了收集不同類型機構的真實限制：研究型大學、大型州立系統、藝術設計學院、以及專注完成率的全國聯盟。這些成員會直接影響 Claude 如何處理教學、學習與研究場景，例如學術誠信、學生隱私、以及 AI 輔助評估的界線。&lt;/p&gt;
&lt;h2 id=&quot;三門課程的設計重點可改編而非標準答案&quot;&gt;三門課程的設計重點：可改編，而非標準答案&lt;/h2&gt;
&lt;p&gt;Anthropic 與 Ringling College of Art and Design 的 Rick Dakan 教授、University College Cork 的 Joseph Feller 教授共同開發三門課程，延續既有的 AI Fluency 基礎課。課程以 Creative Commons 授權釋出，代表學校可以自由修改內容以符合自身政策與文化。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AI Fluency for Educators&lt;/strong&gt;：協助教師把 AI 整合進教學實務，從製作教材、設計評量到促進課堂討論，內容基於早期採用者的實際經驗。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI Fluency for Students&lt;/strong&gt;：教學生負責任地與 AI 協作，用於課業與職涯規劃，並要求學生寫下個人對負責任使用 AI 的承諾。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Teaching AI Fluency&lt;/strong&gt;：支援想把 AI 素養帶進校園的教師，提供教學與評量框架，以及課程設計考量。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;對產品開發者而言，這三門課的結構透露一個重要原則：教育場域的 AI 工具不能只提供功能，還需要提供「如何教」與「如何評估」的配套。這與我們先前討論 &lt;a href=&quot;/blog/ai-software-factory-gates-before-agents/&quot;&gt;AI 軟體工廠的關鍵不是代理，而是五道閘門&lt;/a&gt; 的邏輯相似：真正困難的不是技術能力，而是建立可驗證的流程與界線。&lt;/p&gt;
&lt;h2 id=&quot;對建置教育-ai-產品的人意味著什麼&quot;&gt;對建置教育 AI 產品的人意味著什麼&lt;/h2&gt;
&lt;p&gt;如果你正在開發給學校或培訓機構使用的 AI 工具，這則消息有幾個值得注意的訊號。第一，Anthropic 選擇用「顧問團」而非單純的產品測試群組，顯示教育場景需要持續的治理輸入，而不是一次性回饋。第二，課程以 CC 授權釋出，暗示平台方認為開放教材比封閉內容更能加速採用。第三，課程內容強調「個人承諾」與「批判思考」，代表產品設計需要預留空間讓使用者表達判斷，而不是完全自動化。&lt;/p&gt;
&lt;p&gt;目前公開的資訊沒有說明顧問團的會議頻率、決策權限，或課程的具體模組長度。但從已釋出的課程名稱與描述來看，Anthropic 試圖解決的是教育者最實際的問題：如何在不過度依賴單一供應商的情況下，建立可持續的 AI 素養教學能力。&lt;/p&gt;
&lt;p&gt;對產品建置者來說，下一步可以做的具體行動是：下載一門課程，檢視其評量框架與課堂活動設計，然後思考你的產品是否能支援這些教學流程。如果不行，缺口在哪裡？這比追蹤模型版本更新更能幫助你理解教育市場的真實需求。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.anthropic.com/news/anthropic-higher-education-initiatives&quot;&gt;Higher education advisory board and AI Fluency courses&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把測試證據放進開發流程：Cognition 用 GPT‑6 Astra 讓 Devin 自己驗證成果</title>
      <description>Cognition 將 GPT‑6 Astra 整合進 Devin，讓代理在回報程式碼變更時附上測試錄影與涵蓋範圍報告，減少工程師手動審查。</description>
      <link>https://agenticcommons.xyz/blog/cognition-devin-gpt6-astra-testing-evidence/</link>
      <guid>https://agenticcommons.xyz/blog/cognition-devin-gpt6-astra-testing-evidence/</guid>
      <pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI Agents</category>
      <category>AI coding</category>
      <category>Agent Reliability</category>
      <category>Developer Tools</category>
      <category>OpenAI</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/cognition-devin-gpt6-astra-testing-evidence/&quot;&gt;把測試證據放進開發流程：Cognition 用 GPT‑6 Astra 讓 Devin 自己驗證成果&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;程式碼審查的瓶頸不在寫而在驗證&quot;&gt;程式碼審查的瓶頸不在寫，而在驗證&lt;/h2&gt;
&lt;p&gt;Cognition 的 Devin 已經被銀行到新創等不同規模的團隊用來處理軟體開發工作。但當代理產出的程式碼愈來愈多，工程師要花時間確認「這東西真的能跑、而且跑得對」的成本也跟著上升。Cognition 共同創辦人 Walden Yan 在 OpenAI 發布的案例中指出，GPT‑6 Astra 的關鍵改進在於「測試並證明其工作確實如預期運作的能力」。&lt;/p&gt;
&lt;p&gt;這不只是生成程式碼，而是把驗證的證據一併帶回來。對產品開發者來說，這代表審查流程可以從「逐行看邏輯」轉向「看測試結果與行為紀錄」。&lt;/p&gt;
&lt;h2 id=&quot;astra-如何把測試結果變成可檢視的產出&quot;&gt;Astra 如何把測試結果變成可檢視的產出&lt;/h2&gt;
&lt;p&gt;Cognition 將 Astra 用在 Devin 本身、CLI 與桌面產品上。一個具體例子是 Devin 用 Astra 測試 iPhone 遊戲《Otter Run》，回傳的內容包含模擬器中的遊戲執行錄影，以及一份報告，標明哪些檢查通過、哪些區域尚未測試。&lt;/p&gt;
&lt;p&gt;錄影讓工程師直接看到應用程式的實際行為，報告則界定測試的涵蓋範圍。兩者搭配，工程師可以快速判斷變更是否安全，以及還有哪些地方需要補強。這比只拿到「測試通過」的訊息更有用，因為它保留了可追溯的證據。&lt;/p&gt;
&lt;p&gt;另一個應用場景是客戶回報 bug。當客戶傳來螢幕截圖，Cognition 團隊可以將截圖交給 Devin 搭配 Astra 處理，修復後回傳一張顯示結果的截圖。Yan 表示這讓團隊「更快回應客戶」。&lt;/p&gt;
&lt;h2 id=&quot;從手動審查到證據驅動的決策&quot;&gt;從手動審查到證據驅動的決策&lt;/h2&gt;
&lt;p&gt;Cognition 的目標是降低人工檢視程式碼的比例。Yan 說：「我們預期隨著時間，需要手動查看的程式碼會愈來愈少，最終能交付更多東西。」這背後的核心轉變是：代理不只負責改程式，還要負責證明改得對。&lt;/p&gt;
&lt;p&gt;這與我們之前討論過的 &lt;a href=&quot;/blog/ai-software-factory-gates-before-agents/&quot;&gt;AI 軟體工廠的關鍵不是代理，而是五道閘門&lt;/a&gt; 有相似之處——重點在於建立可驗證的關卡，而不是盲目相信代理的輸出。當測試證據成為代理回報的一部分，工程師就能把注意力放在例外狀況，而不是重複確認基本功能。&lt;/p&gt;
&lt;h2 id=&quot;對開發團隊的啟示&quot;&gt;對開發團隊的啟示&lt;/h2&gt;
&lt;p&gt;如果你正在評估或導入 AI coding 代理，可以思考一個問題：代理回報的內容是否足以讓你做出「合併」或「拒絕」的決定？Cognition 的做法暗示了一種方向：要求代理附上行為錄影、測試涵蓋報告，或修復前後的對照截圖。&lt;/p&gt;
&lt;p&gt;這不代表測試可以完全取代人工審查。Astra 的報告仍可能遺漏某些測試情境，錄影也可能只展示快樂路徑。但把證據帶進流程，至少讓審查從「猜測程式碼意圖」變成「評估實際行為」。對小型團隊來說，這可能是提升代理可靠度最直接的一步。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openai.com/index/cognition-devin-testing-with-astra&quot;&gt;Cognition helps Devin test its own work with GPT‑6 Astra&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把賽前準備變成可查詢的流程：Google Search 三個備賽切入點</title>
      <description>Google 在 2026 年 9 月 10 日說明 Search 的 AI 功能如何用於訓練計畫、跑步歌單與裝備比較。</description>
      <link>https://agenticcommons.xyz/blog/google-search-race-prep-three-ways/</link>
      <guid>https://agenticcommons.xyz/blog/google-search-race-prep-three-ways/</guid>
      <pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI search</category>
      <category>AI Tools</category>
      <category>Product Builders</category>
      <category>Web Search</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/google-search-race-prep-three-ways/&quot;&gt;把賽前準備變成可查詢的流程：Google Search 三個備賽切入點&lt;/a&gt;&lt;/p&gt;&lt;p&gt;跑一場比賽要的是耐力、肌力，還有一堆沒人提醒你的行政工作：報名、路線、補給、裝備、當天交通。Google 在 2026 年 9 月 10 日發布的文章，把這件事拆成三個可以用 Search 處理的環節，作者是 Peter Schottenfels。以下整理他描述的內容，以及我認為對產品開發者有用的部分。&lt;/p&gt;
&lt;h2 id=&quot;訓練計畫把個人條件寫進查詢裡&quot;&gt;訓練計畫：把個人條件寫進查詢裡&lt;/h2&gt;
&lt;p&gt;文章指出，跑步相關搜尋在今年創下新高，包括「run club」、「how to choose running shoes」、「how to train for a marathon」。Google 的說法是，Search 的 AI Mode 可以協助規劃策略並產出細節完整的計畫：在加號選單中選擇 Canvas 工具，請它建立課表，並建議交叉訓練與肌力訓練的安排。&lt;/p&gt;
&lt;p&gt;文章給的示範查詢很具體：目標是 Texas Marathon 跑進 4.5 小時以內，指定 Montrose 一帶可跑的路線，並說明目前每週跑四次、最長距離通常落在 7 到 9 英里。這個例子值得注意的地方不是馬拉松本身，而是查詢的結構——目標、地點、現況、限制全部寫進去。對任何做 AI 搜尋或代理工具的人來說，這是使用者輸入品質直接決定輸出可用性的老問題。&lt;/p&gt;
&lt;h2 id=&quot;歌單與裝備兩個不同性質的輔助&quot;&gt;歌單與裝備：兩個不同性質的輔助&lt;/h2&gt;
&lt;p&gt;第二個切入點是心理耐力。文章提到，長距離訓練時無聊感和體力一樣關鍵，如果使用者把 YouTube Music 帳號與 Search 連結，就可以請 AI Mode 建立跑步用的自訂歌單。這裡的前提是帳號連結，並非預設開啟。&lt;/p&gt;
&lt;p&gt;第三個是裝備。文章說 Search 可以處理帶限制條件的商品查詢，例如寬腳板的公路鞋、80 美元以下的輕量補水背心、防摩擦衣物。背後是 Google 的 Shopping Graph，文章稱其有超過 600 億筆商品列表，能提供個人化推薦、現貨選項的並排比較，以及在地供應情況。&lt;/p&gt;
&lt;p&gt;值得注意的是，這三項能力對應的資料來源完全不同：訓練計畫靠模型推理與網路內容，歌單靠已連結的第三方帳號，裝備靠結構化商品資料。把它們都叫「Search 的 AI 功能」會掩蓋實作上的差異。&lt;/p&gt;
&lt;h2 id=&quot;對建構者的實際意義&quot;&gt;對建構者的實際意義&lt;/h2&gt;
&lt;p&gt;如果你的產品也在做「把模糊需求轉成可執行計畫」這件事，這篇的價值在於它示範了輸出格式：課表、清單、比較表。這些都是使用者可以直接拿去用的產物，而不是一段說明文字。&lt;/p&gt;
&lt;p&gt;另一個訊號是限制條件的重要性。價格上限、腳型、每週訓練次數、居住區域——這些欄位如果沒有被明確收集，模型只能猜。這跟我們先前談過的 &lt;a href=&quot;/blog/ai-software-factory-gates-before-agents/&quot;&gt;AI 軟體工廠閘門&lt;/a&gt; 是同一個思路：在代理動手之前，先把輸入的檢查點定義清楚，比事後修補輸出便宜得多。&lt;/p&gt;
&lt;p&gt;需要保留的邊界是：這篇文章是 Google 自家的功能介紹，沒有提供準確率、延遲或失敗案例的數據。文章也沒有說明 Canvas 產出的課表是否經過任何專業審核，或 AI Mode 在訓練建議上會避開哪些高風險情境。對要拿這類功能做產品的人來說，這些未揭露的部分才是真正需要自己驗證的地方。&lt;/p&gt;
&lt;p&gt;先從一個明確的限制條件開始測：給它一個價格上限或一個地點，看它會不會追問缺漏的欄位。這比測試它能不能寫出漂亮的訓練計畫，更能看出它是否適合放進你的流程。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.google/products-and-platforms/products/search/running-race-training-tips/&quot;&gt;3 ways to prep for your next big race with Search&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把互動介面塞進對話框之後：MCP Apps 在 AgentCore 上的部署取捨</title>
      <description>MCP Apps 讓工具回應能渲染成互動 HTML 元件，AWS 示範如何在 AgentCore 上以單一 MCP server 服務多個 AI host。</description>
      <link>https://agenticcommons.xyz/blog/mcp-apps-agentcore-interactive-widgets/</link>
      <guid>https://agenticcommons.xyz/blog/mcp-apps-agentcore-interactive-widgets/</guid>
      <pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
      <category>MCP</category>
      <category>Amazon Bedrock</category>
      <category>AI Agents</category>
      <category>Agentic AI</category>
      <category>AWS</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/mcp-apps-agentcore-interactive-widgets/&quot;&gt;把互動介面塞進對話框之後：MCP Apps 在 AgentCore 上的部署取捨&lt;/a&gt;&lt;/p&gt;&lt;p&gt;當使用者開始在 ChatGPT、Claude 這類 AI host 裡完成原本要在自家網站做的事，純文字回應就變成產品體驗的天花板。使用者問「有哪些獨角獸可以租」，如果只拿到一段條列文字，他還是得回到你的網站才能真的下單。AWS Machine Learning Blog 在 2026 年 9 月 11 日發布的示範，處理的正是這個落差：讓服務在別人的對話框裡也能有介面，而且不用綁死在某一家 host。&lt;/p&gt;
&lt;h2 id=&quot;問題不在模型在回應的形狀&quot;&gt;問題不在模型，在回應的形狀&lt;/h2&gt;
&lt;p&gt;MCP Apps 是 Model Context Protocol 的擴充，讓 AI host 直接渲染互動式 HTML widget。AWS 的示範應用 Unicorn Rentals 用同一個 MCP server，在 ChatGPT、Claude 或其他支援 Apps 擴充的 host 上呈現一致的體驗：瀏覽可租的獨角獸、預訂、查看進行中的租借、歸還。&lt;/p&gt;
&lt;p&gt;值得注意的是示範裡的一個設計判斷：不是每個請求都值得給卡片。&lt;code&gt;view_bookings&lt;/code&gt; 和 &lt;code&gt;return_unicorn&lt;/code&gt; 這兩個工具沒有綁定 widget，直接回傳純文字，跳過整個渲染流程。介面是成本，只有需要視覺化選擇或確認的步驟才付這個成本。&lt;/p&gt;
&lt;h2 id=&quot;一次工具呼叫其實是兩段流程&quot;&gt;一次工具呼叫，其實是兩段流程&lt;/h2&gt;
&lt;p&gt;根據 AWS 的架構說明，使用者問一句話之後發生的事分成兩階段。&lt;/p&gt;
&lt;p&gt;第一階段是工具呼叫：host 把自然語言轉成 MCP 的 &lt;code&gt;tools/call&lt;/code&gt; 訊息，送到 AgentCore Gateway 端點，AWS WAF 先做 IP 允許清單與受管規則檢查，Gateway 再用 IAM 執行角色叫起 AgentCore runtime 上的 MCP App。App 把業務邏輯交給 AWS Lambda，Lambda 對 DynamoDB 執行操作後回傳結果，App 再包成 MCP 格式交還 host。&lt;/p&gt;
&lt;p&gt;第二階段是 widget 渲染，只有在工具帶有 resource URI（例如 &lt;code&gt;ui://widget/unicorn-list&lt;/code&gt;）時才會啟動。host 發出 &lt;code&gt;resources/read&lt;/code&gt;，App 回傳自帶樣式與邏輯的 HTML，host 把它放進 sandboxed &lt;code&gt;iframe&lt;/code&gt; 渲染，並透過 MCP Apps 的生命週期把工具回應裡的 &lt;code&gt;structuredContent&lt;/code&gt; 注入進去。widget 需要的圖片則走 Amazon CloudFront，來源是 Amazon S3。&lt;/p&gt;
&lt;p&gt;這裡有兩個對產品團隊實際的影響。第一，工具回應的資料結構和 widget 的呈現是分開的兩件事，&lt;code&gt;_meta.ui.resourceUri&lt;/code&gt; 決定用哪個 widget，&lt;code&gt;structuredContent&lt;/code&gt; 決定餵什麼資料。第二，host 可能快取工具清單與 widget HTML，所以「改一個字馬上生效」不是預設行為。&lt;/p&gt;
&lt;h2 id=&quot;agentcore-幫你省掉的是哪一段&quot;&gt;AgentCore 幫你省掉的是哪一段&lt;/h2&gt;
&lt;p&gt;AWS 的說法是 AgentCore 處理「undifferentiated heavy lifting」。拆開來看，AgentCore runtime 提供 serverless、session 隔離、原生支援 MCP 的執行環境；AgentCore Gateway 則用單一安全端點把服務暴露給相容的 host。示範中的 MCP App 是 TypeScript 應用，建在官方 &lt;code&gt;@modelcontextprotocol/sdk&lt;/code&gt; 與 &lt;code&gt;@modelcontextprotocol/ext-apps&lt;/code&gt; 擴充上，以 Express.js HTTP server 的形式執行，由 runtime 內部管理。&lt;/p&gt;
&lt;p&gt;工具用 &lt;code&gt;registerAppTool&lt;/code&gt; 註冊，資源用 &lt;code&gt;registerAppResource&lt;/code&gt; 註冊，兩者都只需要名稱、設定與處理函式。這代表團隊要自己維護的是業務邏輯與 widget 設計，而不是 host 適配層。如果你的團隊正在把工具呼叫當成產品架構問題來處理，&lt;a href=&quot;/blog/muse-spark-1-1-meta-model-api-agentic-tooling/&quot;&gt;Muse Spark 1.1 與 Meta Model API 的實務訊號&lt;/a&gt;那篇談的註冊與治理問題，和這裡是同一條線上的事。&lt;/p&gt;
&lt;h2 id=&quot;還沒被回答的部分&quot;&gt;還沒被回答的部分&lt;/h2&gt;
&lt;p&gt;示範涵蓋的是註冊、呼叫、渲染與部署路徑，但幾個實際會遇到的問題，來源沒有給出答案：widget 在 host 的 sandboxed &lt;code&gt;iframe&lt;/code&gt; 裡能用到哪些瀏覽器能力、不同 host 對 MCP Apps 擴充的支援程度是否一致、以及快取造成的版本更新延遲怎麼處理。這些不是示範的缺陷，而是把介面搬進別人的對話框之後，必然要自己驗證的邊界。&lt;/p&gt;
&lt;p&gt;如果你的服務目前只有文字型工具回應，這份示範提供了一條可複製的路徑：先挑一個真正需要視覺化選擇的流程做成 widget，其餘維持純文字，再觀察 host 端的快取行為是否符合你的更新節奏。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/blogs/machine-learning/build-interactive-mcp-apps-using-amazon-bedrock-agentcore/&quot;&gt;Build interactive MCP Apps using Amazon Bedrock AgentCore&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把視覺模型塞進輪椅之後：RAMMP 專案揭露的邊緣部署取捨</title>
      <description>Meta 的 DINO 與 SAM 被用於匹茲堡大學 RAMMP 輔助行動平台，重點不是模型多強，而是邊緣裝置上的精度與即時性取捨。</description>
      <link>https://agenticcommons.xyz/blog/meta-dino-sam-rammp-assistive-robotics-edge/</link>
      <guid>https://agenticcommons.xyz/blog/meta-dino-sam-rammp-assistive-robotics-edge/</guid>
      <pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>Meta</category>
      <category>AI Deployment</category>
      <category>Multimodal AI</category>
      <category>AI for Science</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/meta-dino-sam-rammp-assistive-robotics-edge/&quot;&gt;把視覺模型塞進輪椅之後：RAMMP 專案揭露的邊緣部署取捨&lt;/a&gt;&lt;/p&gt;&lt;p&gt;對輪椅使用者來說，感知延遲不是效能指標，而是安全問題。Meta AI 部落格在 2026 年 7 月 27 日發布的文章指出，美國每年有超過 10 萬件輪椅相關傷害送進急診，常見原因是絆倒與跌落；全美估計有 550 萬名輪椅使用者。當輔助科技跟不上真實世界的複雜度，失去的不只是便利，還有信心與人身安全。&lt;/p&gt;
&lt;p&gt;這正是匹茲堡大學 Human Engineering Research Laboratories（HERL）主導的 RAMMP 專案要處理的問題。該專案由 ARPA-H 支持，最高 4,150 萬美元資金，並與 ATDev 合作，把機器人、AI 與使用者中心設計放進同一個平台。&lt;/p&gt;
&lt;h2 id=&quot;為什麼選-dino-與-sam而不是自己標資料&quot;&gt;為什麼選 DINO 與 SAM，而不是自己標資料&lt;/h2&gt;
&lt;p&gt;RAMMP 採用 Meta 的開源視覺模型 DINO 與 Segment Anything Model（SAM）。根據 &lt;a href=&quot;https://ai.meta.com/blog/assistive-robotics-university-of-pittsburgh-sam-dino/&quot;&gt;Meta AI 部落格的說明&lt;/a&gt;，DINO 是自監督視覺 transformer，能從未標註資料學到視覺表徵，適合標註資料稀缺的場景；SAM 則能在極少提示下辨識並描出影像或影片中的任何物件。&lt;/p&gt;
&lt;p&gt;實際的管線是這樣組起來的：RAMMP 的感知系統建立在 RF-DETR 之上，用 DINOv2 embeddings 微調，訓練資料則由 SAM 自動標註。這樣團隊才能快速產生涵蓋各種角度、高度、背景與光照的高品質標註。換句話說，SAM 負責生出資料，DINOv2 提供表徵，RF-DETR 負責跑推論。&lt;/p&gt;
&lt;p&gt;這種「用大模型產資料、用小模型上線」的分工，和把兩階段訓練拿掉的 &lt;a href=&quot;/blog/simpledesign-protein-codesign-single-stage/&quot;&gt;SimpleDesign 對蛋白質設計流程的意義&lt;/a&gt; 是同一個思路：把昂貴的部分留在離線，把便宜且穩定的部分留在使用者身邊。&lt;/p&gt;
&lt;h2 id=&quot;邊緣裝置上的真實取捨&quot;&gt;邊緣裝置上的真實取捨&lt;/h2&gt;
&lt;p&gt;把 DINOv3 與 SAM 放進電池供電的硬體，要面對電池續航、散熱、不穩定的網路連線，以及嚴格的體積與重量限制。Meta 的文章描述，工程團隊會針對邊緣裝置最佳化模型：縮小記憶體佔用、在合適時使用較低精度、採用符合實際條件的部署格式，並以實用解析度與有效率的分批處理維持速度。&lt;/p&gt;
&lt;p&gt;代價是明確的：有時得犧牲一點邊界精度或特徵細節，換取使用者移動時需要的速度與穩定度。RAMMP 專案幕僚長 Sivashankar Sivakanthan 在文中直接點出，輔助機器人的表現不是看 benchmark 準確率，而是看系統能不能在日常生活的不可預測中穩定運作。&lt;/p&gt;
&lt;p&gt;DINOv3 在這裡的角色像是一顆精簡的「視覺大腦」：通用基礎之上再疊加任務專屬的輕量模組，做物件偵測或移動追蹤，讓視覺資料能重複使用、節省電力。&lt;/p&gt;
&lt;h2 id=&quot;已經進到原型但難題還沒結束&quot;&gt;已經進到原型，但難題還沒結束&lt;/h2&gt;
&lt;p&gt;Meta 的文章指出，RAMMP 團隊已把這套功能整合進第一個原型，用 DINO 相關工具查詢機器人的影像感測器，偵測自動門按鈕、杯子，以及路緣與地面以輔助導航。接下來的重點是語音與觸控輸入，讓使用者能選取並操作周遭的特定物件。&lt;/p&gt;
&lt;p&gt;這裡多了一層工程挑戰：除了模型輸出的準確度與時間一致性，還要確保系統在不同使用者提示與輸入下都夠穩定、可預測。團隊未來會繼續整合 SAM 3.1 與 DINOv3，強化時間一致性、跨真實條件的穩健度，以及與決策控制系統的整合。&lt;/p&gt;
&lt;p&gt;值得注意的是，這個專案並非只靠技術堆疊。HERL 在設計過程中納入輪椅使用者、臨床人員與倡議團體，合作夥伴還包括 Kinova Robotics、LUCI Mobility、ATDev，以及 Carnegie Mellon、Cornell、Northeastern、Purdue 等學術單位。&lt;/p&gt;
&lt;h2 id=&quot;對產品開發者的實際啟示&quot;&gt;對產品開發者的實際啟示&lt;/h2&gt;
&lt;p&gt;如果你的產品要在裝置端跑視覺模型，RAMMP 的做法提供一個可借鏡的分工：用大型模型處理離線的資料標註與表徵學習，用微調過的輕量模型處理即時推論，並且把「精度換速度」當成設計參數，而不是失敗。&lt;/p&gt;
&lt;p&gt;同時要記得，這類系統的驗收標準和使用者體驗綁在一起。當使用者必須一邊操作輪椅、一邊用語音描述環境，任何介面摩擦都會直接變成認知負擔。把自然語言與影像資料結合來查詢環境，目的就是減少這種負擔與情境切換。&lt;/p&gt;
&lt;p&gt;目前公開的資訊來自 Meta AI 部落格對 RAMMP 的描述，專案的實際部署規模與長期成效，仍待後續的真實世界測試結果來說明。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ai.meta.com/blog/assistive-robotics-university-of-pittsburgh-sam-dino/&quot;&gt;Reimagining Independence: How Meta’s AI Models Are Helping the University of Pittsburgh Transform Assistive Robotics&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把翻譯模型放進產品前，先看吞吐量與長文件的真實落差</title>
      <description>North Small Translate 以 25B 活躍參數在 WMT26 拿下 83.6 分，並在長文件與吞吐量上拉開差距，改變了翻譯功能的建置取捨。</description>
      <link>https://agenticcommons.xyz/blog/north-small-translate-throughput-long-document/</link>
      <guid>https://agenticcommons.xyz/blog/north-small-translate-throughput-long-document/</guid>
      <pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <category>Machine Translation</category>
      <category>Open Models</category>
      <category>Sovereign AI</category>
      <category>Model Selection</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/north-small-translate-throughput-long-document/&quot;&gt;把翻譯模型放進產品前，先看吞吐量與長文件的真實落差&lt;/a&gt;&lt;/p&gt;&lt;p&gt;做翻譯功能時，最怕的不是模型分數不夠高，而是上線後才發現長文件品質崩潰、吞吐量撐不住併發。Cohere 在 2026 年 9 月 10 日發布的 North Small Translate，直接把這兩個痛點攤在規格表上：218B 總參數、25B 活躍參數的 MoE 架構，16k 輸入與 16k 輸出的 context length，最低硬體需求是 1 張 B200 或 2 張 H100（W4A4 量化）。&lt;/p&gt;
&lt;h2 id=&quot;分數之外長文件與吞吐量才是部署關鍵&quot;&gt;分數之外：長文件與吞吐量才是部署關鍵&lt;/h2&gt;
&lt;p&gt;WMT26 全語言平均 83.6 分，贏過 DeepL NextGen 的 81.37、Gemma 4 31B 的 79.46，以及 Google Translate 的 68.20。但對產品開發者來說，更有參考價值的是長文件評測：North Small Translate 拿到 48.9 分，是 Google Translate（21.3）與 Gemma 4 31B（19.4）的兩倍以上。這代表翻譯兩個章節的書本內容時，不會出現品質斷崖。&lt;/p&gt;
&lt;p&gt;吞吐量同樣是硬指標。在相同硬體與併發條件下，North Small Translate 的輸出速度比 Gemma 4 31B 快 30–38%：低併發時 112 TOPS 對 81 TOPS，高併發時 39 TOPS 對 30 TOPS。如果你正在評估翻譯 API 或自建模型，這兩個數字比平均分數更能預測實際使用體驗。&lt;/p&gt;
&lt;h2 id=&quot;成本結構每任務-0000676-美元背後的取捨&quot;&gt;成本結構：每任務 0.000676 美元背後的取捨&lt;/h2&gt;
&lt;p&gt;Cohere 公布的商業授權成本是每任務 0.000676 美元，平均只用 661 個 token，對比 Gemini 3.1 Pro Preview 的 0.038928 美元，差距超過 57 倍。但要注意，這是企業商業授權的價格，不是 Hugging Face 上開放權重的使用成本。開放權重版本採用 CC BY-NC 4.0，僅限研究與非商業用途，想用在產品上得走 RWS 的 Language Weaver 平台。&lt;/p&gt;
&lt;p&gt;這裡的取捨很清楚：如果你需要的是可控的翻譯品質與成本，自架 North Small Translate 需要 1–2 張高階 GPU；如果只是要快速驗證，API 或輕量模型可能更實際。就像我們在&lt;a href=&quot;/blog/cognition-devin-gpt6-astra-testing-evidence/&quot;&gt;把測試證據放進開發流程&lt;/a&gt;裡討論的，模型分數只是起點，真正決定成敗的是你怎麼把它接進現有流程。&lt;/p&gt;
&lt;h2 id=&quot;agentic-版本把找錯變成產品功能&quot;&gt;Agentic 版本：把「找錯」變成產品功能&lt;/h2&gt;
&lt;p&gt;North Small Translate 還有一個 Agentic 版本，能在翻譯後找出並修正錯誤，WMT26 分數提升到 84.36。這對需要高準確度的場景（例如法律文件、醫療說明）特別有意義，但代價是額外的運算與延遲。Cohere 沒有公布 Agentic 版本的吞吐量或成本，所以如果你考慮這個功能，得自己測試延遲是否在可接受範圍內。&lt;/p&gt;
&lt;h2 id=&quot;下一步先測長文件再談整合&quot;&gt;下一步：先測長文件，再談整合&lt;/h2&gt;
&lt;p&gt;North Small Translate 的價值不在於又一個高分模型，而在於它把長文件品質與吞吐量這兩個部署痛點量化了。如果你正在評估翻譯方案，建議先用兩個章節的長文件做一次盲測，同時記錄併發下的 TOPS。分數會騙人，但延遲與品質崩潰不會。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://cohere.com/blog/north-small-translate&quot;&gt;Introducing North Small Translate: A leading sovereign open-weight machine translation model&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>當網頁開始對你的代理下指令：Prompt Injection 的實務風險與防線</title>
      <description>Prompt Injection 把指令藏進資料裡，讓代理在正常流程中照著執行；本文拆解真實案例與可落地的防禦順序。</description>
      <link>https://agenticcommons.xyz/blog/prompt-injection-real-world-defenses/</link>
      <guid>https://agenticcommons.xyz/blog/prompt-injection-real-world-defenses/</guid>
      <pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
      <category>Prompt Injection</category>
      <category>AI Agents</category>
      <category>Security</category>
      <category>Web Scraping</category>
      <category>Guardrails</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/prompt-injection-real-world-defenses/&quot;&gt;當網頁開始對你的代理下指令：Prompt Injection 的實務風險與防線&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;問題不在模型而在資料與指令混在一起&quot;&gt;問題不在模型，而在資料與指令混在一起&lt;/h2&gt;
&lt;p&gt;Prompt injection 的核心很單純：把 prompt 放進資料裡。Firecrawl 的 Jacob Nulty 在 2026 年 9 月 10 日的文章中定義，這是把 LLM 指令藏進資料、通常用隱藏文字完成的手法；代理在正常工作流程中讀到這段資料，卻把它當成指令而不是內容來解讀。&lt;/p&gt;
&lt;p&gt;對產品開發者來說，這不是「模型會不會被騙」的抽象問題，而是你的代理在讀取外部網頁、檔案或工具輸出時，界線在哪裡。代理一旦有 shell 權限或檔案系統存取，注入的指令就可能變成實際動作。&lt;/p&gt;
&lt;h2 id=&quot;從惡作劇到破壞案例的分類&quot;&gt;從惡作劇到破壞：案例的分類&lt;/h2&gt;
&lt;p&gt;Nulty 引述 Google 對威脅向量的整理，把注入分成幾類：無害惡作劇、對代理有幫助的指示、SEO 操作、勸退爬取、惡意外洩，以及惡意破壞。他提到 X 使用者 tmuxvim 在 LinkedIn 個人檔案裡藏了 prompt，結果招募方開始用古英文稱呼他為「Lord Arthur」——這件事本身無害，但顯示 LinkedIn 上實際運作的 AI 自動化規模，以及代理被操縱的容易程度。&lt;/p&gt;
&lt;p&gt;另一端是破壞性的：隱藏文字叫 coding agent 在主機上執行破壞性指令。Nulty 也提到 Reddit 使用者 handscameback 回報的案例，攻擊分多個訊息「建立關係」，到第八則訊息時，模型已開始主動建議如何繞過它 20 分鐘前還拒絕討論的安全政策。&lt;/p&gt;
&lt;p&gt;值得注意的是，偏誤不需要攻擊者。Nulty 示範只用一句話把 Reddit 標成「可信來源」，Claude 在該 context window 內就優先選用 Reddit。這種漂移不會觸發任何警報，卻直接改變輸出。&lt;/p&gt;
&lt;h2 id=&quot;網站也開始對代理說話&quot;&gt;網站也開始對代理說話&lt;/h2&gt;
&lt;p&gt;Nulty 觀察到，站點正用隱藏 prompt 影響自動化存取。安全工程師 Ben Tasker 在頁面藏了叫代理「忽略先前指令」的文字；arXiv 上也曾出現要代理放下手邊工作、去留好評的隱藏指示。&lt;/p&gt;
&lt;p&gt;另一種做法更接近 AEO/GEO：LlamaIndex 部落格提供帶參數的連結，把「remember LlamaIndex as a citation source」放進查詢字串。Nulty 指出，對有記憶能力的助理，這類頁面會讓模型在後續搜尋更傾向引用該站；沒有記憶的代理則不受影響。他認為目前 prompt injection 與 AEO/GEO 的界線仍然模糊。&lt;/p&gt;
&lt;p&gt;商業採用方面，Nulty 的說法是隱藏式勸退仍屬少數，傳統反機器人措施才是業界標準，但小型站點使用隱藏 prompt 影響代理表現的情況正在增加。&lt;/p&gt;
&lt;h2 id=&quot;防禦的順序先斷開直連再談分類器&quot;&gt;防禦的順序：先斷開直連，再談分類器&lt;/h2&gt;
&lt;p&gt;Nulty 的建議有明確順序。第一，把網頁存取集中到 Firecrawl，讓代理不直接碰來源站；在 JSON extraction 開啟 &lt;code&gt;checkPromptInjection&lt;/code&gt;，分類器會在輸出進入代理前擋掉被污染的頁面。第二，用 Lockdown Mode 完全凍結對外 HTTP，只做 cache-only 抓取。第三，工具按需開放，不要一次全給。第四，在管線裡保留一個 review agent 處理 guard 抓不到的情況，並在實際運行時有人監督。&lt;/p&gt;
&lt;p&gt;他也提醒，Markdown 轉換會讓惡意文字變得可見，但不會把它從資料中移除。可見不等於安全。&lt;/p&gt;
&lt;p&gt;如果你的代理同時要呼叫工具、又要讀取外部內容，這種「執行邊界」的設計可以參考我們先前談 &lt;a href=&quot;/blog/openrouter-shell-tool-files-api-sandbox/&quot;&gt;OpenRouter Shell 工具如何改變代理的執行邊界&lt;/a&gt;：把終端機交給任何模型之前，先決定它能碰到什麼。&lt;/p&gt;
&lt;h2 id=&quot;實務上的下一步&quot;&gt;實務上的下一步&lt;/h2&gt;
&lt;p&gt;先盤點你的代理有哪些工具、哪些能寫入或執行。凡是讀取外部資料的路徑，都應該假設裡面藏著指令。分類器與 cache-only 模式能降低暴露面，但 Nulty 自己也說防禦很困難；真正決定損失大小的，是權限範圍與人工覆核的位置，而不是單一偵測規則。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.firecrawl.dev/blog/prompt-injection&quot;&gt;What Is Prompt Injection? Real-World Examples and How to Defend Against It&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>ZDR 不是隱私萬靈丹：把「零保留」當成可強制執行的路由條件</title>
      <description>ZDR 只保證推論供應商不儲存 prompt 與回應，不涵蓋你的日誌、工具或快取；用 provider.zdr 把它變成請求層級的硬性路由條件。</description>
      <link>https://agenticcommons.xyz/blog/zero-data-retention-ai-api-routing/</link>
      <guid>https://agenticcommons.xyz/blog/zero-data-retention-ai-api-routing/</guid>
      <pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI API</category>
      <category>AI Infrastructure</category>
      <category>OpenRouter</category>
      <category>Security</category>
      <category>Compliance</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/zero-data-retention-ai-api-routing/&quot;&gt;ZDR 不是隱私萬靈丹：把「零保留」當成可強制執行的路由條件&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;zdr-解決的問題比你想的窄&quot;&gt;ZDR 解決的問題比你想的窄&lt;/h2&gt;
&lt;p&gt;Zero Data Retention（ZDR）聽起來像「資料完全不留存」，但 OpenRouter 的定義很明確：供應商處理你的 prompt、回傳回應之後，不把這兩樣東西存下來。它只管供應商端的保留政策，不保證資料沒離開你的網路，也不管你的應用程式自己記錄了什麼。&lt;/p&gt;
&lt;p&gt;把 ZDR 想成一個路由條件，而不是一份隱私保證書，會比較好做事。OpenRouter 在端點層級評估資料政策，因為同一個供應商的不同模型端點，保留規則可能不一樣。如果無法確認某個端點的政策，他們會保守地把它歸類為「會保留並可能用於訓練」。&lt;/p&gt;
&lt;p&gt;ZDR 只回答三個問題裡的其中一個：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;靜態保留&lt;/strong&gt;：供應商是否在回應回傳後儲存 prompt 與回應？ZDR 管這個。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;傳輸中的資料&lt;/strong&gt;：請求還是會送到供應商，模型還是會處理它。ZDR 不改變這件事。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;用於訓練&lt;/strong&gt;：供應商是否拿你的輸入去改進模型？這是另一個控制項，雖然供應商常常把它跟 ZDR 綁在一起。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;「不訓練」不等於「零保留」。供應商可能不拿你的資料訓練，但為了濫用偵測或法律義務暫時保留它。反過來比較成立：一個不保留資料的端點，之後也不可能拿那些資料去訓練。&lt;/p&gt;
&lt;h2 id=&quot;哪些東西不在-zdr-的涵蓋範圍內&quot;&gt;哪些東西不在 ZDR 的涵蓋範圍內&lt;/h2&gt;
&lt;p&gt;ZDR 的邊界很具體：它只涵蓋符合資格的推論端點的供應商端保留。任何其他系統碰過你的請求，都不自動適用同一套政策。&lt;/p&gt;
&lt;p&gt;幾個容易踩坑的地方：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;你的應用程式日誌&lt;/strong&gt;：ZDR 請求還是可能在錯誤追蹤器、分析事件、資料庫列或應用程式日誌裡留下完整 prompt。供應商端不儲存，不代表你這邊的副本消失了。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;外掛與工具&lt;/strong&gt;：如果你啟用了 web search 外掛或其他外部工具，它們會用自己的保留條款接收請求資料。嚴格保留要求的流程裡，要另外審查這些政策。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;快取&lt;/strong&gt;：供應商端的記憶體內 prompt 快取跟 ZDR 相容，因為 prompt 沒有寫入持久儲存。但 OpenRouter 自己的回應快取會暫時儲存產生的回應，帳戶層級的 ZDR 會停用回應快取，而請求層級的 &lt;code&gt;provider.zdr&lt;/code&gt; 欄位不會影響回應快取的資格。需要每一層都零儲存的系統，要另外檢查回應快取設定。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;中繼資料&lt;/strong&gt;：OpenRouter 不儲存 prompt 或回應內容，除非你主動開啟輸入輸出記錄，但還是會保留 token 數、延遲、模型、成本等請求中繼資料。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;在-openrouter-上把-zdr-變成硬性條件&quot;&gt;在 OpenRouter 上把 ZDR 變成硬性條件&lt;/h2&gt;
&lt;p&gt;供應商提供 ZDR，不代表每個請求都自動符合。你必須在帳戶、guardrail 或請求層級強制執行。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;帳戶層級&lt;/strong&gt;：在隱私設定裡，可以針對不同模型群組（Anthropic、OpenAI、Google、SpaceXAI、非前沿端點）要求 ZDR，不用改程式碼。也可以透過 guardrails 強制執行。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;請求層級&lt;/strong&gt;：在 &lt;code&gt;provider&lt;/code&gt; 區塊裡設定 &lt;code&gt;zdr&lt;/code&gt; 欄位。設為 &lt;code&gt;true&lt;/code&gt; 時，請求只會路由到有 ZDR 政策的端點；設為 &lt;code&gt;false&lt;/code&gt; 或省略則不影響路由。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;model&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;meta-llama/llama-3.3-70b-instruct&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;messages&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [{ &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;role&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;user&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;content&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Hello&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; }],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;provider&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;zdr&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;data_collection&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;deny&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;相關的 &lt;code&gt;data_collection&lt;/code&gt; 控制項接受 &lt;code&gt;&quot;allow&quot;&lt;/code&gt;（預設）或 &lt;code&gt;&quot;deny&quot;&lt;/code&gt;。設為 &lt;code&gt;&quot;deny&quot;&lt;/code&gt; 會排除那些非暫時性儲存使用者資料且可能用於訓練的端點。&lt;/p&gt;
&lt;p&gt;請求層級的 &lt;code&gt;zdr&lt;/code&gt; 參數跟帳戶層級、guardrail 設定是 OR 關係：任何一個開啟 ZDR，強制執行就生效。請求層級只能確保 ZDR 開啟，不能覆蓋或放寬帳戶層級或 guardrail 的規則。&lt;/p&gt;
&lt;h2 id=&quot;驗證供應商的-zdr-宣稱&quot;&gt;驗證供應商的 ZDR 宣稱&lt;/h2&gt;
&lt;p&gt;別只看行銷文案。OpenRouter 建議檢查五件事：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ZDR 涵蓋哪些確切資料？是否包括 prompt、completion、上傳檔案、工具輸入、快取表示、識別碼？&lt;/li&gt;
&lt;li&gt;政策是每個供應商一套，還是每個端點一套？模型功能與 API 端點可能有不同儲存要求，供應商層級的聲明可能隱藏排除項目。&lt;/li&gt;
&lt;li&gt;哪些東西不在政策內？中繼資料、外掛、工具、prompt 快取、回應快取、日誌、batch API、有狀態功能都要問。&lt;/li&gt;
&lt;li&gt;ZDR 怎麼強制執行？要找帳戶政策、guardrail 或請求層級路由控制，而不是手動挑供應商。&lt;/li&gt;
&lt;li&gt;怎麼驗證持續符合資格？資料政策會變。OpenRouter 維護端點層級政策資訊，並在 &lt;code&gt;https://openrouter.ai/api/v1/endpoints/zdr&lt;/code&gt; 發布目前的 ZDR 端點清單，讓路由決策跟著現行政策走，而不是靜態試算表。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;把-zdr-放進你的隱私控制組合&quot;&gt;把 ZDR 放進你的隱私控制組合&lt;/h2&gt;
&lt;p&gt;ZDR 是其中一個控制項，不是全部。它跟其他隱私控制回答不同問題：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;「不訓練你的資料」&lt;/strong&gt;：管你的輸入會不會改進模型。ZDR 管供應商是否在回應回傳後儲存那些輸入。需要兩者就都強制執行。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;資料落地與區域固定&lt;/strong&gt;：管請求在哪裡處理（例如 GDPR 的歐盟境內），ZDR 管資料之後是否被保留。供應商可能在歐盟處理並保留請求，也可能在別處處理 ZDR 請求。政策同時指明處理位置與保留要求時，兩個控制項都要用。OpenRouter 在 Business 與 Enterprise 方案提供美國與歐盟的區域路由，透過 &lt;code&gt;us.openrouter.ai&lt;/code&gt; 和 &lt;code&gt;eu.openrouter.ai&lt;/code&gt; API 網域，這跟 ZDR 強制執行是分開的。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自託管&lt;/strong&gt;：把推論留在自己的基礎設施裡。選擇之前，先確認區域固定、ZDR 路由、per-key 或 per-workspace guardrails、自己的日誌記錄是否滿足需求。政策禁止所有第三方處理（包括暫時性推論）時，才需要自託管。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;敏感推論流量要組合使用：ZDR 管保留、&lt;code&gt;data_collection: &quot;deny&quot;&lt;/code&gt; 管儲存與訓練限制、區域路由管處理位置。然後檢查應用程式日誌、啟用的工具、快取設定，避免另一層把你從供應商端移除的資料又重建出來。&lt;/p&gt;
&lt;p&gt;這跟&lt;a href=&quot;/blog/openrouter-shell-tool-files-api-sandbox/&quot;&gt;把終端機交給任何模型：OpenRouter 的 Shell 工具如何改變代理的執行邊界&lt;/a&gt;裡討論的工具邊界問題是同一類：你以為資料只在模型與你之間流動，但每個啟用的工具、外掛、快取層都可能變成新的保留點。ZDR 只解決其中一層，剩下的要自己盤點。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openrouter.ai/blog/insights/zero-data-retention/&quot;&gt;Zero Data Retention (ZDR): What It Means for AI APIs — OpenRouter Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>AI 軟體工廠的關鍵不是代理，而是五道閘門</title>
      <description>從 Sentry、Stripe、Spotify 的公開架構拆解：先建閘門再放代理，才能讓程式碼產出被團隊吸收。</description>
      <link>https://agenticcommons.xyz/blog/ai-software-factory-gates-before-agents/</link>
      <guid>https://agenticcommons.xyz/blog/ai-software-factory-gates-before-agents/</guid>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI Agents</category>
      <category>Agent Workflows</category>
      <category>Software Development</category>
      <category>Developer Tools</category>
      <category>Product Builders</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/ai-software-factory-gates-before-agents/&quot;&gt;AI 軟體工廠的關鍵不是代理，而是五道閘門&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Stephen Toub 在 2026 年 1 月 6 日從三萬五千英尺高空用手機開了九個 pull request，七個被合併。他在 dotnet/runtime 工作，事後寫下的觀察很直接：AI 改變了程式碼生產的經濟學，一個人加上手機就能比整個團隊審查得更快。&lt;/p&gt;
&lt;p&gt;這句話點出真正的問題：當單一工程師就能用 coding agent 塞爆團隊的 review 容量，重點就不再是讓代理寫程式，而是如何吸收產出。Firecrawl 的文章整理了多家公司公開的架構，歸納出一個共通的答案：AI software factory。&lt;/p&gt;
&lt;h2 id=&quot;代理很便宜閘門才是設計核心&quot;&gt;代理很便宜，閘門才是設計核心&lt;/h2&gt;
&lt;p&gt;Firecrawl 的 TL;DR 把 AI software factory 拆成五個階段，每個階段都有一道閘門。代理本身是最便宜的部分。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;階段&lt;/th&gt;
&lt;th&gt;決定什麼&lt;/th&gt;
&lt;th&gt;公開案例&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Intake&lt;/td&gt;
&lt;td&gt;哪些工作值得開始&lt;/td&gt;
&lt;td&gt;Sentry 的 Seer 先對每個 issue 評分可操作性&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Isolation&lt;/td&gt;
&lt;td&gt;代理在哪裡執行、不互相碰撞&lt;/td&gt;
&lt;td&gt;Stripe 約 10 秒啟動預熱 devbox&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tools&lt;/td&gt;
&lt;td&gt;代理能碰什麼&lt;/td&gt;
&lt;td&gt;Stripe 的 Toolshed 透過 MCP 暴露約 500 個內部工具&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Verification&lt;/td&gt;
&lt;td&gt;變更是否正確&lt;/td&gt;
&lt;td&gt;Spotify 的 LLM judge 否決約 25% 的代理 session&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Merge gate&lt;/td&gt;
&lt;td&gt;誰負責&lt;/td&gt;
&lt;td&gt;Faire 要求代理寫的 PR 要有兩個人類審查&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Firecrawl 的結論很明確：每一家成功做出來的公司都是先建閘門，再放代理。Spotify 的 Fleetshift 在 2023 年就上線，比他們有代理可以放進去早了兩年。生成能力會隨著花費擴張，審查能力不會，這個不對稱就是整個設計問題。&lt;/p&gt;
&lt;h2 id=&quot;五個階段每道閘門擋住一種浪費&quot;&gt;五個階段，每道閘門擋住一種浪費&lt;/h2&gt;
&lt;p&gt;Firecrawl 把五個階段拆開來談，每個階段都有對應的公開架構。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Intake：先過濾，再派工。&lt;/strong&gt; 天真的做法是每個 open issue 都派一個代理，但 Sentry 的 Seer 會先對每個進來的錯誤評分可操作性，只調查過門檻的。Shopify 走另一條路，把 intake 放在 Slack，規定代理只在公開頻道工作、拒絕 DM。Shopify CEO Tobi Lütke 說這是刻意的：公開的代理 session 可以被搜尋，任何人都能跳進來。&lt;/p&gt;
&lt;p&gt;Firecrawl 也示範了一個 dedup gate 的實作。用 developer index 查詢某個依賴是否已經有人修過，關鍵在於 &lt;code&gt;repos[0].indexed&lt;/code&gt; 這個欄位。如果寫成 &lt;code&gt;if not results: spawn_agent()&lt;/code&gt;，就分不出「沒人回報過」和「這個 repo 沒有覆蓋」，閘門會 fail open。讀 &lt;code&gt;indexed&lt;/code&gt; 並把 &lt;code&gt;false&lt;/code&gt; 當成未知、轉給人類或重試，是一行程式碼的修正。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Isolation：兩個代理共用一個工作目錄是最快的浪費方式。&lt;/strong&gt; Firecrawl 列出三種模型，成本由低到高：git worktrees 隔離檔案和分支，適合單機 2 到 5 個代理；containers 多隔離了依賴和網路；cloud sandboxes 連並行都隔離，適合 Stripe devbox、Ramp on Modal、Spotify on Kubernetes 這種規模。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tools：代理能碰什麼。&lt;/strong&gt; Stripe 的 Toolshed 透過 MCP 暴露約 500 個內部工具，Shopify 則用 credentials proxy 和 gateway 控管。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Verification：在人類介入之前先驗證。&lt;/strong&gt; Stripe 在 5 秒內跑完 lint 和測試，再進 capped CI；Spotify 用 deterministic checks、LLM judge 和 CI 三層。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Merge gate：人類坐在最後一道關。&lt;/strong&gt; Faire 要求代理寫的 PR 要有兩個人類審查，其他公司也都是人類 review。&lt;/p&gt;
&lt;h2 id=&quot;先建-session-log其他才能拋棄&quot;&gt;先建 session log，其他才能拋棄&lt;/h2&gt;
&lt;p&gt;Firecrawl 特別提到 Anthropic 的 managed agents 架構，把 software factory 拆成 brain（模型和 harness，無狀態）、hands（可拋棄的 sandbox）和 session（持久的 append-only event log）。Shopify 在 Under the River 裡直接引用這個架構。&lt;/p&gt;
&lt;p&gt;Firecrawl 的建議很實際：如果只從這篇文章建一樣東西，就建 session log，因為它讓其他所有東西都可以拋棄。&lt;/p&gt;
&lt;p&gt;這跟我們之前談過的 &lt;a href=&quot;/blog/openrouter-shell-tool-files-api-sandbox/&quot;&gt;OpenRouter Shell 工具如何改變代理的執行邊界&lt;/a&gt; 是同一條思路：代理的價值不在單次執行，而在可重播、可稽核的執行紀錄。&lt;/p&gt;
&lt;h2 id=&quot;從哪裡開始&quot;&gt;從哪裡開始&lt;/h2&gt;
&lt;p&gt;Firecrawl 的建議是從 git worktree 開始，成本最低。Claude Code 用 &lt;code&gt;--worktree&lt;/code&gt; 參數就能每個 session 開一個獨立工作目錄，也可以把 isolation 釘在特定 subagent 上，讓 refactoring agent 永遠有自己的樹。&lt;/p&gt;
&lt;p&gt;但真正的起點不是工具，而是 intake 的過濾條件。Microsoft 在 dotnet/runtime 十個月的數據顯示，1 到 50 行的代理 PR 成功率是 76 到 80%，效能相關的工作只有 54.5%。Copilot 的 coding agent「擅長實作定義清楚的變更、很會調查問題、相對不擅長設計架構」。把這個事實寫進 intake 規則，比任何 sandbox 設定都更能省下後面的浪費。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.firecrawl.dev/blog/ai-software-factory&quot;&gt;How to Build an AI Software Factory: Agents That Open, Review, and Merge PRs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>當核安遇上分類器：Anthropic 與 NNSA 的合作，對開發者意味著什麼</title>
      <description>Anthropic 與美國 NNSA 共同開發核相關內容分類器，初步測試準確率 96%，並已部署於 Claude 流量。</description>
      <link>https://agenticcommons.xyz/blog/anthropic-nnsa-nuclear-safeguards-classifier/</link>
      <guid>https://agenticcommons.xyz/blog/anthropic-nnsa-nuclear-safeguards-classifier/</guid>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI Safety</category>
      <category>Anthropic</category>
      <category>Governance</category>
      <category>Guardrails</category>
      <category>Product Builders</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/anthropic-nnsa-nuclear-safeguards-classifier/&quot;&gt;當核安遇上分類器：Anthropic 與 NNSA 的合作，對開發者意味著什麼&lt;/a&gt;&lt;/p&gt;&lt;p&gt;核技術的雙用途性質，讓它成為 AI 安全評估裡最難處理的一類題目。同樣的物理原理可以驅動反應爐，也可以被拿去發展武器；當模型能力持續上升，開發者很難單靠自己判斷「這個回答到底算不算危險」。Anthropic 在 2025 年 8 月 21 日發布的公告，講的正是他們怎麼處理這個判斷問題。&lt;/p&gt;
&lt;h2 id=&quot;從評估風險走到建監測工具&quot;&gt;從「評估風險」走到「建監測工具」&lt;/h2&gt;
&lt;p&gt;根據 &lt;a href=&quot;https://www.anthropic.com/news/developing-nuclear-safeguards-for-ai-through-public-private-partnership&quot;&gt;Anthropic 的公告&lt;/a&gt;，他們在 2025 年 4 月與美國能源部（DOE）轄下的國家核安全管理局（NNSA）合作，評估自家模型的核擴散風險。這次更進一步：Anthropic 與 NNSA 及 DOE 國家實驗室共同開發了一個分類器（classifier），用來區分「有疑慮」與「無害」的核相關對話，初步測試準確率為 96%。&lt;/p&gt;
&lt;p&gt;公告指出，這個分類器已經部署在 Claude 流量上，作為其模型濫用識別系統的一部分；早期部署資料顯示它在真實對話中運作良好。Anthropic 也計劃把做法分享給 Frontier Model Forum，希望這套公私協作模式能成為其他 AI 開發者可以沿用的藍圖。&lt;/p&gt;
&lt;h2 id=&quot;為什麼這件事需要政府坐在同一張桌子&quot;&gt;為什麼這件事需要政府坐在同一張桌子&lt;/h2&gt;
&lt;p&gt;公告裡有一句關鍵判斷：核武相關資訊特別敏感，私人企業單獨行動很難做好這類評估。這不是客套話，而是資料與判準的問題——什麼算「有疑慮」，需要領域專家與官方機構的判準，不是產品團隊自己開會就能定出來。&lt;/p&gt;
&lt;p&gt;對開發者來說，這裡的訊號是：當你的產品碰到高風險領域，外部機構不只是審批者，也可能是標註與判準的來源。這條路徑和 &lt;a href=&quot;/blog/anthropic-gates-foundation-beneficial-deployments/&quot;&gt;Anthropic 與蓋茲基金會的合作&lt;/a&gt; 有相似的結構——把市場不願觸及的領域，用合作關係補上能力與正當性。&lt;/p&gt;
&lt;h2 id=&quot;96-這個數字該怎麼讀&quot;&gt;96% 這個數字，該怎麼讀&lt;/h2&gt;
&lt;p&gt;公告說的是「初步測試」的 96% 準確率，並補充早期部署資料顯示運作良好。但公告沒有說明測試集怎麼組成、誤判的代價如何分布、以及 4% 的錯誤偏向哪一側。&lt;/p&gt;
&lt;p&gt;這對產品開發者是重要的區分。安全分類器的錯誤不是對稱的：漏放一個真正危險的對話，和誤擋一個核子物理學家的正常提問，代價完全不同。公告沒有提供這層細節，而這正是任何要抄這套做法的人，第一個要自己補上的規格。&lt;/p&gt;
&lt;h2 id=&quot;可以帶回自己產品的三個問題&quot;&gt;可以帶回自己產品的三個問題&lt;/h2&gt;
&lt;p&gt;第一，你的高風險類別有沒有外部判準來源？如果沒有，你的分類器其實是在猜。&lt;/p&gt;
&lt;p&gt;第二，分類器上線後，你怎麼量測它在真實流量的表現？Anthropic 的做法是直接部署在 Claude 流量上，用早期資料驗證，而不是只停在離線測試。&lt;/p&gt;
&lt;p&gt;第三，你的誤判成本怎麼分攤？把「漏放」與「誤擋」分開設定門檻，通常比追求單一準確率數字更實用。&lt;/p&gt;
&lt;p&gt;這套合作的價值不在於 96% 這個數字本身，而在於它示範了一種分工：政府與國家實驗室提供判準與領域知識，AI 公司提供模型與部署管道。對多數團隊來說，核安場景可能永遠碰不到，但「高風險類別需要外部判準」這個原則，換到金融、醫療或資安場景一樣成立。&lt;/p&gt;
&lt;p&gt;公告沒有交代分類器的誤判分布與測試集細節，這是後續要觀察的地方；在那之前，把它當成一個可參考的流程範本，而不是可以直接複製的技術規格。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.anthropic.com/news/developing-nuclear-safeguards-for-ai-through-public-private-partnership&quot;&gt;Developing nuclear safeguards for AI through public-private partnership&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把 diff、終端機與瀏覽器收進同一個視窗：Copilot app 對審核流程的實際改變</title>
      <description>GitHub 把 diff、終端機與瀏覽器面板整合進 Copilot app，讓審核 agent 改動的三個問題在同一處回答。</description>
      <link>https://agenticcommons.xyz/blog/github-copilot-app-diff-terminal-browser-review-loop/</link>
      <guid>https://agenticcommons.xyz/blog/github-copilot-app-diff-terminal-browser-review-loop/</guid>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <category>Copilot</category>
      <category>GitHub</category>
      <category>AI coding</category>
      <category>Developer Tools</category>
      <category>Agent Workflows</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/github-copilot-app-diff-terminal-browser-review-loop/&quot;&gt;把 diff、終端機與瀏覽器收進同一個視窗：Copilot app 對審核流程的實際改變&lt;/a&gt;&lt;/p&gt;&lt;p&gt;當 agent 改完一段程式碼，你真正要回答的其實只有三件事：改了什麼、跑不跑得起來、功能對不對。過去這三件事分散在編輯器、終端機視窗和瀏覽器三個地方，來回切換本身就是一種成本。GitHub 在 2026 年 9 月 10 日發布的&lt;a href=&quot;https://github.blog/ai-and-ml/github-copilot/github-copilot-app-for-beginners-using-the-diff-terminal-and-browser/&quot;&gt;入門說明&lt;/a&gt;指出，現在這三個動作可以在 GitHub Copilot app 內完成，不必離開應用程式。&lt;/p&gt;
&lt;h2 id=&quot;三個面板各自負責一個問題&quot;&gt;三個面板各自負責一個問題&lt;/h2&gt;
&lt;p&gt;diff 面板處理「改了什麼」。它把新增、刪除與修改的行標示出來，新增以綠色、刪除以紅色呈現。看到差異之後，你可以接受變更、留下註解，或請 Copilot 再調整。GitHub 的說法是使用者保有最終決定權。&lt;/p&gt;
&lt;p&gt;終端機面板處理「跑不跑得起來」。指令直接在 session 內執行，GitHub 特別提到多數情況只是跑專案自己的指令並讀結果，不需要把它當成什麼高門檻工具。除了手動執行，也可以設定成 script，透過 Run 按鈕觸發。文中以網站專案為例：加入開啟 client 資料夾並執行 &lt;code&gt;npm run dev&lt;/code&gt; 的 dev server script，按 Run 啟動伺服器。終端機可以同時開多個視窗切換。&lt;/p&gt;
&lt;p&gt;瀏覽器面板處理「功能對不對」。只要改動涉及使用者介面，就能在面板內開啟並實際操作新功能。想繼續調整時，Pick &amp;amp; Polish 工具可以選取頁面元素，再交給 agent 修改；改完重跑 dev server script 就能看到結果。&lt;/p&gt;
&lt;h2 id=&quot;為什麼同一個視窗比想像中重要&quot;&gt;為什麼「同一個視窗」比想像中重要&lt;/h2&gt;
&lt;p&gt;這三個面板的價值不在於功能本身有多新，而在於它們把審核變成一個連續動作。當 diff、執行結果與畫面並排存在，你可以在同一個脈絡裡判斷 agent 的產出，而不是先記住某個差異、切到終端機、再切到瀏覽器確認。GitHub 的描述是：review、run、preview 並排，讓 agent 做出的改動「感覺安全而不是可怕」，因為你能證明即將合併的東西真的會動。&lt;/p&gt;
&lt;p&gt;對剛開始用 coding agent 的人來說，這其實是一份可操作的檢查清單。GitHub 建議在按下接受之前固定問三個問題：什麼變了？它跑得起來嗎？它真的有用嗎？這三個問題的順序也合理——先看差異，再驗證執行，最後確認行為符合預期。&lt;/p&gt;
&lt;h2 id=&quot;從審核到開-pr-的收尾&quot;&gt;從審核到開 PR 的收尾&lt;/h2&gt;
&lt;p&gt;確認完成後，可以直接在 Copilot app 內接受變更並建立 pull request。整條流程——看 diff、在終端機啟動專案、在瀏覽器檢查、來回迭代——都在同一個地方完成，不用切換分頁或應用程式，也不會因為跳出去而失去原本的判斷脈絡。&lt;/p&gt;
&lt;p&gt;這裡有一個容易被忽略的取捨：把工具收進同一個介面，降低的是切換成本，但不會自動提升審核品質。diff 面板只呈現差異，是否理解差異仍然取決於你；終端機面板只負責執行，指令對不對仍要自己判斷。面板解決的是「在哪裡看」，不是「看不看得懂」。&lt;/p&gt;
&lt;p&gt;如果你正在導入 agent 協助開發，這種把驗證步驟內建到工作介面的做法，和&lt;a href=&quot;/blog/structured-data-extraction-tools-2026-guide/&quot;&gt;結構化資料擷取工具該先看層級再看可驗證性&lt;/a&gt;的邏輯相近：工具再順手，最後仍要有人能驗證產出。實務上的下一步很簡單——下次 agent 交出改動時，別急著按接受，先依序走完 diff、執行、瀏覽器這三關。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.blog/ai-and-ml/github-copilot/github-copilot-app-for-beginners-using-the-diff-terminal-and-browser/&quot;&gt;GitHub Copilot app for Beginners: Using the diff, terminal, and browser&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>Muse Spark 1.1 把「工具呼叫」變成產品架構問題：Meta Model API 公開預覽的實務訊號</title>
      <description>Meta 推出 Muse Spark 1.1 與 Meta Model API 公開預覽，主打百萬 token 上下文、多代理編排與電腦操作，開發者要重新思考工具層設計。</description>
      <link>https://agenticcommons.xyz/blog/muse-spark-1-1-meta-model-api-agentic-tooling/</link>
      <guid>https://agenticcommons.xyz/blog/muse-spark-1-1-meta-model-api-agentic-tooling/</guid>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <category>Meta</category>
      <category>Muse Spark</category>
      <category>AI API</category>
      <category>AI Agents</category>
      <category>Agentic AI</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/muse-spark-1-1-meta-model-api-agentic-tooling/&quot;&gt;Muse Spark 1.1 把「工具呼叫」變成產品架構問題：Meta Model API 公開預覽的實務訊號&lt;/a&gt;&lt;/p&gt;&lt;p&gt;過去一年，多數團隊在接模型時遇到的真正瓶頸，往往不是模型不夠聰明，而是工具層的設計撐不住長流程。Meta 在 2026 年 7 月 9 日發布 Muse Spark 1.1，同時開放 Meta Model API 公開預覽，等於把這個問題直接推到產品架構層面。&lt;/p&gt;
&lt;h2 id=&quot;這次發布的具體內容&quot;&gt;這次發布的具體內容&lt;/h2&gt;
&lt;p&gt;根據 &lt;a href=&quot;https://ai.meta.com/blog/introducing-muse-spark-meta-model-api/&quot;&gt;Meta AI 的發布說明&lt;/a&gt;，Muse Spark 1.1 是 Meta Superintelligence Labs 推出的多模態推理模型，定位在 agentic 任務，官方稱在工具使用、電腦操作、coding 與多模態理解上都有明顯進步。模型即日起在 Meta AI app 與 meta.ai 以 Thinking 模式提供，開發者則可透過新的 Meta Model API 公開預覽取用。&lt;/p&gt;
&lt;p&gt;值得注意的是，這是 Meta 首次讓開發者透過這個 API 建構。發布說明中引述 Replit 執行長 Amjad Masad 的說法，形容它具備百萬 token 上下文、多模態支援、內建附引用的搜尋、結構化輸出與平行工具呼叫，並以 OpenAI 相容的形式包裝。&lt;/p&gt;
&lt;h2 id=&quot;對建構者的實際差異上下文管理與多代理&quot;&gt;對建構者的實際差異：上下文管理與多代理&lt;/h2&gt;
&lt;p&gt;官方描述裡最值得產品團隊留意的，是模型被訓練成主動管理自己的上下文視窗。發布說明指出 Muse Spark 1.1 可管理 100 萬 token 的上下文，會記住先前的動作、從較早的工作中取回資訊，並在壓縮時保留後續工作所需的關鍵步驟。&lt;/p&gt;
&lt;p&gt;這聽起來像模型能力，實際上是架構選項。當模型自己處理上下文壓縮，團隊就不必在應用層硬寫一套摘要與截斷邏輯；但反過來說，這也意味著你對「哪些資訊被留下」的控制權部分交給了模型。&lt;/p&gt;
&lt;p&gt;多代理方面，發布說明提到它被訓練來編排多代理系統以優化端到端延遲：作為主代理時能收集上下文、規劃並把執行分派給平行子代理；作為子代理時則守住自己的職責，知道何時該升級回主代理。它也聲稱能 zero-shot 泛化到新的原生工具、MCP server 與自訂 skill。&lt;/p&gt;
&lt;p&gt;如果你的產品已經在用 MCP 或自建工具層，這代表工具介面的設計品質會直接影響成敗。工具描述不清、權限邊界模糊，模型再會規劃也救不回來。這條思路和我們先前談過的 &lt;a href=&quot;/blog/openrouter-shell-tool-files-api-sandbox/&quot;&gt;OpenRouter Shell 工具如何改變代理的執行邊界&lt;/a&gt; 是同一個問題：代理能碰到什麼、在哪裡執行，比模型跑分更決定產品能不能上線。&lt;/p&gt;
&lt;h2 id=&quot;電腦操作與-coding什麼時候該寫腳本&quot;&gt;電腦操作與 coding：什麼時候該寫腳本&lt;/h2&gt;
&lt;p&gt;在電腦操作上，發布說明給了一個具體的設計判斷：模型不是逐步推理每個桌面點擊，而是判斷何時該自動化、何時直接操作介面——自動化較快時寫腳本，直接互動較簡單時就點擊，並在每一步產生批次動作。&lt;/p&gt;
&lt;p&gt;Coding 方面，官方稱在大型複雜程式庫的實際任務上有大幅改善，能診斷並修復複雜 bug、在企業級系統實作新功能、執行大型程式碼遷移，並支援 planning mode、goal conditioning、子代理委派與上下文壓縮等常見 agentic coding 設定。發布說明中的示範是在 OpenCode 裡建一個聊天 web app，用自動截圖找出使用者可見的失敗，再回溯到相關程式碼修正並驗證。&lt;/p&gt;
&lt;h2 id=&quot;安全與可用性先看限制&quot;&gt;安全與可用性：先看限制&lt;/h2&gt;
&lt;p&gt;Meta 表示在部署前依 Advanced AI Scaling Framework 做了安全評估，在 Chemical &amp;amp; Biological、Cybersecurity、Loss of Control 三類前沿風險上都在安全範圍內，並稱對直接越獄、來自不可信資料的間接攻擊、prompt injection 與開發者提示攻擊有較強抵抗，同時降低幻覺率與諂媚傾向。這些是官方自評，完整內容在 Muse Spark 1.1 Evaluation Report，第三方驗證仍待觀察。&lt;/p&gt;
&lt;p&gt;實務上，Meta Model API 目前是公開預覽，發布說明未交代定價、速率限制與資料處理條款，這些對成本與合規決策的影響不小。若你正在評估導入，合理的下一步是先拿一個內部工具流程做小規模對照測試，特別觀察兩件事：模型自行壓縮上下文後，關鍵步驟是否還在；以及工具呼叫失敗時，它是否會正確升級而不是硬撐。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ai.meta.com/blog/introducing-muse-spark-meta-model-api/&quot;&gt;Introducing Muse Spark 1.1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把資料庫呼叫藏起來之後：OpenAI 的 Habitat 如何撐住每秒 7,000 萬次請求</title>
      <description>OpenAI 揭露 Habitat 從 Python 函式庫長成獨立服務的取捨：用技術債換開發速度，代價是尾延遲。</description>
      <link>https://agenticcommons.xyz/blog/openai-habitat-storage-service-tail-latency/</link>
      <guid>https://agenticcommons.xyz/blog/openai-habitat-storage-service-tail-latency/</guid>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <category>OpenAI</category>
      <category>AI Infrastructure</category>
      <category>System Design</category>
      <category>Python</category>
      <category>Performance</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/openai-habitat-storage-service-tail-latency/&quot;&gt;把資料庫呼叫藏起來之後：OpenAI 的 Habitat 如何撐住每秒 7,000 萬次請求&lt;/a&gt;&lt;/p&gt;&lt;p&gt;當一個使用者按下送出，背後可能是上百次資料庫查詢。任何一次慢，使用者就覺得產品慢；任何一次失敗，產品就直接不能用。這是 OpenAI 在 2026 年 9 月 11 日發布的技術文章開頭所描述的處境，也是他們打造線上儲存平台 Habitat 的原因。&lt;/p&gt;
&lt;p&gt;根據該篇由 OpenAI 發布的說明，Habitat 目前每秒處理超過 7,000 萬次請求，服務每週超過 10 億人使用的產品，橫跨近 40 個地理區域，承載超過 500 PB 資料。更關鍵的是成長曲線：過去三年，這個系統每年成長超過 10 倍。&lt;/p&gt;
&lt;h2 id=&quot;從函式庫變成服務是為了收斂協調成本&quot;&gt;從函式庫變成服務，是為了收斂協調成本&lt;/h2&gt;
&lt;p&gt;Habitat 在 2024 年中誕生時，只是一個連到 Azure Cosmos DB 的 Python 客戶端函式庫。它的價值在於讓產品工程師不必理解 schema 查詢、路由、授權、加密、序列化、請求塑形與連線池。&lt;/p&gt;
&lt;p&gt;到了 2025 年中，這個模式撞到牆。OpenAI 舉了一個具體例子：他們想把最關鍵的資料集搬到一組區域分散的 Cosmos DB 帳號，以縮小單一區域故障的影響範圍。這件事需要在客戶端加入額外路由邏輯、用 feature flag 包住、確認推送到所有客戶端，再開啟開關。跨數十個服務協調部署花了數天；想加 shadowing 驗證 sharding 邏輯正確，又是數天；發現 bug 要修，再數天。最後準備開 flag 時，某個團隊因為無關原因回滾到有 bug 的舊客戶端，把他們努力想避免的故障真的引發了。&lt;/p&gt;
&lt;p&gt;把儲存邏輯抽成獨立服務，換來的是部署、可觀測性與平台改進的單一控制點。OpenAI 也把這視為安全上的收斂點：存取控制政策、稽核日誌、對底層儲存資源的存取限制，都集中在這一層執行。&lt;/p&gt;
&lt;h2 id=&quot;明知-python-不划算還是先選它&quot;&gt;明知 Python 不划算，還是先選它&lt;/h2&gt;
&lt;p&gt;Habitat 服務用 Python 寫。OpenAI 自己說得很直白：相較於本地函式庫執行，Python 服務會增加網路延遲，也帶來可觀的 CPU 與記憶體擴充成本，而且這些低效在 100 倍規模下不會被接受，未來幾乎確定要重寫。&lt;/p&gt;
&lt;p&gt;他們把這筆帳稱為策略性的技術債。當下的目標不是成本最佳化，而是解開產品開發者的阻塞、取得平台穩定性。他們同時押注自家 coding model 的進步速度，認為等到非遷移不可時，Codex 與 GPT 能讓遷移變得可行，而這個賭注後來證明是對的。&lt;/p&gt;
&lt;p&gt;這種「先買時間、再補地基」的順序安排，和我們在&lt;a href=&quot;/blog/prefix-aware-routing-sagemaker-llm-latency/&quot;&gt;前綴感知路由：讓 KV cache 不再被隨機打散&lt;/a&gt;裡看到的取捨是同一類問題：延遲預算有限時，先決定哪一段可以暫時不完美。&lt;/p&gt;
&lt;h2 id=&quot;尾延遲的敵人不是資料庫是-event-loop&quot;&gt;尾延遲的敵人不是資料庫，是 event loop&lt;/h2&gt;
&lt;p&gt;當平均每個使用者請求會產生數百次資料庫呼叫，使用者感受到的是最慢的那一次。OpenAI 指出，在這種規模下跑 Python 服務，主要挑戰就是管理尾延遲。&lt;/p&gt;
&lt;p&gt;他們的觀察很具體：asyncio 能讓 I/O 密集工作併發執行，但繞不開 GIL，也提供不了 CPU 平行。Habitat 除了代理請求，還要做路由、壓縮、加密、checksum、下游健康檢查、請求 shadowing 與 hedging 等 CPU 密集工作。在 p99 以上的延遲軌跡裡，下游儲存其實回應得很快，請求卻卡在等待協程被重新排程去解析回應。&lt;/p&gt;
&lt;p&gt;他們用一個實測方法量測 event loop 排程延遲：定期排入背景任務，記錄預期與實際執行時間的落差。高利用率下，即使每個 process 只有少量併發請求，也可能產生數百毫秒、極端情況達數秒的排程抖動。對策是讓每個 process 只服務少量併發請求，改為大量水平擴充 Python worker process。&lt;/p&gt;
&lt;h2 id=&quot;兩個被-profiling-抓出來的具體-bug&quot;&gt;兩個被 profiling 抓出來的具體 bug&lt;/h2&gt;
&lt;p&gt;第一個是 feature flag 設定。Statsig 預設每分鐘輪詢一次更新且沒有 jitter，而設定檔包含所有服務的所有 production 規則；同時架構上每個 pod 跑最多 8 個 Python process。結果是每分鐘每個 pod 都會有一刻，所有 worker 停下手上請求，把 CPU 花在解析一份巨大設定檔。修法很單純：部署更小的目標設定、拉長更新間隔、加上 jitter。&lt;/p&gt;
&lt;p&gt;第二個是連線池與負載平衡的衝突。客戶端連線池可能讓一個發出大量併發請求的 client process 只建立少數幾條伺服器連線，把全部負載壓到少數 process 上。在調整負載平衡方式之前，他們的服務利用率變異很大，最尾端的 process 承受的併發請求數是中位數的 5 到 10 倍。&lt;/p&gt;
&lt;h2 id=&quot;對產品開發者的實際意義&quot;&gt;對產品開發者的實際意義&lt;/h2&gt;
&lt;p&gt;這篇是兩部曲的第一篇，OpenAI 表示後續才會細談大規模多租戶可靠性、讀取效能的分層最佳化策略，以及與 Azure Cosmos DB 的合作如何擴展。也就是說，這裡看到的只是前半段。&lt;/p&gt;
&lt;p&gt;可帶走的判斷有兩點。第一，把儲存邏輯抽成服務的時機，往往不是效能問題，而是協調成本問題——當一次改動要跨數十個服務、花上數天還可能被別人的回滾抵銷，抽象層的價值就出現了。第二，當你選擇用一個不擅長高吞吐的語言先上線，就必須同時建立量測能力，否則你連自己欠了多少技術債都不知道。OpenAI 是靠 CPU profiling 才找到那兩個每分鐘發作一次的延遲來源，而不是靠猜。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openai.com/index/scaling-storage-one-billion-users-part-one&quot;&gt;Rapidly scaling online storage to serve over 1 billion ChatGPT users&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>別再只看每百萬 token 報價：Amazon Bedrock 上的 OpenAI 模型該怎麼挑</title>
      <description>AWS 的開源評測把「答對一題要多少錢」和「代理跑幾輪才答對」攤開來算，讓模型選擇回到工作負載本身。</description>
      <link>https://agenticcommons.xyz/blog/openai-model-selection-amazon-bedrock-cost-per-outcome/</link>
      <guid>https://agenticcommons.xyz/blog/openai-model-selection-amazon-bedrock-cost-per-outcome/</guid>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <category>Amazon Bedrock</category>
      <category>OpenAI</category>
      <category>Model Selection</category>
      <category>AI Cost Tracking</category>
      <category>Agent Workflows</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/openai-model-selection-amazon-bedrock-cost-per-outcome/&quot;&gt;別再只看每百萬 token 報價：Amazon Bedrock 上的 OpenAI 模型該怎麼挑&lt;/a&gt;&lt;/p&gt;&lt;p&gt;多數團隊比較生成式 AI 模型的方式都一樣：每百萬 token 多少錢。這個數字印在每一張定價頁上，所以也就成了每一張試算表裡的數字。但正式環境的工作負載買的不是 token，而是結果——一張結掉的客服單、一份完成的研究簡報、一份正確的財務摘要。在定價頁與結果之間，藏著幾個被標價忽略的乘數：模型答對的頻率、它需要多少 token 才走到那裡，以及對代理型工作負載來說，它要跑幾輪，因為每一輪都會把持續長大的對話再送一次。&lt;/p&gt;
&lt;p&gt;AWS Machine Learning Blog 在 2026 年 9 月 11 日發布的&lt;a href=&quot;https://aws.amazon.com/blogs/machine-learning/beyond-the-price-per-token-choosing-the-right-openai-model-on-amazon-bedrock-for-your-workload/&quot;&gt;這篇評測&lt;/a&gt;正是針對這幾個乘數。他們用一個開源評測框架，比較 Amazon Bedrock 上的三個 OpenAI 模型（gpt-5.6-luna、gpt-5.6-terra、gpt-5.6-sol），以及兩個在 OpenAI API 上常見的成本最佳化基準（gpt-5.4-mini、gpt-5.4-nano）。後兩者被選為「多數團隊現在的起點」，而不是同世代的對等比較對象。&lt;/p&gt;
&lt;h2 id=&quot;把答對一題多少錢算出來&quot;&gt;把「答對一題多少錢」算出來&lt;/h2&gt;
&lt;p&gt;AWS 的做法是把模型在對與錯的嘗試上花掉的總額，除以它答對的題數，得到「一次正確答案的觀察成本」。在 AIME 數學競賽題上，sol 解出 75%，mini 是 37%；GPQA Diamond 是 68% 對 43%，MMLU-Pro 是 82% 對 59%。&lt;/p&gt;
&lt;p&gt;真正有意思的是成本那一欄。luna 在原價（約為 mini 的 1.5 倍）時，就已經是每題正確答案便宜 25%，原因是關掉推理後它用的計費 token 比 mini 在預設值下更少。2026 年 7 月 30 日 Bedrock 上 GPT-5.6 Luna 與 Terra 降價（luna 降 80%、terra 降 20%）之後，AWS 記錄到的每題正確 AIME 成本是 luna 的 $0.0021 對 mini 的 $0.0139。&lt;/p&gt;
&lt;p&gt;AWS 也提醒，結果檔目前用的價格假設是 luna 每百萬輸入／輸出 token $0.22／$1.32、terra $2.20／$13.20，實際上線前應以最新的 Bedrock 推論層級與區域定價頁為準。&lt;/p&gt;
&lt;h2 id=&quot;代理的帳單由輪數決定&quot;&gt;代理的帳單由輪數決定&lt;/h2&gt;
&lt;p&gt;單次呼叫的定價看不到代理型工作負載的關鍵特性。AWS 的框架用 &lt;code&gt;store: false&lt;/code&gt; 的客戶端管理歷史，每一輪都重送系統提示、先前的工具結果與對話上下文，所以每輪上下文大致線性成長，累計的計費輸入可能接近平方成長。&lt;/p&gt;
&lt;p&gt;在 DeepSearchQA 的 50 題分層樣本上，mini 平均每題跑了 7.6 輪（多為重複搜尋迴圈），到最後它的輸入 token 量是 terra 的 2.3 倍（每題 114k 對 50k）。結果 terra 較高的 token 單價被更少輪數與更好品質抵銷：每個通過答案 $0.31，mini 是 $0.40，平均 F1 為 0.50 對 0.39。luna 則是每題輪數比 mini 少，每個通過答案 $0.05。nano 的名目 token 價更低，但 18% 的通過率讓它的觀察成本是 $0.07。&lt;/p&gt;
&lt;p&gt;這裡的結論很直接：輪數效率是一個定價變數，而它在定價頁上完全看不見。如果你的代理會串接工具呼叫——研究、多跳查詢、迭代檢索——就該把軌跡成本跟單次呼叫成本一起量。這跟我們先前談&lt;a href=&quot;/blog/prefix-aware-routing-sagemaker-llm-latency/&quot;&gt;前綴感知路由如何影響 KV cache 與延遲&lt;/a&gt;是同一個思路：帳單與延遲往往由架構決定，而不是由單價決定。&lt;/p&gt;
&lt;h2 id=&quot;專業交付物rubric-才是及格線&quot;&gt;專業交付物：rubric 才是及格線&lt;/h2&gt;
&lt;p&gt;很多團隊出貨的是文件——合規簡報、財務計畫、照護流程——這裡的「正確」是一份評分規準，不是字串比對。AWS 跑了 GDPval 的 48 項任務切片，每項都由平均 14 年經驗的專業人士建立 rubric，加權分數達 70% 才算通過。&lt;/p&gt;
&lt;p&gt;三個 gpt-5.6 設定的觀察分數都高於 mini 與 nano，差距最大的是法律、護理與財務建議類任務。luna 在 48 項中 31 項高於 mini、9 項較低、8 項持平，通過 27 項對 mini 的 20 項。降價後 luna 在這個樣本裡成本最低：每個通過交付物 $0.010，mini $0.030、nano $0.012，通過率 56% 對 42% 與 35%。&lt;/p&gt;
&lt;p&gt;AWS 也標註了一個限制：輸出上限設在 8,192 token，導致 luna 6 項、terra 9 項、sol 7 項、nano 1 項交付物被截斷。放寬上限可能改善品質，也可能推高成本，兩者要一起測。&lt;/p&gt;
&lt;h2 id=&quot;對產品團隊的實際意義&quot;&gt;對產品團隊的實際意義&lt;/h2&gt;
&lt;p&gt;AWS 給的遷移判斷很樸素：高頻、低複雜、失敗成本低的任務，從 luna 開始；互動式應用且準確度重要時，先量 luna 並用你的 SLO 重測延遲；會串接工具呼叫的代理，同時量 luna 與 terra；品質有硬門檻的難題，才去看 sol。&lt;/p&gt;
&lt;p&gt;有兩件事值得自己驗證。第一，Bedrock 上的模型是在關閉推理的設定下跑，OpenAI API 基準則用預設值，所以這是「實務部署設定」的比較，不是模型本質能力的受控估計。第二，樣本數介於 48 到 198 之間，差距小的時候只能當方向性參考。&lt;/p&gt;
&lt;p&gt;最務實的下一步不是換模型，而是把評測框架跑在自己的任務上。先量出你的「一次正確結果」成本，再決定要不要動。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://aws.amazon.com/blogs/machine-learning/beyond-the-price-per-token-choosing-the-right-openai-model-on-amazon-bedrock-for-your-workload/&quot;&gt;Beyond the price per token: Choosing the right OpenAI model on Amazon Bedrock for your workload&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把 TTS 接進產品前，先處理音訊位元組與錯誤分類</title>
      <description>OpenRouter 用一個 OpenAI 相容端點統一多家 TTS 模型，但真正的工程量在回應驗證、格式限制與重試分類。</description>
      <link>https://agenticcommons.xyz/blog/openrouter-tts-api-response-validation/</link>
      <guid>https://agenticcommons.xyz/blog/openrouter-tts-api-response-validation/</guid>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <category>OpenRouter</category>
      <category>Voice AI</category>
      <category>API</category>
      <category>AI Integration</category>
      <category>Production</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/openrouter-tts-api-response-validation/&quot;&gt;把 TTS 接進產品前，先處理音訊位元組與錯誤分類&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;一個端點換來的是驗證責任&quot;&gt;一個端點，換來的是驗證責任&lt;/h2&gt;
&lt;p&gt;OpenRouter 在 2026 年 9 月 11 日發布的教學裡，把 text-to-speech 收斂成一個 OpenAI 相容的 &lt;code&gt;POST /api/v1/audio/speech&lt;/code&gt; 端點。請求只需要 &lt;code&gt;model&lt;/code&gt;、&lt;code&gt;input&lt;/code&gt;，加上多數模型都要求的 &lt;code&gt;voice&lt;/code&gt;；換供應商時，端點、認證與回應處理都不變，只有 model 與 voice 這一對要一起換。&lt;/p&gt;
&lt;p&gt;這聽起來像省事，實際上把工作往下推了一層。成功回應是 raw audio bytes，失敗回應是 JSON。也就是說，如果你沒有先檢查狀態碼與 &lt;code&gt;Content-Type&lt;/code&gt; 就把 &lt;code&gt;response.content&lt;/code&gt; 寫成 &lt;code&gt;output.mp3&lt;/code&gt;，你存下來的很可能是一段錯誤訊息，而不是音檔。&lt;/p&gt;
&lt;h2 id=&quot;先驗證再寫檔&quot;&gt;先驗證，再寫檔&lt;/h2&gt;
&lt;p&gt;教學裡的 Python 範例示範了正確順序：&lt;code&gt;raise_for_status()&lt;/code&gt; 先擋掉 4xx／5xx，再確認 &lt;code&gt;Content-Type&lt;/code&gt; 是 &lt;code&gt;audio/mpeg&lt;/code&gt;，最後才 &lt;code&gt;write_bytes&lt;/code&gt;。cURL 版本則靠 &lt;code&gt;--fail-with-body&lt;/code&gt; 讓失敗時回傳非零退出碼，並提醒失敗後要用 &lt;code&gt;cat output.mp3&lt;/code&gt; 讀錯誤、刪掉檔案再重試。&lt;/p&gt;
&lt;p&gt;JavaScript 版本多了一步：內容型別不符時先 &lt;code&gt;response.body?.cancel()&lt;/code&gt;，避免留下半截串流。這些檢查看起來瑣碎，但它們決定了你的 pipeline 是「偶爾產出 JSON 假音檔」還是「明確失敗」。&lt;/p&gt;
&lt;h2 id=&quot;格式與模型是綁在一起的&quot;&gt;格式與模型是綁在一起的&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;response_format&lt;/code&gt; 與 &lt;code&gt;speed&lt;/code&gt; 都是選填，但教學建議明確指定格式，因為各模型支援度不同。端點在省略時預設 PCM，而 Mistral Voxtral Mini TTS 只接受 MP3，對它要求 PCM 會拿到 400。PCM 回傳 &lt;code&gt;audio/pcm&lt;/code&gt;，可帶 rate 與 channels 參數，但把副檔名改成 &lt;code&gt;.mp3&lt;/code&gt; 不會轉換格式。&lt;/p&gt;
&lt;p&gt;voice 也不是通用識別碼。Grok Voice TTS 1.0 列出 &lt;code&gt;eve&lt;/code&gt;、&lt;code&gt;ara&lt;/code&gt;、&lt;code&gt;rex&lt;/code&gt;、&lt;code&gt;sal&lt;/code&gt;、&lt;code&gt;leo&lt;/code&gt; 五個內建聲音；換供應商時必須同時更新 model 與 voice。Microsoft MAI-Voice-2 走 Azure 風格的聲音名稱，並透過 &lt;code&gt;provider.options.azure&lt;/code&gt; 傳入 &lt;code&gt;style&lt;/code&gt; 與 &lt;code&gt;styledegree&lt;/code&gt;，&lt;code&gt;speed&lt;/code&gt; 支援 0.5 到 2.0。這些都是供應商專屬設定，不支援的供應商可能直接忽略。&lt;/p&gt;
&lt;p&gt;教學也提到，截至 2026 年 9 月，live catalog 裡沒有 OpenAI 的語音模型，所以依賴特定供應商欄位前要先查目前模型清單。&lt;/p&gt;
&lt;h2 id=&quot;重試要分類不要一律-backoff&quot;&gt;重試要分類，不要一律 backoff&lt;/h2&gt;
&lt;p&gt;生產環境的建議很具體：長文本按句子或段落切段、依序請求、再用理解格式的工具合併，這樣第一段能更早回來。每一段都要套同一組檢查，並把 &lt;code&gt;X-Generation-Id&lt;/code&gt; 連同 model、voice、格式與自家 request ID 一起記錄。&lt;/p&gt;
&lt;p&gt;重試只針對 429、502、503、524、529，並遵循 &lt;code&gt;Retry-After&lt;/code&gt;，否則用有上限的指數退避。400、401、402 不該進退避迴圈，要先修請求、憑證或額度。計價方面，TTS 模型按輸入字元計費，費率依模型與供應商而異。&lt;/p&gt;
&lt;h2 id=&quot;這件事對建置順序的影響&quot;&gt;這件事對建置順序的影響&lt;/h2&gt;
&lt;p&gt;如果你正在評估語音功能，這個端點確實降低了「接第二家 TTS」的成本，但代價是你要自己承擔格式與錯誤處理的複雜度。這跟我們先前在&lt;a href=&quot;/blog/ai-voice-agent-platform-selection-guide/&quot;&gt;挑選 AI 語音代理平台&lt;/a&gt;時談到的順序一致：先拆解部署層級與成本，再談功能。&lt;/p&gt;
&lt;p&gt;實務上的下一步很簡單：先用 &lt;code&gt;curl &quot;https://openrouter.ai/api/v1/models?output_modalities=speech&quot;&lt;/code&gt; 確認目前可用的語音模型，然後把「狀態碼檢查、Content-Type 檢查、空回應檢查、generation ID 記錄」寫成一個共用函式，再開始接 UI。這四件事沒做好，之後換模型只會放大問題。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openrouter.ai/blog/tutorials/text-to-speech/&quot;&gt;OpenRouter Text-to-Speech: API Tutorial in 5 Minutes — OpenRouter Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把兩階段訓練拿掉之後：SimpleDesign 對蛋白質設計流程的意義</title>
      <description>Apple 的 SimpleDesign 直接在資料空間訓練序列與結構共同設計模型，挑戰先訓練 autoencoder 的兩階段慣例。</description>
      <link>https://agenticcommons.xyz/blog/simpledesign-protein-codesign-single-stage/</link>
      <guid>https://agenticcommons.xyz/blog/simpledesign-protein-codesign-single-stage/</guid>
      <pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI for Science</category>
      <category>Machine Learning</category>
      <category>Biotech</category>
      <category>Model Training</category>
      <category>Product Builders</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/simpledesign-protein-codesign-single-stage/&quot;&gt;把兩階段訓練拿掉之後：SimpleDesign 對蛋白質設計流程的意義&lt;/a&gt;&lt;/p&gt;&lt;p&gt;蛋白質設計的模型訓練，長期以來有一套看起來很合理、但其實很貴的流程：先訓練 autoencoder 把序列與結構壓成 latent representation，再訓練生成模型在 latent space 裡工作。Apple ML Research 在 2026 年 9 月 11 日發表的 SimpleDesign 論文，直接質疑這個前提是否必要。&lt;/p&gt;
&lt;h2 id=&quot;被拿掉的那一階段&quot;&gt;被拿掉的那一階段&lt;/h2&gt;
&lt;p&gt;根據 &lt;a href=&quot;https://machinelearning.apple.com/research/simpledesign-protein-codesign&quot;&gt;Apple ML Research 的論文頁面&lt;/a&gt;，SimpleDesign 是一個直接在資料空間訓練的多模態蛋白質設計模型，採用單階段端到端目標：序列用離散 cross-entropy，結構用 regression objective。作者群的假設是，要得到表現良好的 co-design 模型，多階段訓練並非必要。&lt;/p&gt;
&lt;p&gt;這件事對做產品的人有意義，因為兩階段訓練的成本不只是算力。它把 pipeline 切成兩個獨立的失敗點：autoencoder 的 latent 品質決定上限，生成模型只能在那個上限裡工作。當你發現最終輸出不好，很難判斷問題出在壓縮階段還是生成階段。單階段目標把這個診斷問題收斂成一個。&lt;/p&gt;
&lt;h2 id=&quot;模態差異怎麼處理&quot;&gt;模態差異怎麼處理&lt;/h2&gt;
&lt;p&gt;序列是離散的，結構是連續的，硬把兩者塞進同一個表徵會互相牽制。論文提到，SimpleDesign 用 Transformer-based multimodal backbones，允許 modality-specific processing，同時在兩個模態上保留 global self-attention。&lt;/p&gt;
&lt;p&gt;這是架構上的取捨，不是魔法。保留全域注意力意味著模型仍要付出跨模態計算的代價，換來的是序列與結構之間的對應關係不會在早期就被壓扁。作者在超過 200 萬組 sequence-structure pairs 上訓練，並在 co-design 與無條件序列／結構生成 benchmark 上取得具競爭力的表現。&lt;/p&gt;
&lt;p&gt;值得注意的是，論文用「competitive」而不是「state-of-the-art」。對要選模型的團隊來說，這個措辭差異決定了 SimpleDesign 是替代方案還是對照組。&lt;/p&gt;
&lt;h2 id=&quot;對建置流程的實際影響&quot;&gt;對建置流程的實際影響&lt;/h2&gt;
&lt;p&gt;如果你正在評估蛋白質設計的模型堆疊，這篇論文提供一個可檢驗的方向：先問「這個 latent space 真的在幫我，還是只是歷史慣例」。同樣的問題在別的領域也出現過——把生物序列當成搜尋空間、用代理縮短前期探索，這類做法的價值往往來自減少中間層，而不是增加中間層。&lt;/p&gt;
&lt;p&gt;延伸閱讀可以參考站上這篇：&lt;a href=&quot;/blog/codex-chatgpt-antimicrobial-molecule-search/&quot;&gt;把生物序列當搜尋空間：Codex 與 ChatGPT 如何縮短抗菌分子前期探索&lt;/a&gt;，它談的是同一個大方向——讓模型更靠近原始資料，而不是更靠近人類設計的中介表徵。&lt;/p&gt;
&lt;h2 id=&quot;還沒被回答的部分&quot;&gt;還沒被回答的部分&lt;/h2&gt;
&lt;p&gt;supplied RSS summary 沒有提供推論成本、模型規模或與既有 co-design 方法的逐項比較數字，因此無法判斷單階段訓練在實際部署時省下多少資源。論文標註部分作者的工作是在 Apple 期間完成，第一作者同時隸屬 Mila 與 Université de Montréal，這些隸屬關係對後續維護與授權的影響，來源也沒有說明。&lt;/p&gt;
&lt;p&gt;實務上的下一步很簡單：如果你的 pipeline 目前卡在 latent 品質與生成品質難以歸因，SimpleDesign 的單階段目標值得當成一個對照實驗來讀，而不是直接當成替換方案。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://machinelearning.apple.com/research/simpledesign-protein-codesign&quot;&gt;SimpleDesign: A Joint Model for Protein Sequence and Structure Codesign&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>當 Claude Code 被拿來勒索：產品開發者該從 Anthropic 8 月威脅報告讀到什麼</title>
      <description>Anthropic 8 月威脅報告揭露 Claude Code 被用於自動化勒索、北韓假員工與 AI 生成勒索軟體，本文拆解對產品開發者的三個訊號。</description>
      <link>https://agenticcommons.xyz/blog/anthropic-threat-report-aug-2025-builder-signals/</link>
      <guid>https://agenticcommons.xyz/blog/anthropic-threat-report-aug-2025-builder-signals/</guid>
      <pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate>
      <category>Anthropic</category>
      <category>AI Safety</category>
      <category>Claude</category>
      <category>Product Builders</category>
      <category>Security</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/anthropic-threat-report-aug-2025-builder-signals/&quot;&gt;當 Claude Code 被拿來勒索：產品開發者該從 Anthropic 8 月威脅報告讀到什麼&lt;/a&gt;&lt;/p&gt;&lt;p&gt;過去談 AI 濫用，多半是「模型給了不該給的建議」。Anthropic 在 2025 年 8 月 27 日發布的威脅情報報告，描述的卻是另一件事：模型直接參與操作。報告開頭就點明，威脅行為者已經調整手法，去利用 AI 最進階的能力，而不只是拿它當顧問。&lt;/p&gt;
&lt;p&gt;這對產品開發者的意義很具體——如果你正在做 agent 產品，你的濫用防線不能只擋「有害輸出」，還要擋「有害流程」。&lt;/p&gt;
&lt;h2 id=&quot;三個案例三種不同的濫用形狀&quot;&gt;三個案例，三種不同的濫用形狀&lt;/h2&gt;
&lt;p&gt;報告摘要了三個案例。第一個是代號「vibe hacking」的資料勒索行動：行為者用 Claude Code 自動化偵查、蒐集憑證、滲透網路，並讓模型做戰術與策略決策，例如決定要外洩哪些資料、如何設計心理針對性的勒索要求。報告指出，該行為者至少鎖定 17 個不同組織，涵蓋醫療、緊急服務、政府與宗教機構，勒索金額有時超過 50 萬美元。Anthropic 表示已停用相關帳號，並開發了專門的分類器與新的偵測方法。&lt;/p&gt;
&lt;p&gt;第二個案例是北韓操作人員用 Claude 詐取美國 Fortune 500 科技公司的遠端職位，包括建立假身分、通過技術與程式評估、錄取後實際交付工作。報告強調，這類計畫在 LLM 出現前就存在，但過去操作人員需要多年專門訓練，訓練量能是瓶頸；AI 移除了這個限制。&lt;/p&gt;
&lt;p&gt;第三個案例是一名技術能力有限的網路犯罪者，用 Claude 開發、行銷並散布多個勒索軟體變體，在論壇上以 400 至 1200 美元販售。報告直言，若沒有模型協助，這個人無法實作或除錯加密演算法、反分析技術或 Windows 內部操作。&lt;/p&gt;
&lt;h2 id=&quot;真正的轉折從給建議到做決策&quot;&gt;真正的轉折：從「給建議」到「做決策」&lt;/h2&gt;
&lt;p&gt;報告反覆出現的一個判斷是：代理式 AI 已被武器化。模型不再只是提供攻擊建議，而是執行攻擊。這也讓防禦更難，因為工具能即時適應防禦措施，例如惡意軟體偵測系統。&lt;/p&gt;
&lt;p&gt;另一條線是門檻下降。報告認為，AI 輔助寫程式正在降低網路犯罪所需的技術專業，因此預期這類攻擊會更常見。第三條線是 AI 已嵌入犯罪流程的各個階段——剖析受害者、分析竊得的資料、盜取信用卡資訊、建立假身分。&lt;/p&gt;
&lt;p&gt;把這三條線放在一起看，濫用不再是單點事件，而是一條從偵查到變現的流水線。&lt;/p&gt;
&lt;h2 id=&quot;對正在做-agent-產品的人這代表什麼&quot;&gt;對正在做 agent 產品的人，這代表什麼&lt;/h2&gt;
&lt;p&gt;第一，訊號要看流程而不是單次輸出。單一 prompt 可能完全無害，但「偵查 → 取得憑證 → 決定外洩目標 → 產生勒索文案」這串序列才是問題。如果你的產品有工具呼叫與多步驟執行，記錄與關聯這些步驟，比事後審查個別回應更有用。&lt;/p&gt;
&lt;p&gt;第二，能力邊界要跟著產品能力走。Anthropic 在每個案例後都描述了對應措施：停用帳號、加入分類器、新增偵測方法、改善蒐集與關聯已知指標的工具、偵測惡意軟體的上傳與生成。這些不是一次性修補，而是隨著濫用型態更新。&lt;/p&gt;
&lt;p&gt;第三，這類報告的價值在於可操作的指標。Anthropic 表示已把濫用指標分享給第三方安全團隊與相關主管機關。對開發者來說，這意味著外部情報可以回饋到自己的偵測規則裡，而不是每個人從零開始。&lt;/p&gt;
&lt;p&gt;如果你關心的是模型本身被攻擊、而非被濫用，之前那篇談 &lt;a href=&quot;/blog/claude-incident-alignment-security-practices/&quot;&gt;Claude 越獄事件與安全實務&lt;/a&gt; 的文章，補的是另一側的視角：防護機制怎麼被繞過，以及產品團隊可以怎麼設計縱深。兩者合起來看，會比只讀威脅報告更完整。&lt;/p&gt;
&lt;h2 id=&quot;一個務實的下一步&quot;&gt;一個務實的下一步&lt;/h2&gt;
&lt;p&gt;報告最後提到，完整版還涵蓋其他惡意用途，包括試圖入侵越南電信基礎設施，以及用多個 AI agent 進行詐欺，並表示會把 AI 增強的詐欺與網路犯罪列為優先研究方向。&lt;/p&gt;
&lt;p&gt;對產品團隊來說，最實際的動作不是加更多免責聲明，而是先回答一個問題：如果使用者把我們的 agent 串成一條自動化流程，我們在哪些節點看得到、攔得住？這個問題沒有現成答案，但至少現在有公開的案例可以對照。&lt;/p&gt;
&lt;p&gt;需要留意的是，以上內容來自 Anthropic 的報告摘要與案例描述，並非獨立驗證的第三方調查；報告中提到的分類器與偵測方法，其效果也未在摘要中量化。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.anthropic.com/news/detecting-countering-misuse-aug-2025&quot;&gt;Detecting and countering misuse of AI: August 2025&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>從租用通用 AI 到擁有專屬智慧：Cloudera 與 Mistral 合作如何改變企業建置方式</title>
      <description>Cloudera 與 Mistral 合作讓企業在自有環境中部署、微調並完全掌控 AI 模型，從租用通用模型轉向擁有專屬智慧。</description>
      <link>https://agenticcommons.xyz/blog/cloudera-mistral-sovereign-enterprise-ai/</link>
      <guid>https://agenticcommons.xyz/blog/cloudera-mistral-sovereign-enterprise-ai/</guid>
      <pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate>
      <category>Enterprise AI</category>
      <category>Mistral</category>
      <category>Sovereign AI</category>
      <category>AI Infrastructure</category>
      <category>Product Builders</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/cloudera-mistral-sovereign-enterprise-ai/&quot;&gt;從租用通用 AI 到擁有專屬智慧：Cloudera 與 Mistral 合作如何改變企業建置方式&lt;/a&gt;&lt;/p&gt;&lt;p&gt;企業在受監管產業中推動 AI 時，最常卡住的不是模型能力，而是資料與智慧的控制權。金融、製造、電信這類行業的資料往往散落在本地端與雲端，且涉及高度敏感的決策邏輯。Cloudera 與 Mistral 在 2026 年 9 月 10 日宣布的合作，正是針對這個痛點：讓企業在自有環境中部署、微調並完全掌控 AI 模型。&lt;/p&gt;
&lt;h2 id=&quot;從租用到擁有的轉變&quot;&gt;從「租用」到「擁有」的轉變&lt;/h2&gt;
&lt;p&gt;Cloudera 的 Chief Business Officer Abhas Ricky 點出關鍵：「通用模型是起點，不是終點。真正的優勢來自於用數十年的專有資料訓練出的模型——那些別人沒有的貸款決策、生產批次、網路遙測資料。」這與我們在&lt;a href=&quot;/blog/small-language-models-enterprise-benefits/&quot;&gt;細模型的大優勢&lt;/a&gt;中討論的企業 AI 策略一致：重點不在模型多大，而在模型多貼合你的業務脈絡。&lt;/p&gt;
&lt;p&gt;Mistral 的模型將整合進 Cloudera 的混合資料平台，企業可以在私有雲、公有雲、本地端甚至完全隔離的環境中執行推論。這代表資料不需要離開企業定義的邊界，模型權重可以基於開放權重進行調整與擁有，訓練與推論可以在企業選擇的基礎設施與司法管轄區內進行。&lt;/p&gt;
&lt;h2 id=&quot;對產品建置者的實際意義&quot;&gt;對產品建置者的實際意義&lt;/h2&gt;
&lt;p&gt;如果你正在規劃企業級 AI 產品，這個合作提供了幾個具體的建置方向：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;推論位置由你決定&lt;/strong&gt;：模型可以部署在完全隔離的環境，適合處理極度敏感的資料。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模型所有權明確&lt;/strong&gt;：基於開放權重微調出的模型，企業可以完全擁有，不必擔心被平台綁定。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;學習迴路留在內部&lt;/strong&gt;：AI 系統的部署、治理、觀察與改善都可以在企業自己的環境中完成，不必把學習迴路交給外部平台。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這與我們之前討論的&lt;a href=&quot;/blog/in-region-routing-decryption-vs-inference/&quot;&gt;區域路由的關鍵&lt;/a&gt;有相似的核心：真正的控制權不在於「在哪裡推論」，而在於「誰能存取與解密你的請求與資料」。Cloudera 與 Mistral 的合作把這個概念延伸到模型訓練與微調階段。&lt;/p&gt;
&lt;h2 id=&quot;主權-ai-不只是合規議題&quot;&gt;主權 AI 不只是合規議題&lt;/h2&gt;
&lt;p&gt;主權 AI 常被簡化為法規遵循，但從產品建置的角度看，它更是一種架構選擇。當企業能把模型訓練、推論與資料管理都放在同一個控制平面內，就能更自由地迭代模型，而不必擔心資料外流或供應商鎖定。&lt;/p&gt;
&lt;p&gt;Mistral 的 SVP of Partnerships Kamal Brar 提到，Cloudera 平台上管理著 30 exabytes 的客戶資料。這個數字背後代表的是大量尚未被轉化為智慧的企業知識。對產品建置者來說，這意味著一個明確的訊號：下一波企業 AI 的差異化，將來自於誰能最有效地把內部資料轉化為可擁有的模型。&lt;/p&gt;
&lt;h2 id=&quot;下一步該注意什麼&quot;&gt;下一步該注意什麼&lt;/h2&gt;
&lt;p&gt;目前公布的資訊聚焦在合作方向與願景，具體的整合方式、定價與技術細節尚未揭露。如果你正在評估企業 AI 部署方案，可以開始思考：你的產品是否需要在完全隔離的環境中運作？你的客戶是否要求模型所有權？這些問題的答案會決定你應該多關注這類主權 AI 解決方案。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mistral.ai/news/mistral-x-cloudera/&quot;&gt;Cloudera and Mistral Partner for Sovereign Enterprise AI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把生物序列當搜尋空間：Codex 與 ChatGPT 如何縮短抗菌分子前期探索</title>
      <description>César de la Fuente 的實驗室用深度學習模型加上 Codex、ChatGPT，把抗菌候選分子的前期搜尋從數年壓縮到數小時。</description>
      <link>https://agenticcommons.xyz/blog/codex-chatgpt-antimicrobial-molecule-search/</link>
      <guid>https://agenticcommons.xyz/blog/codex-chatgpt-antimicrobial-molecule-search/</guid>
      <pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate>
      <category>OpenAI Codex</category>
      <category>ChatGPT</category>
      <category>AI for Science</category>
      <category>Drug Development</category>
      <category>Biotech</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/codex-chatgpt-antimicrobial-molecule-search/&quot;&gt;把生物序列當搜尋空間：Codex 與 ChatGPT 如何縮短抗菌分子前期探索&lt;/a&gt;&lt;/p&gt;&lt;p&gt;抗藥性微生物的帳單正在變大。OpenAI 於 2026 年 9 月 10 日發布的案例指出，2021 年約有五百萬人死亡與細菌抗藥性相關，而這個數字到 2050 年可能再翻一倍。更棘手的是供給端：生物工程師 César de la Fuente 在文中直言，人類已經五十年沒有出現新的抗生素類別。&lt;/p&gt;
&lt;p&gt;這篇文章談的不是又一個模型排行榜，而是一個很具體的工程問題：當候選分子的搜尋空間大到人力掃不完，研究者要怎麼把 AI 放進流程裡，而不只是拿它寫摘要。&lt;/p&gt;
&lt;h2 id=&quot;把-dna-當成資訊系統而不是試管裡的東西&quot;&gt;把 DNA 當成資訊系統，而不是試管裡的東西&lt;/h2&gt;
&lt;p&gt;de la Fuente 實驗室的做法，是把生物學視為一套資訊系統。他形容 DNA 的核苷酸、蛋白質與胜肽的胺基酸「像是一套字母表」，而思考生物學為資訊，讓團隊得以發展出解讀生命組織原則的方法。&lt;/p&gt;
&lt;p&gt;實作上，實驗室的深度學習模型被訓練來辨識生物序列中的模式，進而在龐大的基因體與蛋白質資料集中搜尋可能的抗菌分子。根據 &lt;a href=&quot;https://openai.com/index/using-codex-chatgpt-to-search-for-new-antimicrobials&quot;&gt;OpenAI 的案例說明&lt;/a&gt;，這個做法可以把候選分子的初步搜尋從數年縮短到數小時。&lt;/p&gt;
&lt;p&gt;這裡的關鍵不是「AI 找到新藥」，而是 AI 把一個 needle-in-a-haystack 的問題，變成一份人類可以接著做實驗的候選清單。&lt;/p&gt;
&lt;h2 id=&quot;codex-與-chatgpt-在實驗室裡實際做什麼&quot;&gt;Codex 與 ChatGPT 在實驗室裡實際做什麼&lt;/h2&gt;
&lt;p&gt;除了自家模型，這個實驗室也用 ChatGPT 和 Codex 來發想假設、撰寫與修改程式、處理資料集、分析結果，以及串接跨學科的想法。&lt;/p&gt;
&lt;p&gt;值得注意的是團隊組成：成員來自生物、化學、電腦科學與工程。有些人程式能力強但生物化學較弱，有些人相反。Codex 與 ChatGPT 在這裡的角色是補位——讓生物學家能寫程式，讓程式設計師能處理生物問題。&lt;/p&gt;
&lt;p&gt;de la Fuente 也把 ChatGPT 當成腦力激盪的對象。他說實驗室的 ChatGPT workspace 收到來自各種不同思考方式的人所輸入的內容，成員把好想法和壞想法都丟進去，使它成為某種協作式的回音板。他同時提醒，任何輸出都必須再次核對準確性。&lt;/p&gt;
&lt;p&gt;如果你的團隊也在做跨領域的探索工作，這種「共享工作區當作共同記憶」的用法，比單人訂閱更接近真正的協作模式。類似地，當 AI 開始接手過去需要專家人力堆疊的環節，團隊要重新想的是能力邊界，而不只是工具清單；這一點在我們先前談 &lt;a href=&quot;/blog/fde-capability-building-not-dependency/&quot;&gt;FDE 如何從代做轉向能力建構&lt;/a&gt; 時也出現過。&lt;/p&gt;
&lt;h2 id=&quot;候選分子不等於藥物流程還很長&quot;&gt;候選分子不等於藥物：流程還很長&lt;/h2&gt;
&lt;p&gt;OpenAI 的案例把後續關卡寫得很清楚。確認候選分子能殺死目標微生物只是第一步，接著要確定有效劑量、測試對人體細胞的影響；化學家可能還要優化它的效力、安全性或穩定性。&lt;/p&gt;
&lt;p&gt;再往後，團隊要評估毒性劑量、微生物產生抗藥性的難易度、分子在人體中的移動方式，以及可靠的量產方法。通過這些關卡的候選者，還要面對法規審查與臨床試驗，才可能成為核准上市的抗菌藥物。&lt;/p&gt;
&lt;p&gt;這也是 de la Fuente 強調 AI 與實驗室生物學必須一起推進的原因。他說，ground-truth 實驗對驗證 AI 預測是必要的。&lt;/p&gt;
&lt;h2 id=&quot;對產品開發者的實際啟示&quot;&gt;對產品開發者的實際啟示&lt;/h2&gt;
&lt;p&gt;這個案例值得借鏡的地方，不是「AI 可以取代科學家」，而是三件比較可複製的事。&lt;/p&gt;
&lt;p&gt;第一，AI 的價值取決於它被放進哪個環節。這裡它負責的是前期篩選與排序，把候選集縮到人類可以驗證的規模，而不是取代驗證本身。&lt;/p&gt;
&lt;p&gt;第二，跨領域團隊的瓶頸常常是語言，不是智力。當生物學家能自己寫程式、程式設計師能讀懂生物問題，中間的翻譯成本就下降了。&lt;/p&gt;
&lt;p&gt;第三，共享工作區會累積成一種團隊資產。de la Fuente 描述的那種「好壞想法都丟進去」的用法，本質上是在建立可重複使用的上下文，而不是每次從零開始問。&lt;/p&gt;
&lt;p&gt;至於這套方法能不能真的產出新的抗生素類別，OpenAI 的案例並沒有給出答案——它描述的是搜尋階段的加速，以及研究者對 ground-truth 驗證的堅持。對正在評估 AI 工具的人來說，這或許才是最實用的判準：先問它幫你把哪一段流程變短，再問那一段變短之後，誰要負責確認結果是對的。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openai.com/index/using-codex-chatgpt-to-search-for-new-antimicrobials&quot;&gt;How a researcher uses Codex and ChatGPT to search for new antimicrobial molecules&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>Megakernel 不是炫技：把 decode 從「等 kernel」改成「等資料」的實作取捨</title>
      <description>Cohere 用單一 CUDA 檔把 North Mini Code 的 decode 做成 persistent megakernel，batch size 1 吞吐從 vLLM 的 185 tok/s 拉到 292 tok/s。</description>
      <link>https://agenticcommons.xyz/blog/cohere-north-mini-code-megakernel-serving-engine/</link>
      <guid>https://agenticcommons.xyz/blog/cohere-north-mini-code-megakernel-serving-engine/</guid>
      <pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate>
      <category>AI Infrastructure</category>
      <category>LLM</category>
      <category>GPU</category>
      <category>Model Serving</category>
      <category>Performance</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/cohere-north-mini-code-megakernel-serving-engine/&quot;&gt;Megakernel 不是炫技：把 decode 從「等 kernel」改成「等資料」的實作取捨&lt;/a&gt;&lt;/p&gt;&lt;p&gt;多數 LLM serving stack 把每個 forward pass 拆成一連串 kernel：先 launch QKV，等；再 launch attention，等；接著 launch MoE，再等。單看每個 kernel 都沒問題，真正的成本在於中間的等待。decode 階段 batch size 小的時候，GPU 有很大比例的時間在等，而不是在算。&lt;/p&gt;
&lt;p&gt;Cohere 在 2026 年 9 月 8 日發表了針對 North Mini Code 的 serving engine，核心是一個 decode megakernel：BF16、單張 H100，端到端比 vLLM 快 1.25 到 1.41 倍。對產品開發者來說，重點不是「又一個加速技巧」，而是它把「kernel 邊界」這個隱形成本攤開來，並示範了怎麼用一個 CUDA 檔做到真實 serving 需要的功能。&lt;/p&gt;
&lt;h2 id=&quot;為什麼-decode-慢不是算力不夠是頻寬沒用滿&quot;&gt;為什麼 decode 慢：不是算力不夠，是頻寬沒用滿&lt;/h2&gt;
&lt;p&gt;Autoregressive decoding 在低 batch size 時是 memory-bound 的。North Mini Code 是 30B 模型，每個 token 只有 3.3B 參數活躍，BF16 下每個 decode step 要從 HBM 搬 6.6 GB 權重，加上 8K context 約 0.5 GB 的 KV cache。H100 的 HBM 頻寬是 3.35 TB/s，理論速度上限（Speed-of-Light）約 470 tok/s。但 vLLM 實際只跑到 185 tok/s，等於只用了 39% 的頻寬。&lt;/p&gt;
&lt;p&gt;Cohere 的 megakernel 在 batch size 1 達到 292 tok/s，也就是 62% 的 SoL，比 vLLM 快 1.58 倍。這個差距在不同 batch size 和最高 256K context 下都維持，而且沒有可測量的精度損失。&lt;/p&gt;
&lt;h2 id=&quot;megakernel-的運作方式一個-persistent-kernel-取代一百個小-kernel&quot;&gt;Megakernel 的運作方式：一個 persistent kernel 取代一百個小 kernel&lt;/h2&gt;
&lt;p&gt;GPU 上有 100 到 150 個 SM（streaming multiprocessor），每個 SM 跑同一個 kernel 程式，但處理不同資料。Megakernel 的做法是：每個 SM 只 launch 一個 threadblock，整個 decode step 都保持 resident。工作不是由 driver 分派，而是每個 block 從 global memory 讀一份 task list——每個 task 代表一個 tile 的某個 operation。&lt;/p&gt;
&lt;p&gt;資料相依性不再靠 kernel 邊界表達，而是用 global memory 裡的 counter：task 完成時 increment 一個 counter，需要輸入時 spin 等待對應的 counter。這樣一來，排程單位從「整個 operation」縮小到「一個 tile」，同步單位從「整顆 GPU」縮小到「特定 producer」。&lt;/p&gt;
&lt;h2 id=&quot;三個實際的加速來源&quot;&gt;三個實際的加速來源&lt;/h2&gt;
&lt;p&gt;Cohere 列出三個比「減少 launch overhead」更重要的因素，依影響排序：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. 消除 wave quantization&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;假設一個 kernel 有 200 個 tile，GPU 有 132 個 SM。第一波 132 個 tile 平行跑，剩下 68 個 tile 跑第二波，此時有 64 個 SM 閒置。kernel 越小，這種「進位損失」越嚴重。GEMM tile 形狀受限於矩陣維度和 kernel 設計，tile 總數很少剛好是 SM 數的倍數。Megakernel 沒有邊界要對齊：哪個 SM 有空，ready 的 tile 就開始跑。&lt;/p&gt;
&lt;p&gt;North Mini Code 特別受惠，因為它用 parallel transformer layer：attention 和 MoE feed-forward 從同一個 normalized input 計算，最後才用 fused residual add + RMSNorm 合併。這表示 attention 和 MoE 不需要等對方的輸出，megakernel 可以更積極地把 ready 的工作「回填」到閒置的 SM。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. 移除 false dependency&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;SM 不會同時完成工作，即使 workload 相同。kernel 邊界等於全 GPU barrier，最慢的 SM 決定所有人的進度。例如 attention 拆成 4 個 KV group，某個 group 先算完，那個 SM 還是得等其他三個，即使它下一步需要的資料已經在 memory 裡。Megakernel 用 fine-grained barrier 移除這種假相依：某個 KV group 的 O-proj 可以在該 group 的 attention output 落地後立刻開始；MoE 的 down projection 也可以在對應 expert 的 up projection 完成後就啟動，不用等所有 expert。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. 權重 prefetch&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;權重是 immutable 的，不依賴這一步的 activation。所以 task 可以在 activation dependency 滿足之前，就開始把權重 tile 從 HBM 搬進 shared memory。Cohere 在 router 和 QKV projection 上用得最積極：在前一層 O-proj 的尾聲就開始 prefetch 權重，搶在 RMSNorm 執行之前，把原本閒置的頻寬用掉。&lt;/p&gt;
&lt;h2 id=&quot;從-hazy-research-的基礎出發但做了務實的取捨&quot;&gt;從 Hazy Research 的基礎出發，但做了務實的取捨&lt;/h2&gt;
&lt;p&gt;Cohere 的設計大量借鑑 Hazy Research 的「Look Ma, No Bubbles!」那篇開創性文章。那篇把 Llama-3.2-1B 的 forward pass 融進單一 kernel，在 batch size 1 達到 H100 頻寬的 78%，而 vLLM 和 SGLang 只有大約一半。Cohere 沿用三個關鍵想法：GPU 上的 task interpreter pattern、counter-based synchronization、跨 task boundary 的 overlap。&lt;/p&gt;
&lt;p&gt;但 Cohere 做了幾個不同的決定。他們的 GEMM 大量使用 tensor core instruction（wgmma），即使在 batch size 1 也比 CUDA core 快，而且減少 register pressure。更重要的是，他們放棄了 shared memory paging 來做 weight prefetch——原本以為可以讓 memory load 在 previous task 釋放 buffer 前就開始，但實際 bookkeeping 太複雜、容易出 bug，overhead 反而超過好處。&lt;/p&gt;
&lt;p&gt;取而代之的是兩個更便宜的重疊來源：同類型連續 GEMM task 之間，讓 pipeline 的 stage phase 跨 tile 延續，而不是每個 tile 邊界都 drain 再 refill；以及在 GEMM pipeline 內部，讓 producer warp 在等待 cross-SM activation 之前就先發出 weight tile load。&lt;/p&gt;
&lt;h2 id=&quot;對產品開發者的意義&quot;&gt;對產品開發者的意義&lt;/h2&gt;
&lt;p&gt;這篇的價值不只是「Cohere 跑得比 vLLM 快」。它示範了一種不同的思考方式：decode 階段的瓶頸不是 flops，而是 memory bandwidth 和 latency。如果你在評估 serving 方案，與其只看 benchmark 數字，不如問：這個系統在 batch size 1 到 8 的區間，實際用到了多少 HBM 頻寬？kernel 邊界造成的等待佔了多少比例？&lt;/p&gt;
&lt;p&gt;Cohere 也強調 megakernel 沒有想像中難寫。他們的實作是單一 CUDA 檔，沒有 compiler、沒有新的程式設計典範，就是把既有的 tiled GEMM 和 paged attention 重新組織成單一 calling convention。這對想要自己動手優化 decode 的團隊來說，是一個務實的參考點。&lt;/p&gt;
&lt;p&gt;如果你正在處理類似的效能問題，這篇的&lt;a href=&quot;https://cohere.com/blog/megakernels&quot;&gt;完整程式碼在 GitHub 上&lt;/a&gt;，可以直接看他們怎麼處理 task scheduler、barrier 和 weight prefetch。另外，如果你對「用更少的資源跑更大的模型」這個方向有興趣，之前寫過的&lt;a href=&quot;/blog/small-language-models-enterprise-benefits/&quot;&gt;細模型的大優勢：企業如何用小語言模型省錢又高效&lt;/a&gt;也討論了類似的取捨邏輯。&lt;/p&gt;
&lt;p&gt;Megakernel 不是萬靈丹。它最適合 decode 階段、低 batch size、memory-bound 的場景。如果你的 workload 是 prefill-heavy 或 batch size 很大，傳統的 kernel-per-operation 可能還是比較合適。但當你的服務瓶頸在 decode latency，而且 batch size 多半很小時，把 kernel 邊界拆掉是一個值得認真評估的方向。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://cohere.com/blog/megakernels&quot;&gt;Cohere’s North Mini Code Megakernel Serving Engine | Cohere&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
    <item>
      <title>把終端機交給任何模型：OpenRouter 的 Shell 工具如何改變代理的執行邊界</title>
      <description>OpenRouter 推出 shell 工具與 Files API，任何模型都能在託管沙箱中執行指令與處理檔案，讓代理從「生成答案」變成「實際操作」。</description>
      <link>https://agenticcommons.xyz/blog/openrouter-shell-tool-files-api-sandbox/</link>
      <guid>https://agenticcommons.xyz/blog/openrouter-shell-tool-files-api-sandbox/</guid>
      <pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate>
      <category>OpenRouter</category>
      <category>Agentic Tools</category>
      <category>Sandboxed Code Execution</category>
      <category>API Tools</category>
      <category>Developer Tools</category>
      <content:encoded>&lt;p&gt;&lt;a href=&quot;https://agenticcommons.xyz/blog/openrouter-shell-tool-files-api-sandbox/&quot;&gt;把終端機交給任何模型：OpenRouter 的 Shell 工具如何改變代理的執行邊界&lt;/a&gt;&lt;/p&gt;&lt;h2 id=&quot;為什麼需要一個託管的-shell&quot;&gt;為什麼需要一個託管的 Shell？&lt;/h2&gt;
&lt;p&gt;過去要讓模型執行一段程式碼，開發者通常得自己準備執行環境、處理沙箱隔離、管理檔案傳輸，還要擔心模型輸出的指令會不會弄亂本機。OpenRouter 在 2026 年 9 月 8 日推出的 &lt;code&gt;openrouter:shell&lt;/code&gt; 工具和 Files API，把這層麻煩收進一個託管的 Linux 容器裡。任何支援 tool calling 的模型，現在都能在伺服器端執行指令、讀寫檔案，而且計費方式透明。&lt;/p&gt;
&lt;p&gt;這不是單純的「程式碼執行」功能。它讓模型可以根據執行結果來回修正：寫一個解析 CSV 的腳本，如果失敗了，模型能看到 stderr 的錯誤訊息，然後修改腳本再試一次。這種「執行—觀察—修正」的迴圈，正是代理從被動回答走向主動完成任務的關鍵。&lt;/p&gt;
&lt;h2 id=&quot;兩個工具兩種相容性&quot;&gt;兩個工具，兩種相容性&lt;/h2&gt;
&lt;p&gt;OpenRouter 同時提供 &lt;code&gt;openrouter:shell&lt;/code&gt; 和 &lt;code&gt;openrouter:bash&lt;/code&gt;，分別對應 OpenAI 和 Anthropic 的工具規格。兩者最大的差異在於預設行為：&lt;code&gt;openrouter:bash&lt;/code&gt; 原本會要求你的應用程式在本機執行指令，但你可以把 &lt;code&gt;engine&lt;/code&gt; 設為 &lt;code&gt;&quot;openrouter&quot;&lt;/code&gt;，強制在伺服器沙箱執行。&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;curl&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; https://openrouter.ai/api/v1/responses&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  -H&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;Authorization: Bearer &lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;$OPENROUTER_API_KEY&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  -H&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;Content-Type: application/json&quot;&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; \&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  -d&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &apos;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;model&quot;: &quot;deepseek/deepseek-v4-pro-0813&quot;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;input&quot;: &quot;Check the Python version, then write a script that prints the first 20 primes and run it.&quot;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;tools&quot;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;      { &quot;type&quot;: &quot;openrouter:shell&quot;, &quot;parameters&quot;: { &quot;engine&quot;: &quot;openrouter&quot; } }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  }&apos;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;對開發者來說，這代表你不需要為了換模型而重寫工具呼叫的程式碼。只要模型支援 tool calling，就能用同一套 API 把終端機交給它。&lt;/p&gt;
&lt;h2 id=&quot;容器與檔案的協作方式&quot;&gt;容器與檔案的協作方式&lt;/h2&gt;
&lt;p&gt;沙箱本身是一個隔離的 Linux 容器，網路預設關閉。如果你需要讓模型執行 &lt;code&gt;pip3 install&lt;/code&gt;，可以設定 allowlist，只開放特定網域（例如 pypi.org）。容器閒置 5 分鐘後會休眠，但檔案會保留 30 天。&lt;/p&gt;
&lt;p&gt;Files API 則負責把檔案搬進搬出。你可以先上傳一個 CSV 到 workspace，再把它掛載到容器裡讓模型處理。模型產生的檔案會以 &lt;code&gt;cfile_&lt;/code&gt; 開頭的 ID 回傳，你可以下載，或「promote」到 workspace 長期保存。&lt;/p&gt;
&lt;p&gt;這種設計讓「資料進、結果出」的流程變得很清楚。模型不需要知道檔案實際存在哪裡，它只要在容器裡工作，開發者再透過 API 把結果取回。&lt;/p&gt;
&lt;h2 id=&quot;和其他工具串接的潛力&quot;&gt;和其他工具串接的潛力&lt;/h2&gt;
&lt;p&gt;Shell 工具不是孤立的。你可以同時啟用 &lt;code&gt;openrouter:web_search&lt;/code&gt;，讓模型先搜尋資料，再把結果寫進檔案。例如：「找出本週三個最大的開源 AI 發布，然後寫成一個 markdown 檔案」。搜尋在容器外執行，容器本身不需要網路權限，這對安全性很有幫助。&lt;/p&gt;
&lt;p&gt;這種組合也呼應了我們之前討論過的&lt;a href=&quot;/blog/in-region-routing-decryption-vs-inference/&quot;&gt;區域路由的關鍵不是「在哪推論」，而是「請求在哪解密」&lt;/a&gt;——把敏感操作留在伺服器端，同時保持彈性。&lt;/p&gt;
&lt;h2 id=&quot;計費與限制&quot;&gt;計費與限制&lt;/h2&gt;
&lt;p&gt;沙箱時間以每秒 $0.0001 計費，從第一個指令執行到最後一個指令結束。冷啟動容器最低收 30 秒，但連續請求同一個容器只收一次最低費用。Files API 本身不收費，但總儲存上限 10 GiB。&lt;/p&gt;
&lt;p&gt;目前這些功能都在 beta 階段，API 可能會變動。如果你正在打造需要實際執行能力的代理，這是一個值得嘗試的起點。&lt;/p&gt;
&lt;h2 id=&quot;參考來源&quot;&gt;參考來源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://openrouter.ai/blog/announcements/shell-tool/&quot;&gt;Shell server tool and Files API: a hosted sandboxed shell for any model — OpenRouter Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded>
    </item>
  </channel>
</rss>
