代理(Agents)代表了與我們一直在使用的結構化工作流程的轉變。當您知道完成任務所需的確切步驟時,工作流程是完美的選擇;而當您不確定這些步驟應該是什麼時,代理則能大放異彩。您不需要定義一個僵化的序列,而是給 Claude 一個目標和一組工具,然後讓它自行找出如何組合這些工具來達成目標。

這種靈活性使代理在建構需要處理多變、不可預測任務的應用程式時極具吸引力。您可以建立一個代理,確保它運作得相當良好,然後將其部署來解決各種各樣的問題。然而,這種靈活性在可靠性和成本方面也伴隨著取捨,我們稍後會探討這一點。
工具如何造就代理
代理的真正力量在於它們能夠以意想不到的方式組合簡單的工具。考慮一組基本的日期時間工具:

get_current_datetime- 取得目前的日期和時間add_duration_to_datetime- 將時間加到給定的日期上set_reminder- 為特定時間建立提醒
這些工具個別看起來很簡單,但 Claude 可以將它們串連起來,處理出乎意料地複雜的請求:

對於「現在幾點?」,Claude 只需呼叫 get_current_datetime。但對於「11 天後是星期幾?」,它會串連 get_current_datetime 和 add_duration_to_datetime。若要設定下週三的健身房提醒,它可能會依序使用全部三個工具。
Claude 甚至能夠識別何時需要更多資訊。如果您問「我的 90 天保固什麼時候到期?」,它知道要先詢問您何時購買該物品,然後才能計算到期日。
工具應該是抽象的
建構有效代理的關鍵洞見是提供相當抽象的工具,而不是高度專門化的工具。Claude Code 完美地展示了這一原則。

Claude Code 可以存取通用、靈活的工具,例如:
bash- 執行任何命令read- 讀取任何檔案write- 建立任何檔案edit- 修改檔案glob- 尋找檔案grep- 搜尋檔案內容
值得注意的是,它沒有像「重構程式碼」或「安裝依賴項」這樣的專門工具。相反,Claude 會自行找出如何使用這些基本工具來完成這些複雜的任務。這種抽象化使它能夠處理無數開發者從未明確規劃過的程式設計情境。
最佳實踐:可組合的工具
在設計代理時,請提供 Claude 可以創意組合的工具。例如,一個社群媒體影片代理可能包括:

bash- 存取 FFMPEG 進行影片處理generate_image- 根據提示建立圖像text_to_speech- 將文字轉換為音訊post_media- 將內容上傳到社群平台
這組工具既能實現簡單的工作流程(建立並發布影片),也能實現更具互動性的體驗,例如代理可能先生成一張範例圖像,取得使用者核准,然後再進行影片建立。

代理可以根據使用者的回饋和偏好調整其方法,這是僵化的工作流程難以達成的。這種靈活性正是使代理在建構動態、能回應使用者需求的應用程式方面強大的原因。