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

工作流程
工作流程是一系列預先定義好的 Claude 呼叫,旨在解決一個已知的問題或一組問題。可以把它想成一份食譜——您確切知道需要哪些食材,以及要遵循哪些步驟。
當您能夠事先預見整個步驟流程時,就適合使用工作流程。其關鍵在於將一個大任務拆解成更小、更具體的子任務。
工作流程的優點
- Claude 可以一次專注於一個子任務,通常能帶來更高的準確度
- 由於您清楚知道每一個確切的步驟,因此更容易進行評估與測試
- 執行結果更可預測、更可靠
工作流程的缺點
- 靈活性較低——專門用於解決特定類型的任務
- 使用者體驗通常較為受限——您需要知道流程的確切輸入內容
代理
使用代理時,Claude 會被賦予一組基本工具,我們期望它能自行制定計畫,運用這些工具來完成任務。Claude 不會遵循預先設定好的路徑,而是以創造性的方式找出應對挑戰的方法。
代理的優點
- 能提供更靈活的使用者體驗
- 任務完成方式更加靈活——Claude 能以意想不到的方式組合工具,完成各種各樣的任務
- 能根據使用者的查詢自行產生輸入內容,並在需要時要求提供更多資訊
代理的缺點
- 與工作流程相比,任務成功完成率較低
- 由於您通常無法預知代理會執行哪一系列步驟,因此在進行監測、測試與評估時更具挑戰性
選擇合適的方法
雖然從技術角度來看,代理確實非常有趣,但請記住,作為工程師,您的首要目標是可靠地解決問題。使用者大概不會在意您是否建構了一個很酷炫的代理——他們想要的是一個百分之百都能正常運作的產品。
一般建議是:盡可能優先採用工作流程,只有在真正必要時才使用代理。工作流程能為您提供大多數生產環境應用程式所需的可預測性與可靠性,而代理則能在無法事先確定確切解決方案路徑的情境中,提供所需的靈活性。