在建構 AI 驅動的應用程式時,您通常需要在兩種不同的架構方法之間做出選擇:工作流程(workflows)與代理(agents)。每種方法都有其獨特的優勢與取捨,使其適用於不同的情境。

什麼是工作流程?
工作流程是一系列預先定義的 Claude 呼叫,旨在解決已知的問題或一組問題。當您能夠事先規劃好步驟流程時——也就是當您知道完成任務所需的確切順序時——就可以使用工作流程。
可以將工作流程想像成將一個大任務拆解成更小、更具體的子任務。每個步驟專注於單一領域,這讓 Claude 能夠更精確地工作。
什麼是代理?
使用代理時,Claude 會獲得一組基本工具,並被期望制定計畫來運用這些工具完成任務。與工作流程不同,您並不確切知道會提供哪些任務,因此系統需要更具適應性。
代理能夠以創意的方式,透過以意想不到的方式組合工具,來處理各種各樣的挑戰。
工作流程的優點
- Claude 可以一次專注於一個子任務,通常能帶來更高的準確度
- 更容易評估與測試,因為您知道每一個確切的步驟
- 執行更具可預測性與可靠性
- 更適合解決特定、定義明確的問題
代理的優點
- 能提供更靈活的使用者體驗
- 任務完成方式更加靈活——Claude 可以以意想不到的方式組合工具,完成各種各樣的任務
- 能夠處理開發過程中未曾預料到的新情況
- 需要時可以向使用者詢問額外的輸入資訊
工作流程的缺點
- 靈活性較低——專門用於解決特定類型的任務
- 使用者體驗通常較受限——您需要知道流程的確切輸入內容
- 需要更多前期的規劃與設計工作
代理的缺點
- 與工作流程相比,任務成功完成率較低
- 更難以進行監測、測試與評估,因為您通常不知道代理會執行哪一系列步驟
- 行為較不可預測
何時使用哪種方法
作為工程師,您的首要目標是可靠地解決問題。使用者大概不會在意您是否建構了一個花俏的代理——他們想要的是一個能夠穩定運作的產品。
一般建議是盡可能優先實作工作流程,只有在真正需要時才採用代理。工作流程能提供大多數生產應用程式所需的可靠性與可預測性,而代理則能在無法事先確定確切需求的情境下提供靈活性。
當您有定義明確的流程時,請考慮使用工作流程;而當您需要處理不可預測、多變且需要創意解決問題的使用者請求時,則考慮使用代理。