> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-TW/llms.txt # Harness 概觀 Harness 讓 Agent 能夠持續處理長時間執行的複雜目標,同時確保工作可持久保存、可見且可引導。它能在重試和中斷期間保留進度,並讓人員及其他系統檢查進度、加入脈絡、核准操作、重新引導 Agent 或停止工作。 在 Mastra 中,Harness 是指一組用於管理 Agent 的功能,讓其工作不受限於單次不間斷的執行。你可以個別採用這些功能,或視需要加以組合。 [`AgentController`](https://mastra.zisheng.pro/zh-TW/docs/harness/agent-controller) 是專為互動式 Agent 應用程式設計的 Harness。它擴充基礎 [`Agent`](https://mastra.zisheng.pro/zh-TW/docs/agents/overview) 迴圈,為每個使用者或工作提供隔離的 Session、持久化的 thread 和狀態、可切換的模式和模型、Tool 權限與核准、子 Agent 協調,以及事件和顯示狀態串流。 只要工作會持續一段時間,Agent Harness 就能派上用場。常見範例包括:讓變更一路通過 CI 和審查的程式設計 Agent、平行協調多項工作的軟體工廠、隨事件發展調整應對方式的 SRE Agent,以及隨帳戶、訊號和對話變化做出回應的市場拓展 Agent。 ## 適合使用 Harness 的時機 根據 Agent 的需求選擇起點。你可以使用一項或多項功能。 | 如果你想要 | 從這裡開始 | 原因 | | ----------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------- | | 在用戶端中斷連線或伺服器重新啟動後,仍可繼續使用執行作業 | [Durable Agent](https://mastra.zisheng.pro/zh-TW/docs/long-running-agents/durable-agents) | 持久保存執行狀態,並讓用戶端重新連線至其串流。 | | 執行耗時的 Tool、Workflow 或子 Agent,且不造成阻塞 | [背景工作](https://mastra.zisheng.pro/zh-TW/docs/long-running-agents/background-tasks) | 以非同步方式完成工作,並將結果回傳給 Agent。 | | 讓 Agent 持續工作,直到達成目標 | [目標](https://mastra.zisheng.pro/zh-TW/docs/long-running-agents/goals) | 評估 thread 範圍內的目標,直到完成或達到執行預算。 | | 在週期性時間自動開始工作 | [排程](https://mastra.zisheng.pro/zh-TW/docs/long-running-agents/schedules) | 按照 cron 排程開始隔離的執行作業,或將提示傳送至現有 thread。 | | 加入脈絡、重新引導進行中的工作,或喚醒閒置的 thread | [訊號](https://mastra.zisheng.pro/zh-TW/docs/long-running-agents/signals) | 立即傳遞輸入,或保留到下一輪。 | | 回應 GitHub、Slack、持續整合或其他外部系統中的變更 | [訊號 Provider](https://mastra.zisheng.pro/zh-TW/docs/long-running-agents/signal-providers) | 追蹤訂閱,並將相符事件轉送至 Agent thread。 | | 建置具有 Session、模式、狀態、核准和事件的互動式產品 | [AgentController](https://mastra.zisheng.pro/zh-TW/docs/harness/agent-controller) | 在共用的 Agent 執行階段周圍託管隔離的 Session。 | | 讓使用者引導工作、將後續工作排入佇列,或停止互動式執行 | [AgentController](https://mastra.zisheng.pro/zh-TW/docs/harness/agent-controller) | 透過每個 Session 公開執行控制項。 |