今天來看下這篇文章,第一次看的時候沒意識到重要性,後來看某個面試官在闡述 agent 工程師的區別時特地説到這篇文章才想起來

Anthropic building-effective-agents


Anthropic 觀察了幾十個在生產環境落地的 LLM 系統,發現一個反直覺的規律:最成功的實作往往不是用最複雜的框架,而是用最簡單、可組合的模式。

他們把所有涉及 LLM 自主行動的系統統稱為 agentic system,但在這個概念下做了一個關鍵的架構區分——

03820-hnvwfyrbxcr.png

Workflow

  • 控制流由工程師寫死在程式碼中
  • LLM 是其中一個執行節點
  • 行為可預測、可重複
  • 適合任務邊界清晰的場景

Agent

  • LLM 自己決定下一步怎麼做
  • 工程師設計工具與邊界,不寫路徑
  • 行為具有彈性、開放性
  • 適合任務路徑不可預先知道的場景

核心差異不是「有沒有用 LLM」,而是控制流的所有權歸誰。Workflow 是工程師擁有控制流,Agent 是 LLM 擁有控制流。

Workflow 的五種標準模式

文章列出了五種在生產環境被反覆驗證的 workflow 模式,每一個都有清晰的適用場景:

Prompt chaining

任務拆解成固定的串列步驟,前一步的輸出作為下一步的輸入。適合需要換精確度換延遲的場景。

Routing

先分類輸入,再導向不同的下游處理路徑。讓不同類型的任務各自優化,互不干擾。

Parallelization

同時跑多個 LLM call,結果再彙整。分為任務切分(sectioning)和多數決(voting)兩種形式。

Orchestrator-workers

一個 LLM 負責拆解任務、分配工作,多個 worker LLM 執行。子任務動態決定,不是預先寫死。

Evaluator-optimizer

一個 LLM 生成、另一個評估並給回饋,形成迴圈。適合輸出品質有明確評判標準的任務。

值得注意的是:orchestrator-workers 雖然看起來很像「agent」,但如果整個 orchestration 邏輯是由工程師寫死,LLM 只是按指令執行,它本質上仍是 workflow,只是更靈活的那種。

Agent 的本質:LLM 在環境回饋中自主循環

文章對 agent 的定義很精簡:LLM 在一個迴圈中,根據環境回饋(工具呼叫結果、程式執行結果)自主決策,直到任務完成或達到停止條件。

Agents can handle sophisticated tasks, but their implementation is often straightforward. They are typically just LLMs using tools based on environmental feedback in a loop.

Agent 的適用場景有兩個核心特徵:任務所需的步驟數量無法預先知道,以及正確路徑不能被硬編碼。

代價也很清楚:更高的延遲與成本、錯誤可能累積、需要更多測試與 guardrail。

我認為 workflow 和 agent 的區別,不只是技術架構的選擇,更是工程師思維方式的分水嶺。

Workflow 工程師的核心能力

Workflow 工程師的工作本質是系統設計與流程分解。他們需要把模糊的業務需求拆解成 LLM 可以處理的固定步驟,在每個節點插入適當的驗證與 gate,設計出可預測、可觀測、可維護的流程。這更接近傳統軟體工程的思維。

Agent 工程師的核心能力

Agent 工程師的工作核心則轉向工具介面設計(ACI)與信任邊界管理。你不再寫「做 A 然後做 B 然後做 C」,而是設計「給 LLM 什麼工具、工具的文件怎麼寫、失敗的時候怎麼恢復、在哪些節點需要人工確認」。

文章最犀利的觀察之一:他們在開發 SWE-bench agent 時,花在優化工具上的時間比花在優化 prompt 上的時間還要多。這個細節揭示了 agent 工程的重心所在——不是提示詞魔法,而是介面設計。

兩者都需要的判斷力

文章反覆強調的一個原則是:不要過度建構。很多時候,一個被良好優化的單一 LLM 呼叫就夠了。真正困難的判斷是——什麼時候從 workflow 升級到 agent?

判斷標準很明確:如果任務的正確路徑可以被預先寫下來,用 workflow。如果連「需要哪些步驟」本身都是未知的,才需要 agent 的自主性。

三個核心原則

文章最後給出三條設計 agent 的指導方針,我認為這三條同樣適用於評估一個 agent 工程師的成熟度:

1、Simplicity:保持 agent 設計的簡潔。複雜性應該因需求增長,而非因工程師的偏好增長。

2、Transparency:明確展示 agent 的規劃步驟。可觀測性是信任的基礎,也是除錯的前提。

3、ACI(Agent-Computer Interface):像對待 HCI 一樣用心設計工具介面。工具文件、參數命名、錯誤防護,是 agent 可靠性的根本。

48459-vnlcekmypr.png

無標籤

關注作者:

新增評論