載入中

單一請求、工作流程,或代理

在 Claude 上建構功能之前,先選擇要建構多少:一個請求、一個由您的程式碼以固定順序執行的工作流程, 或是一個自行選擇步驟的代理。從最簡單的開始,了解何時該進階到下一個選項, 並針對幾個功能構想練習這個選擇。

10 分鐘Claude Platform

假設您的產品會收到客服工單,而您希望 Claude 為每一張工單撰寫回覆。在開始建構任何東西之前,先選擇要建構多少。規模較大的建構通常能得到更好的結果,但往往也意味著更高的成本,以及讓客戶等待更久。

您可以發送單一請求、以您的程式碼設定的順序執行多個請求所組成的工作流程,或使用一個自行選擇步驟的代理。從最簡單的選項開始,只有在測試顯示較簡單的選項表現不足時,才進階到下一個選項。

詢問誰來決定下一步

這三個選項的差異在於,由誰來決定 Claude 回答之後會發生什麼事。

  • 使用單一請求時,接下來不會發生任何事,Claude 的答案就是結果。
  • 在工作流程中,由您的程式碼決定。它會依照您事先寫好的順序發送下一個請求。
  • 使用代理時,由 Claude 決定。它會自行選擇每個下一步,以及要使用哪些工具。

要在這三個選項之間做選擇,請先寫下一個好結果看起來是什麼樣子。對於客服工單而言,一個好的回覆可能是:回答了客戶的問題、遵循了您的退款政策,而且在發出之前只需要稍作修改。寫下這些之後,您就可以用這個標準來測試最簡單的選項,看看它是否表現不足。

快速檢查

您計畫開發一個從已合併的 pull request 草擬發行說明的功能。您還沒有建構任何東西。在選擇要建構多少之前,您應該先寫下什麼?

從單一請求開始

單一請求就是一次 Messages API 請求,並得到一個回答。除了工單本身之外,它還可以附帶您的程式碼為該工單查找到的說明文章,以及幾則您喜歡的過往回覆,作為範例供其參考。對許多功能而言,以這種方式建構的單一請求通常就已足夠。

要了解單一請求是否足以應付您的工單,請用上個月的真實工單執行它。依照您寫下的好回覆標準為每則回覆評分。接著閱讀未達標準的回覆,並觀察它們回答的是哪一類工單。這種以真實輸入資料、並有一套方法為回覆結果評分的測試,稱為評估(eval)。

如果回覆符合您寫下的標準,就發布這個單一請求,到此為止。在未達標準的地方,請先改進請求的指示、文章和範例,再考慮進階到下一個選項。

單一請求不夠用的一個徵兆是:針對某一類工單的修正,會讓另一類工單變得更差。舉例來說,您在提示中加入退款規則後,技術問題的回覆品質卻變差了。當您不斷在一種修正和另一種修正之間權衡取捨時,就該試試工作流程。

快速檢查

一個單一請求會從已合併的 pull request 草擬發行說明。您用上個月的發行版本執行它,並為每則說明評分。什麼樣的結果會告訴您該嘗試工作流程?

當您能列出步驟時,進階到工作流程

一旦單一請求表現不足,如果您能在第一張工單送達之前就把步驟寫下來,就選擇工作流程。工作流程適合能清楚拆分成固定步驟的任務。

客服工單的工作流程可以分兩個步驟執行:

  1. 第一個請求將工單分類為三種之一:退款、技術問題,或一般問題。
  2. 您的程式碼發送第二個請求,附上該類工單專用的提示和說明文章。

現在每一類工單都有自己專屬的提示,因此修改退款提示不會影響到技術類回覆。

將任務拆分成多個請求,也能讓您看到步驟之間產生的結果。每個步驟都是獨立的請求,因此您可以在執行下一步之前記錄它、評分它、檢查它。舉例來說,您的程式碼可以檢查第一個請求是否回傳了三種類別之一,並將任何其他答案轉交給真人處理。

這個工作流程會讓您的客戶等待更久,因為第二個請求必須等第一個請求完成後才能開始。您之所以接受這樣的等待,是為了換取更準確的回覆,而您的測試必須證明您真的得到了這樣的結果。

當您無法事先把步驟寫下來時,工作流程就不再適用了。舉例來說,某則回覆需要 Claude 先查詢客戶的訂單,而接下來要檢查什麼,則取決於它查到的結果。

只有在不得已時才進階到代理

只有在任務是開放式的情況下,才選擇代理——也就是需要 Claude 用您提供的工具,自行選擇每個下一步。開放式意味著很難,甚至不可能預測這項任務需要多少步驟,而且您無法事先把步驟寫下來。

舉例來說,一位客戶寫信說他們的包裹從未送達。Claude 先查詢其訂單紀錄,發現包裹被送到了一個舊地址。於是 Claude 接著閱讀您關於地址錯誤的政策文章。然後它核發退款,或更新工單狀態。

代理的成本較高,而且它的錯誤可能會一個接一個累積。讓代理變得有用的這種自主選擇能力,同時也讓它更難測試。它可能會執行很多步驟,因此您需要對它的決策有一定程度的信任。

在選擇代理之前,請先針對這項任務回答以下問題:

  • 更好的結果是否值得更高的成本和更長的等待時間?
  • Claude 是否擅長處理這類任務?
  • 錯誤的步驟能否被察覺並挽回,透過測試、審核,或復原機制?

如果以上任何一個問題的答案是「否」,就繼續使用工作流程或單一請求。以客服工單為例,這代表您要對那些步驟可以列出來的工單類型繼續使用工作流程,並把其餘的轉交給真人處理。

代理只適合那些查詢和退款的順序會因工單而異的情況。由真人核准每一筆退款,因此第三個問題的答案是肯定的。

快速檢查

您的發行說明工作流程能處理例行發行版本,但有些需要您無法事先列出的步驟。代理會直接發布給客戶,沒有審核,也無法將說明撤回。對於這些發行版本,您會怎麼做?

在幾個功能構想上試試看

在這三個選項上各自試試每個功能構想,看看會發生什麼事。

載入中

接下來該做什麼

在 Claude 上建構任何功能之前,先寫下一個好結果看起來是什麼樣子,從單一請求開始,只有在測試顯示它表現不足時才進階。現在就針對您正在規劃的功能做出同樣的選擇。要檢驗您的選擇是否正確,請說出在您的功能中是誰來決定下一步,以及什麼樣的測試結果會讓您需要進階。

告訴您何時該進階的測試就是評估(eval)。接下來,請修習評估導論,以您自己的資料建構一個小型評估。

還有另外兩個頁面,能在您做出選擇之後提供協助。如果您的功能讓 Claude 使用工具,透過 Messages API 使用工具會說明如何讓工具使用變得可靠、反應迅速且執行成本更低。如果您選擇代理,什麼是 Claude 託管代理?則介紹了一個代管環境,由它來執行代理及其工具,讓您不必自己建構那一部分。