Anthropic釋出一份電商代理架構指南,同時在GitHub上開源參考實作anthropics/commerce-agents,涵蓋購物代理、商家代理,以及零售、旅遊、電信與票務四種情境的框架與測試工具。文章由Ali Shazal與Matthew Koen撰寫。
開頭的建議樸實到有點反直覺:一個模型、一套標準代理迴圈,長尾能力交給技能(skills)處理,工具則直接呼叫既有的後端系統。
技能優於子代理
這份文件把「用技能、不用子代理」列為架構原則第一條。理由是子代理架構的交接過程會讓狀態失真,品質因此下滑。Anthropic表示,在自家的比較中,單一代理搭配技能的組合,在品質上穩定勝過另外兩種做法——一個萬用提示詞包山包海,以及拆成多個子代理。
系統提示詞和技能之間怎麼分配,文件給出一條頻率規則:超過三分之一請求會用到的指令寫進系統提示詞,其餘放進技能。以購物情境為例,商品搜尋幾乎每個工作階段都會用到,所以留在提示詞裡。
介面元件也被當成工具處理,而不是讓模型自行輸出自訂標籤。後面這種做法在正式環境裡的可靠度一直不理想,因為模型輸出的標籤格式沒有強制約束。
快取命中率決定延遲成本
效能這一章的重點全部集中在快取上。文件指出,正式環境的快取命中率可以做到90%到99%,讀取快取的價格只有新token的十分之一。做法是把請求切成三段並固定順序:全域段放系統提示詞與工具定義,工作階段段放使用者情境,易變段放目前狀態。
文件直白點出一個常見陷阱:把時間戳記或目前頁面放在系統提示詞最前面,會讓快取每次請求都失效。這個錯誤在電商情境裡很常見,因為開發者習慣把「目前購物車」塞在最前頭。文件還給出一個參考量級——電商類回覆通常落在500到700個輸出token之間。
選模型的方法論,是把整套測試集在所有候選模型與所有推理檔位上都跑一遍,把品質指標和延遲、成本預算放在一起看,而不是分開評估。
安全不能只靠提示詞
正式部署這一章的立場很堅定:提示詞是安全行為的起點,但在電商場景裡不能是把關的終點。付款、退款、改價這類動作,一律要經過伺服器端暫存與人工核准。文件描述的機制叫做ID層級存取控制——執行框架(harness)會替每個工作階段記錄伺服器實際交給模型的每一個ID,只有記錄在案的ID才能被寫入或通過渲染驗收。模型自己捏造出來的商品ID,會直接被擋在外面。
記憶同樣被移到模型之外處理:長期記憶存進自家資料庫,以有型別的紀錄呈現(鍵、值、類別、來源工作階段),由另一個執行緒或行程非同步讀取工作階段,進行事實的新增、刪除與修改。這種非同步擷取方式讓事實召回率提升了13%。
測試方式捨棄了模擬多輪對話,改用快照做法:建構測試狀態,附加一則使用者訊息,再為結果評分。建議的起始規模是每條使用者流程50到100個測試案例,正反例成對出現,並涵蓋依賴情境的請求,以及橫跨多項能力的請求。
Anthropic表示,這些代理已經在正式環境上線,企業客戶的訂單金額因此變大。具體客戶名稱並未公開。
參考來源:Anthropic官方部落格、GitHub儲存庫anthropics/commerce-agents、CocoLoop;快取命中率、13%的召回率提升,以及500至700個輸出token等數字,均引用自該文件。