---
title: 設定推論掛鉤
url: https://platform.claude.com/docs/zh-TW/manage-claude/inference-hooks-configuration
description: 為您的 Claude Enterprise 組織允許推論掛鉤、連接您的 AI 安全伺服器，並控制強制執行、失敗處理與逐步推出。
---

<Note>
  推論掛鉤僅適用於 Claude Enterprise 組織。設定此功能需要 `organization:manage` 權限，只有擁有者和主要擁有者角色擁有此權限。
</Note>

Inference hooks（推論掛鉤）會將您組織的提示傳送至您選擇的 AI 安全伺服器，並在 Claude 處理每個請求之前，先等待允許或拒絕的裁決（verdict）。本頁將逐步說明如何開啟此功能、連接您的伺服器，以及控制強制執行。若要了解推論掛鉤是什麼以及何時使用，請參閱[推論掛鉤概覽](https://platform.claude.com/docs/zh-TW/manage-claude/inference-hooks)。若要建置 AI 安全伺服器本身，請參閱[開發推論掛鉤整合](https://platform.claude.com/docs/zh-TW/manage-claude/inference-hooks-endpoint)。

## 開始之前

您需要：

* claude.ai 中的 `organization:manage` 權限，只有**擁有者**和**主要擁有者**角色擁有此權限。**管理員**角色沒有此權限。
* 一個接受判定請求的 AI 安全伺服器 HTTPS 端點：使用連接埠 443 的 `https://` URL，位於可公開路由的主機上，且無需重新導向即可連線。不支援反向通道主機（ngrok 及類似的通道服務）：Anthropic 的網路政策會封鎖它們。請勿透過通道進行測試；請將您的伺服器託管在您控制的網域上。如需完整的[託管需求](https://platform.claude.com/docs/zh-TW/manage-claude/inference-hooks-endpoint#receive-a-request)，以及建置伺服器和驗證已簽署請求的方式，請參閱[開發推論掛鉤整合](https://platform.claude.com/docs/zh-TW/manage-claude/inference-hooks-endpoint)。

## 設定推論掛鉤

共有三種強制執行狀態：

* **關閉：** 當**強制執行裁定**關閉時，永遠不會聯絡您的 AI 安全伺服器，也不會檢查提示。
* **影子：** 當**強制執行裁定**開啟且**模式**設為**影子模式**時，您的 AI 安全伺服器會接收提示並傳回判定，但不會封鎖任何內容。
* **強制執行：** 當**強制執行裁定**開啟且**模式**設為**允許此要求**或**封鎖請求**時，拒絕判定會封鎖請求。

以下步驟會將新設定從關閉狀態帶到強制執行狀態。

<Steps>
  <Step title="為您的組織允許推論掛鉤">
    前往 claude.ai > **組織設定** > **資料與隱私權**，找到**推論掛鉤**區段。開啟**允許您的組織使用**。

    開啟此選項會解鎖推論掛鉤設定頁面，並一律強制將**強制執行裁定**設為關閉，因此允許此功能本身絕不會啟動檢查：即使是先前已開啟強制執行的設定，在您於最後一個步驟重新開啟**強制執行裁定**之前，仍會維持不檢查的狀態。
  </Step>

  <Step title="開啟推論掛鉤設定頁面">
    仍在**資料與隱私權**中，開啟**推論掛鉤**區段以進入推論掛鉤設定頁面。此頁面位於**資料與隱私權**之下，而不是設定導覽中的獨立項目，因此其導覽路徑顯示為**資料與隱私權 / 推論掛鉤**。在您儲存端點之前，頁面會警告提示尚未受到檢查，且**強制執行裁定**會維持關閉並顯示**需要端點**徽章。
  </Step>

  <Step title="設定您的端點">
    按一下**設定**以開啟**設定端點**對話方塊，並輸入**端點 URL**：接收判定請求的 `https://` URL。僅接受 `https://` URL。

    此時對話方塊不會要求其他資訊：自訂請求標頭會在步驟 5 設定，失敗處理則在步驟 6 設定。按一下**下一步**以儲存。儲存端點後，按鈕會顯示為**編輯**。
  </Step>

  <Step title="儲存您的簽署密鑰">
    第一次儲存時會產生您的 webhook「signing secret」（簽署密鑰），並僅顯示一次。在按一下**下一步**之前，請複製並安全地儲存它：此密鑰之後無法再取得，只能[輪替](https://platform.claude.com/docs/zh-TW/manage-claude/inference-hooks-configuration#rotate-your-signing-secret)。

    您的 AI 安全伺服器會使用此密鑰來驗證其收到的每個請求上的簽章，包括下一個步驟中的連線測試。如需驗證程序，請參閱[驗證簽章](https://platform.claude.com/docs/zh-TW/manage-claude/inference-hooks-endpoint#verify-the-signature)。
  </Step>

  <Step title="新增請求標頭並測試連線">
    在簽署密鑰對話方塊上按一下**下一步**，會重新開啟端點對話方塊，此時多了兩個控制項：

    * **自訂請求標頭：** 最多 16 個靜態標頭，會隨每個判定請求一起傳送，讓您的 AI 安全伺服器能夠驗證呼叫者。標頭值會以加密方式儲存，且不會再次顯示；儲存後只會顯示標頭名稱。由於這些值為唯寫，儲存對標頭的任何變更都需要重新輸入每個值。變更端點 URL 會清除所有已儲存的標頭值，以確保您的憑證永遠不會被傳送到新的目的地；變更 URL 後請重新輸入這些值。標頭名稱必須使用標準 HTTP token 字元，並使用 `-` 而非 `_`，且不得與保留名稱衝突（請求框架標頭，例如 `Content-*` 和 `Host`；代理與 cookie 標頭；用戶端位址標頭，例如 `X-Forwarded-*`；`webhook-*` 簽章標頭；以及 `X-Anthropic-*` 前綴）。值必須是可列印的 ASCII 字元。
    * **測試連接：** Claude 會將一個合成的測試提示傳送到表單中目前填寫的 URL 和標頭，而非已儲存的值，因此請在測試前重新輸入任何已儲存的標頭值。成功時，結果會回報您的 AI 安全伺服器針對測試提示回傳的是允許還是拒絕判定，這能讓您在開始強制執行之前發現「全部拒絕」的預設行為。它也會顯示 Anthropic 針對該次測試請求所測得的往返時間，該請求使用新連線，且此時間包含連線交握。

    按一下**儲存**以儲存您輸入的任何標頭。

    常見的失敗結果：

    | 結果       | 檢查事項                                                         |
    | -------- | ------------------------------------------------------------ |
    | URL 遭拒   | URL 未通過結構檢查。請使用連接埠 443 的 `https://` URL。                     |
    | 私人或內部 IP | URL 的主機是私人或內部 IP 位址、IPv6 位址或 `localhost`。請使用可公開路由的主機。        |
    | 逾時       | AI 安全伺服器未在逾時時間內回傳判定。                                         |
    | 傳輸錯誤     | DNS 解析、TLS 交握或連線失敗，或主機名稱解析為私人位址。                             |
    | 非 200 狀態 | AI 安全伺服器回應的狀態碼不是 200。判定必須以 HTTP 200 回傳；不會跟隨重新導向，且重新導向會被視為失敗。 |
    | 無法解析的回應  | AI 安全伺服器有回應，但內容不是有效的判定。                                      |
    | 需要簽署密鑰   | 您的組織沒有簽署密鑰，因此測試會以未簽署的方式傳送。請按一下**請求簽署**下的**產生密鑰**，然後再次測試。     |
  </Step>

  <Step title="選擇失敗處理方式與逾時">
    在**失敗處理**下，設定**模式**以選擇當 AI 安全伺服器無法連線或判定逾時時的處理方式：

    * **封鎖請求：**&#x7576;您的 AI 安全伺服器無法提供裁決時停止推論（失敗即關閉，fail closed）。
    * **允許此要求：**&#x8B93;請求在未經檢查的情況下繼續送往模型（失敗即開放，fail open）。

    下拉式選單的第三個選項**影子模式**是逐步推出工具，而非失敗政策；請參閱[影子模式](https://platform.claude.com/docs/zh-TW/manage-claude/inference-hooks-configuration#shadow-mode)。

    接著設定**提示詞判定逾時（毫秒）**：1 至 10,000 毫秒，預設為 5,000 毫秒。此預算涵蓋整個交換過程，較慢的裁決會被視為伺服器無法連線，因此請設定您的伺服器能夠穩定達成的最低值。

    此區段中的變更會在您進行時即時儲存。首次儲存時，預設值為**允許此要求**與 5,000 毫秒。
  </Step>

  <Step title="選擇逐步推出百分比">
    在**逐步推出**下，設定**已檢查的請求（%）**，以便在您讓 AI 安全伺服器上線的過程中，對一定百分比的請求執行檢查。此值範圍為 0 至 100：100 表示檢查所有請求，0 則關閉檢查。

    每個請求會針對其整個對話輪次擲骰一次，因此單一對話可能在不同輪次間被部分檢查。落在取樣百分比之外的請求會在未經檢查的情況下繼續進行，即使失敗處理設為**封鎖請求**亦然。
  </Step>

  <Step title="開啟「強制執行裁定」">
    若要先針對即時流量評估裁決而不封鎖任何人，請在開啟強制執行之前將**模式**設為**影子模式**（步驟 6）；請參閱[影子模式](https://platform.claude.com/docs/zh-TW/manage-claude/inference-hooks-configuration#shadow-mode)。

    開啟**強制執行裁定**，讓 Claude 對每個受管控的提示都依據您 AI 安全伺服器的判定進行把關，然後在對話方塊中確認，該對話方塊會重述您的失敗處理選擇。變更傳遞至每個 Anthropic 伺服器大約需要一分鐘；已在處理中的請求會依舊設定完成。關閉此選項會停止將提示傳送至您的 AI 安全伺服器，同樣大約在一分鐘內生效；您的設定會被保留。

    位於**強制執行裁定**下方的 **Validate tool calls（驗證工具呼叫）** 也會將 Claude 每個回應中的工具呼叫傳送到您的 AI 安全伺服器，並在執行前等待其判定；請參閱[工具呼叫訊框](https://platform.claude.com/docs/zh-TW/manage-claude/inference-hooks-endpoint#the-tool-call-frame)。在新設定中它預設為開啟。當**強制執行裁定**關閉時它不會有任何作用，且對它的變更與**強制執行裁定**一樣，大約需要一分鐘才能傳達到每個 Anthropic 伺服器。
  </Step>
</Steps>

## 影子模式

「Shadow mode」（影子模式）會針對即時流量執行您的掛鉤，而不封鎖任何內容。您的 AI 安全伺服器會接收受管控的提示並傳回判定，方式與強制執行時完全相同，但不會封鎖任何內容：每個請求都會繼續傳送至模型，即使您的伺服器拒絕它或無法連線也是如此，且終端使用者不會察覺任何異狀。請使用它在開始強制執行之前，依據您組織的真實流量調整您的政策。開啟 **Validate tool calls** 時，您的伺服器在影子模式下也會接收工具呼叫訊框，且不會封鎖任何工具呼叫。

若要使用影子模式，請在**失敗處理**下將**模式**設為**影子模式**，然後開啟**強制執行裁定**，讓提示流向您的 AI 安全伺服器。當它處於啟用狀態時，設定頁面會顯示**影子模式——不封鎖**標記。若要離開影子模式，請將**模式**設回**允許此要求**或**封鎖請求**；一旦強制執行開啟，裁決便會再次被強制執行。

## 排除項目

在 **Who is inspected（檢查對象）** 下，開啟 **Limit by role（依角色限制）** 後，選取其成員不受推論掛鉤涵蓋的角色：這些成員的提示絕不會被傳送至您的 AI 安全伺服器。只有您組織建立的自訂角色可以被排除；內建角色不會出現在選項中。請在角色選取器中選取這些角色（其預留位置文字為**選取要排除的角色**），並從角色管理頁面（**管理角色**）管理每個角色的持有者；變更排除項目需要身分管理權限。此清單預設為空，且在未排除任何角色時，每個受管控的請求都會受到檢查，除非 **Inspect（檢查）** 設為 **Only selected roles（僅限所選角色）**。

排除適用於使用者的互動式工作階段。對排除清單的變更會以角色權限變更（`rbac_role_permission_added` 和 `rbac_role_permission_removed`）的形式記錄在您組織的[活動摘要](https://platform.claude.com/docs/zh-TW/manage-claude/compliance-activity-feed)中。

### 僅檢查選取的角色

**Who is inspected** 區段中的所有內容都由一個開關 **Limit by role** 控制。當您開啟此開關時，**Inspect** 會從 **Everyone except excluded roles（已排除角色以外的所有人）** 開始，並依照上述說明在其下方選取排除的角色。

若要先在組織的一部分試用推論掛鉤，請開啟 **Limit by role**，將 **Inspect** 設為 **Only selected roles**，然後在開啟的對話方塊中選取角色。從那時起，只有被設為**自訂角色**且被指派了所選角色的成員才會受到檢查。被設為其他任何角色（例如**使用者**或**擁有者**）的成員不會受到檢查，即使他們被指派了所選角色也是如此。如果您被設為**擁有者**或**主要擁有者**，這也包括您自己。切換之前請移除所有排除的角色：組織只能使用排除項目或選取的角色，不能兩者並用。切換後，請在 **Inspect** 下的角色選取器中新增或移除角色。若要恢復檢查所有人，請關閉 **Limit by role**：在您確認後，這會移除所有排除的角色並關閉 **Only selected roles**。

當設定為 **Only selected roles** 時：

* **功能存取權**為**所有功能**或**所有正式發行項目**的自訂角色，與其他任何角色一樣，只有在您選取時才會計入。
* 如果沒有任何被設為**自訂角色**的成員被指派所選角色，則不會檢查任何成員。
* 背後沒有成員的請求不會受到檢查，例如使用 API 金鑰發出的請求，以及 Slack 中的 Claude Tag 對話。

對 **Inspect** 的變更以及對受檢查角色的變更，都會記錄在您組織的[活動摘要](https://platform.claude.com/docs/zh-TW/manage-claude/compliance-activity-feed)中。

## 提示詞遭封鎖時的自訂訊息

在**提示詞遭封鎖時的自訂訊息**下，設定最多 500 個字元的自訂文字，當您的 AI 安全伺服器拒絕請求時，此文字會附加在終端使用者看到的錯誤之後（通常是應聯繫誰或在何處申請例外）。最終訊息為您 AI 安全伺服器針對每個請求的 `deny_reason`（若有）、一個空行，然後是此文字。若未設定自訂文字，內建的預設訊息會引導使用者聯繫其管理員；您也可以完全關閉附加訊息，讓使用者只看到 `deny_reason`。

## 監控您的 AI 安全伺服器

推論掛鉤設定頁面的端點健康狀態區域會顯示：

* **端點狀態：** Healthy、Tripped、未強制執行，或在儲存端點之前顯示未設定。
* **每分鐘失敗次數：** 過去 2 分鐘內 webhook 失敗次數的平均值。
* **封鎖率：** 拒絕判定佔您 AI 安全伺服器判定的比例，在推出百分比低於 100 時顯示。
* **斷路器已觸發：** 斷路器上次跳脫的時間（若曾跳脫）。
* **近期錯誤：** 每個項目會顯示失敗發生的時間、錯誤類型和類別。類別為 `webhook_error` 表示您的端點或與其之間的連線發生問題，為 `relay_error` 則表示 Anthropic 系統內部發生失敗。`DlpWebhookStatusError` 項目也可能顯示您的 AI 安全伺服器傳回的 HTTP 狀態，以及 Anthropic 傳送的請求主體大小，例如 `HTTP 413` · `1.3 MB`。項目絕不會包含請求內容或您的端點 URL。此清單會保留最近 10 次失敗，並在最後一次失敗一小時後清除。

**近期錯誤**中的錯誤類型意義如下：

| 顯示的錯誤                                                | 意義                                                                                | 是否計入斷路器 |
| ---------------------------------------------------- | --------------------------------------------------------------------------------- | ------- |
| `DlpWebhookTimeoutError` · `webhook_error`           | 您的 AI 安全伺服器未在您設定的**提示詞判定逾時（毫秒）** 內傳回判定。                                           | 是       |
| `DlpWebhookStatusError` · `webhook_error`            | 您的 AI 安全伺服器以 200 以外的 HTTP 狀態回應，例如重新導向。                                            | 是       |
| `DlpWebhookResponseError` · `webhook_error`          | 您的 AI 安全伺服器回應 200，但內容不是有效的判定，或大於 64 KiB。                                          | 是       |
| `DlpWebhookTransportError` · `webhook_error`         | 在收到完整回應之前連線失敗或中斷：例如主機名稱無法解析或解析為私人位址、連線遭拒或重設，或 TLS 交握失敗。Anthropic 端的網路問題也可能以此方式呈現。 | 否       |
| `DlpWebhookDisallowedAddressError` · `webhook_error` | 端點 URL 的主機是私人或內部 IP 位址、IPv6 位址或 `localhost`。解析為此類位址的主機名稱則會顯示為傳輸錯誤。                | 是       |
| `DlpWebhookBlockedError` · `webhook_error`           | 端點 URL 不是連接埠 443 上的 `https://` URL，或無法解析，因此未傳送任何請求。                               | 否       |
| `DlpWebhookRelayError` · `relay_error`               | 失敗發生在 Anthropic 系統內部，通常未聯繫您的 AI 安全伺服器。                                            | 否       |

在影子模式下，任何錯誤都不會計入斷路器。

此面板為盡力而為：若 Anthropic 無法讀取計數器，它會顯示零次失敗且無錯誤，而非顯示其自身的錯誤，因此看起來健康的面板本身並不能證明您的 AI 安全伺服器是健康的。**每分鐘失敗次數**會計算每一次失敗，包括永遠不會使斷路器跳脫的網路與 DNS 錯誤，因此它可能很高，而**斷路器已觸發**仍維持空白。

## 斷路器

可歸因於您 AI 安全伺服器的持續 webhook 失敗會使「circuit breaker」（斷路器）跳脫，進而停止強制執行：不再聯繫您的伺服器，且您的**失敗處理**選擇會套用至每個受檢查的請求。若選擇**封鎖請求**，您組織中的使用者會被封鎖，直到斷路器重設為止。當斷路器跳脫時，管理員也會在 claude.ai 通知中心收到通知。

每次跳脫也會以 `inference_hooks_circuit_breaker_tripped` 活動的形式記錄在您組織的 [Activity Feed](https://platform.claude.com/docs/zh-TW/manage-claude/compliance-activity-feed) 中，讓您的安全團隊或廠商能透過其既有的監控機制（例如匯入此動態的 SIEM）針對跳脫發出警示。每次跳脫只會記錄一個活動，而不是每個受影響的請求各記錄一個。記錄需要為您的組織啟用 Compliance API；請參閱[設定 Compliance API](https://platform.claude.com/docs/zh-TW/manage-claude/compliance-api-access)。

若要復原，請修復伺服器，然後重新開啟**強制執行裁定**以重設斷路器。

斷路器也可以自行重設。從跳脫後 10 分鐘開始，Anthropic 會在背景向您的伺服器傳送測試請求，以檢查伺服器是否已復原，頻率最多約每分鐘一次；此過程不涉及任何使用者請求。如果您的伺服器回應有效的判定（允許或拒絕皆可），斷路器就會重設，強制執行也會恢復。否則斷路器會維持跳脫狀態，檢查也會持續進行。

自動復原僅在您的推論掛鉤設定自跳脫後未曾變更的情況下執行。如果您在跳脫後變更任何推論掛鉤設定（包括輪替簽署密鑰），檢查就會停止，斷路器也不再自行重設；請在伺服器修復後重新開啟**強制執行裁定**。自動復原僅適用於跳脫：如果您自行關閉**強制執行裁定**，強制執行會維持關閉，直到您重新開啟為止。

## 輪替您的簽署密鑰

按一下**請求簽署**下的**輪換密鑰**以更換您的簽署密鑰。如果您的組織尚未有密鑰，同一個按鈕會顯示為**產生密鑰**，並建立第一個密鑰。輪替是立即切換：新密鑰會被產生並僅顯示一次，舊密鑰將無法再取得，且任何請求都不會同時以兩個密鑰簽署，因此沒有可依賴的重疊期間。

以先前密鑰簽署的請求在輪替後仍可能短暫抵達；[驗證簽章](https://platform.claude.com/docs/zh-TW/manage-claude/inference-hooks-endpoint#verify-the-signature)說明了您的 AI 安全伺服器應如何處理切換。

## 稽核軌跡

推論掛鉤活動會記錄在您組織的[活動摘要](https://platform.claude.com/docs/zh-TW/manage-claude/compliance-activity-feed)中：設定變更、拒絕、斷路器跳脫，以及因無法取得判定而在未經檢查的情況下繼續進行的請求。最後一種只有在**強制執行裁定**開啟且**模式**為**允許此要求**時才會記錄。其原因為 `endpoint_timeout`、呼叫您 AI 安全伺服器時發生任何其他問題的 `endpoint_error`，或 Anthropic 端失敗的 `internal_error`。在**封鎖請求**或**影子模式**下，失敗的請求不會個別記錄。斷路器的自動復原在任何模式下都不會被記錄。斷路器跳脫期間，不會記錄任何個別請求的推論掛鉤活動；跳脫活動即為活動摘要中該期間的記錄。拒絕記錄帶有識別碼，讓您能將每個拒絕與您自己系統中的對應記錄進行關聯。

## 關閉推論掛鉤

關閉有兩個層級：

* 在推論掛鉤設定頁面上關閉**強制執行裁定**：大約在一分鐘內，您組織的提示將停止傳送至您的 AI 安全伺服器；已在處理中的請求會依舊設定完成。設定頁面仍可使用，因此您可以在處理 AI 安全伺服器期間使用此方式暫停強制執行。
* 在**資料與隱私權**設定中關閉**允許您的組織使用**：提示不再受到檢查，且推論掛鉤設定會變為無法使用，直到您重新開啟為止。無論哪種方式，您的端點設定、自訂標頭與簽署密鑰都會被保留；重新開啟會強制將**強制執行裁定**設為關閉並清除已跳脫的斷路器，因此請在您準備好時再次開啟強制執行。

## 後續步驟

<CardGroup cols={2}>
  <Card title="開發推論掛鉤整合" href="https://platform.claude.com/docs/zh-TW/manage-claude/inference-hooks-endpoint">
    建置 AI 安全伺服器：請求與裁決結構描述、簽章驗證，以及運作語意。
  </Card>

  <Card title="推論掛鉤概覽" href="https://platform.claude.com/docs/zh-TW/manage-claude/inference-hooks">
    推論掛鉤是什麼、裁決往返如何運作，以及哪些內容會被傳送至您的 AI 安全伺服器。
  </Card>
</CardGroup>
