跳至主要內容

Harness 概觀

Harness 讓 Agent 能夠持續處理長時間執行的複雜目標,同時確保工作可持久保存、可見且可引導。它能在重試和中斷期間保留進度,並讓人員及其他系統檢查進度、加入脈絡、核准操作、重新引導 Agent 或停止工作。

在 Mastra 中,Harness 是指一組用於管理 Agent 的功能,讓其工作不受限於單次不間斷的執行。你可以個別採用這些功能,或視需要加以組合。

AgentController 是專為互動式 Agent 應用程式設計的 Harness。它擴充基礎 Agent 迴圈,為每個使用者或工作提供隔離的 Session、持久化的 thread 和狀態、可切換的模式和模型、Tool 權限與核准、子 Agent 協調,以及事件和顯示狀態串流。

只要工作會持續一段時間,Agent Harness 就能派上用場。常見範例包括:讓變更一路通過 CI 和審查的程式設計 Agent、平行協調多項工作的軟體工廠、隨事件發展調整應對方式的 SRE Agent,以及隨帳戶、訊號和對話變化做出回應的市場拓展 Agent。

適合使用 Harness 的時機
「適合使用 Harness 的時機」的直接連結

根據 Agent 的需求選擇起點。你可以使用一項或多項功能。

如果你想要從這裡開始原因
在用戶端中斷連線或伺服器重新啟動後,仍可繼續使用執行作業Durable Agent持久保存執行狀態,並讓用戶端重新連線至其串流。
執行耗時的 Tool、Workflow 或子 Agent,且不造成阻塞背景工作以非同步方式完成工作,並將結果回傳給 Agent。
讓 Agent 持續工作,直到達成目標目標評估 thread 範圍內的目標,直到完成或達到執行預算。
在週期性時間自動開始工作排程按照 cron 排程開始隔離的執行作業,或將提示傳送至現有 thread。
加入脈絡、重新引導進行中的工作,或喚醒閒置的 thread訊號立即傳遞輸入,或保留到下一輪。
回應 GitHub、Slack、持續整合或其他外部系統中的變更訊號 Provider追蹤訂閱,並將相符事件轉送至 Agent thread。
建置具有 Session、模式、狀態、核准和事件的互動式產品AgentController在共用的 Agent 執行階段周圍託管隔離的 Session。
讓使用者引導工作、將後續工作排入佇列,或停止互動式執行AgentController透過每個 Session 公開執行控制項。