Skip to content

工作階段管理

代理可以檢視、跨工作階段通訊和產生工作階段。這些工具啟用跨工作階段工作流程、背景任務委派和跨通道訊息——全部在降級寫入執行之下。

工具

sessions_list

列出目前工作階段可見的所有活躍工作階段。

不需要參數。結果按 taint 等級過濾——PUBLIC 工作階段無法看到 CONFIDENTIAL 工作階段中繼資料。

sessions_history

透過 ID 取得工作階段的訊息歷史。

參數類型必要描述
session_idstring要擷取歷史的工作階段 ID

如果目標工作階段的 taint 高於呼叫者的 taint,存取會被拒絕。

sessions_send

從目前工作階段傳送內容到另一個工作階段。受降級寫入執行約束。

參數類型必要描述
session_idstring目標工作階段 ID
contentstring要傳送的訊息內容

降級寫入檢查: 呼叫者的 taint 必須能夠流向目標工作階段的分類等級。CONFIDENTIAL 工作階段無法傳送資料到 PUBLIC 工作階段。

sessions_spawn

產生新的背景工作階段以執行自主任務。

參數類型必要描述
taskstring背景工作階段應該做什麼的描述

產生的工作階段以獨立的 PUBLIC taint 和自己的隔離工作區開始。它自主執行並在完成時回傳結果。

session_status

取得特定工作階段的中繼資料和狀態。

參數類型必要描述
session_idstring要檢查的工作階段 ID

回傳工作階段 ID、通道、使用者、taint 等級和建立時間。存取受 taint 閘控。

message

傳送訊息到通道和收件者。透過策略 hook 受降級寫入執行約束。

參數類型必要描述
channelstring目標通道(例如 telegramslack
recipientstring通道內的收件者識別碼
textstring要傳送的訊息文字

summarize

產生目前對話的簡潔摘要。適用於建立交接備忘、壓縮上下文或產生要傳遞到另一個通道的回顧。

參數類型必要描述
scopestring要摘要的內容:session(預設)、topic

simulate_tool_call

模擬工具呼叫以預覽策略引擎的決策,而不實際執行工具。回傳 hook 評估結果(ALLOW、BLOCK 或 REDACT)和評估的規則。

參數類型必要描述
tool_namestring要模擬呼叫的工具
argsobject要包含在模擬中的參數

使用 simulate_tool_call 在執行工具呼叫之前檢查它是否會被允許。這對於理解策略行為而不產生副作用很有用。 :::

使用場景

背景任務委派

代理可以產生背景工作階段來處理長時間執行的任務,而不阻塞目前的對話:

使用者:「研究競爭對手定價並整理一份摘要」
代理:[以任務呼叫 sessions_spawn]
代理:「我已經啟動了一個背景工作階段來研究這個。我很快就會有結果。」

跨工作階段通訊

工作階段可以相互傳送資料,啟用一個工作階段產生資料供另一個消費的工作流程:

背景工作階段完成研究 → sessions_send 到父工作階段 → 父工作階段通知使用者

跨通道訊息

message 工具讓代理可以主動在任何已連接的通道上聯繫:

代理偵測到緊急事件 → message({ channel: "telegram", recipient: "owner", text: "警報:..." })

安全性

  • 所有工作階段操作都受 taint 閘控:您無法查看、讀取或傳送到超過您 taint 等級的工作階段
  • sessions_send 強制降級寫入防護:資料無法流向較低的分類
  • 產生的工作階段以 PUBLIC taint 開始,有獨立的 taint 追蹤
  • message 工具在傳遞前通過 PRE_OUTPUT 策略 hook
  • 工作階段 ID 從執行時上下文注入,而非從 LLM 參數——代理無法冒充另一個工作階段

安全性 降級寫入防護在所有跨工作階段通訊上強制執行。taint 為 CONFIDENTIAL 的工作階段無法傳送資料到 PUBLIC 工作階段或通道。這是由策略層強制執行的硬邊界。 :::