回合執行期間
agent 處理一個回合時,它的回覆泡泡會顯示它正在做什麼:正在寫出的文字、它的思考,以及每次工具呼叫一行。你可以一邊閱讀、追加一則訊息,或停止這個回合。本頁介紹這三件事,以及回合結束後對話紀錄提供的功能。
即時回覆 #
執行中的回合在對話紀錄底部有一個泡泡。由上到下,它包含:
- 標題列,左邊是 Stop(停止),右邊是三個跟隨按鈕,
- 💭 Thoughts,一個展開的區段,agent 的推理一送達就顯示在這裡,
- 回覆文字,隨 agent 撰寫而增長,
- 回合工作期間會出現三個跳動的點,
- 工具活動:每次工具呼叫一行,例如
Tool (Bash): npm test,並以表情符號標示工具種類(沒有專屬表情符號的工具用 🛠️), - 回合啟動的每個 subagent 都有一個巢狀泡泡,有自己的思考、活動和文字。
很長的回覆捲動時,它的標題列(以及 Stop)會固定在對話頂端。
對話紀錄只有在你位於最底端時才會跟著新的列捲動,其他位置都不會。往上捲動後,回合繼續進行,你會停留在正在閱讀的地方;輸入區上方會出現一個圓形的 ⌄ 按鈕,顯示下方有新內容送達,並帶你回到最底端。見捲動。0.9.12 新增 如果你是在歷史記錄的很前面(某則釘選訊息或某個搜尋結果處)開啟對話,回覆會在下方等著,直到你捲動下去;見在很前面的位置閱讀。
回合結束時,泡泡就成為回覆。思考會收進回覆上方一個摺疊的 💭 Thoughts (3)(思考,3)區段,括號中是思考區塊的數量;工具行則收進回覆下方一個摺疊的 🔧 Tool activity (5)(工具活動,5)區段。
跟隨某個區段 #
很長的思考串流會把答案和工具行推出畫面。泡泡標題列中的三個按鈕會在回覆變長時讓某個區段保持在畫面中:
| 按鈕 | 工具提示 | 保持在畫面中的內容 |
|---|---|---|
| 💭 | Follow the thoughts | 思考清單 |
| 📃 | Follow the streamed answer | 回覆文字 |
| 🛠️ | Follow the tool list | 工具活動 |
被跟隨區段的底部邊緣會停在輸入區正上方。再按一次亮著的按鈕就會關閉跟隨,按另一個按鈕則會改為跟隨那個區段。手動捲動對話紀錄(用滾輪、觸控、按鍵或捲軸)也會關閉跟隨;在輸入區打字則不會。
這個選擇會依對話分別記住,但只維持到你重新載入頁面為止。
Agent 工作時傳送訊息 #
回合執行期間你也可以打字。傳送按鈕上顯示的文字會告訴你這則訊息會怎麼處理:
| 按鈕 | 會發生什麼 |
|---|---|
| Steer(導正) | 訊息會送進執行中的回合。agent 會在同一個回合的下一步處理它。工具提示:Steer message into the running turn(用訊息導正進行中的回合)。 |
| Queue(加入佇列) | 訊息會排在這個回合後面,並作為下一個回合開始。工具提示:Queue message behind current turn(將訊息排在目前回合之後)。 |
輸入區是空的時,按鈕顯示 Send(傳送)且無法使用。傳送按鈕永遠不會變成 Stop;那個按鈕在回覆泡泡上。
哪些供應商支援導正,見依供應商。排入佇列的訊息會等待並接著執行;佇列的說明在回合執行期間傳送。導正的訊息會附帶一則隱藏的註記,告訴模型除了正在處理的請求之外,也要處理這則訊息;你只會看到自己的文字。
導正的訊息看起來如何 #
agent 會自行決定如何處理導正的訊息,對話紀錄則會顯示發生了以下三種情況中的哪一種:
- 併入處理。 agent 在執行中的回合裡回答了它。你的訊息留在你傳送的位置,下方有一個精簡的標記寫著 Handled together with the previous reply — this message was steered into that turn. 答案就在該回合的回覆中。
- 單獨回答。 agent 先完成執行中的回覆,再回答你的訊息。回覆會在你的訊息處分成兩段,導正的訊息和它的答案會與前面那一段顯示在一起。
- 被中斷。 在 agent 處理到它之前,你按了 Stop,或回合失敗了。標記會寫著 Stopped with the turn — not answered. 或 Steered into the turn above, which failed — not answered.,並提供 Resend(重新傳送)。
你可以把多則訊息導正進同一個回合。重新載入後,對話紀錄也會以相同方式顯示它們。
按鈕顯示 Queue 時 #
有時回合暫時無法接收訊息。這時按鈕會顯示 Queue,工具提示會說明原因:
| 工具提示 | 回合目前 |
|---|---|
| Will steer in after you answer the question | 正在等待提問卡片或計畫核准 |
| Will steer in once the conversation finishes compacting | 正在壓縮它的上下文 |
| Will steer in once the compaction recovery finishes | 正在壓縮後復原 |
| Will steer in once the running tool call finishes | 正在執行工具呼叫(僅限 Copilot 的 SDK 引擎) |
| Will steer in once steering resumes | 因其他原因不接收訊息,例如正在被停止時 |
訊息不會遺失,也不會跳過卡片。它會以一般的排隊訊息留在對話紀錄中,附有 Cancel(取消),等暫緩結束後就會自動送進回合。提問卡片絕不會因為你傳送了訊息而被回答或捨棄;照常回答即可。
按鈕會在大約一秒內跟上 agent 的狀態。
收回導正 #
以排隊訊息形式等待的訊息,在 agent 接手之前都有 Cancel;見取消一則排隊中的訊息。
在 Copilot 的 SDK 引擎上,你最新導正進回合的那則訊息會保留 Cancel,直到 runtime 接手為止。取消會把它拉回來,所以 agent 永遠不會回答它。較早導正的訊息一旦被推送出去,就會失去 Cancel。在 Claude 和 DeepSeek 上,訊息一被推送進回合就會失去 Cancel。
停止回合 #
Stop 在執行中回覆的泡泡上。清單中對話的右鍵選單也有 Stop turn(停止回合),所以你不必開啟對話就能停止它。
- 按 Stop。一個視窗會詢問 Stop this turn?,附註 The agent stops after its current step,並說明:Work already done stays; anything the agent was about to do is cut short.
- 按 ⏹ Stop turn,或按 Keep running(繼續執行)維持現狀。
- 在 agent 停止之前,按鈕會顯示 Stopping…(正在停止…)。
接著回合會以一則簡短的系統註記作為回覆而結束:
System note: This turn was stopped from the relay UI before completion. Error code: relay.turn-aborted. Send a new message to continue when you are ready.
agent 到目前為止串流出來的文字不會保留:這則註記就是儲存下來的完整回覆。該回合的思考和工具行會保留在各自的摺疊區段中。agent 在停止前修改的檔案和執行的指令都維持原狀。對話本身會繼續:新訊息會在同一個 session 中開始新的回合。
停止後還有哪些東西繼續執行,取決於供應商:
- 背景工作。 在 Claude、DeepSeek 和 Copilot 的 SDK 引擎上,Stop 只會結束回覆。回合啟動的背景任務(例如在背景執行的指令或背景 agent)會繼續執行。每一個在輸入區的任務面板中都有自己的 Stop。在 Copilot 上,如果 runtime 無法自行中斷回覆,備援做法也會取消它的背景 agent。
- 導正的訊息。 停止前導正進回合的訊息,之後不會自行執行。它最後會標示為 Stopped with the turn — not answered.,並附有 Resend。
回合卡住時,Stop 仍然有效。在 Copilot 的 SDK 引擎上,如果 runtime 在 10 秒內沒有回應停止要求,就不再繼續等待:回合會以已停止的狀態結束。
回合結束後 #
Resend #
Resend 會出現在 agent 因回合被停止或失敗而從未回答的導正訊息下方。按一下就會把原始文字和附件當作新訊息再傳送一次,並使用輸入區目前選擇的模型、reasoning effort、上下文大小和模式。已無法取得的附件會被略過,並有一則提示訊息說明。如果幾分鐘前已傳送過另一則相同文字的訊息,就不會傳送任何東西,按鈕也會保留。之後按鈕會顯示 Resent(已重新傳送),在每台裝置上及重新載入後都一樣。每則訊息只能重新傳送一次;如果那次重新傳送被取消或失敗,按鈕就會再次可用。
一般的失敗回合不提供 Resend。那種情況請自己再傳送一次訊息。見回合失敗時。
失敗回覆上的按鈕 #
如果某個失敗可以在 OAR 介面中修正,失敗的回覆就會附上對應的按鈕:
| 按鈕 | 顯示時機 |
|---|---|
| Claude settings(Claude 設定) | Claude 帳戶拒絕了這個回合:登入失敗、計費問題、組織不被允許、帳戶遭暫停、需要驗證或沒有存取權。見 Claude。 |
| Install Grok CLI(安裝 Grok CLI)、Grok settings(Grok 設定) | Grok 回合因為缺少 CLI 而無法開始。 |
| Sign in to Grok(登入 Grok)、Grok settings | Grok 回合因為尚未登入而無法開始。見 Grok。 |
| Top up DeepSeek(儲值 DeepSeek)、DeepSeek settings(DeepSeek 設定) | 0.9.17 新增 DeepSeek 因帳戶餘額用完而拒絕回合(relay.)。Top up DeepSeek 會在新分頁開啟 DeepSeek 的儲值頁面。 |
| DeepSeek settings | 0.9.17 新增 DeepSeek 不接受 API 金鑰(relay.)。它會開啟 Settings → Providers → DeepSeek(設定 → 供應商 → DeepSeek)。見 DeepSeek。 |
| Retry(重試) | 中繼的一則註記表示它已停止嘗試啟動該對話的 session worker。按下後會重新啟動 worker。 |
複製 #
回覆或思考中的每個程式碼區塊角落都有一個 Copy(複製)按鈕。它會複製區塊的文字,並短暫顯示 ✓ Copied(已複製),瀏覽器拒絕時則顯示 Copy failed(複製失敗)。要複製整則回覆,請選取它的文字。
你不在時回合結束 #
某台裝置在 Settings → Notifications(設定 → 通知)中開啟了推播通知時,完成的回合會傳送 Turn completed(回合已完成)通知,失敗的回合則傳送 Turn failed(回合失敗);你停止的回合也算失敗。只有在沒有任何裝置把 OAR 放在前景時才會傳送,而且除非你在該裝置上允許訊息預覽,否則只會顯示通用文字。
依供應商 #
| 供應商 | 回合期間的訊息 | 思考 | Stop |
|---|---|---|---|
| GitHub Copilot 與 OpenAI,SDK 引擎 | Steer;有提問卡片、核准、壓縮或執行中的工具呼叫暫緩時為 Queue | 模型傳送可讀的推理時會串流顯示;託管的 Copilot 推理可能經過加密,這時不會出現任何思考 | 只結束回覆;背景 agent 會繼續執行 |
| GitHub Copilot 與 OpenAI,擴充功能引擎 | Queue | 串流顯示,限制相同 | 結束回合 |
| Claude | Steer;有提問卡片、計畫核准或壓縮暫緩時為 Queue | 串流顯示。🧠 面板中的 Thinking(思考)和 Thinking text(思考文字)可以關閉思考或隱藏文字;見 Claude | 只結束回覆;背景任務會繼續執行 |
| DeepSeek 0.9.17 新增 | 同 Claude | 串流顯示。DeepSeek 一定會思考,🧠 面板中沒有它的 Thinking 控制項;見 DeepSeek | 同 Claude |
| Claude Cloud | Queue | 以整個區塊送達,而不是逐字顯示 | 中斷雲端回合。如果雲端在 30 秒內沒有確認,回合會在 OAR 中結束,並附上註記說明 agent 可能仍在那裡工作 |
| Cursor | Queue | 串流顯示 | 結束回合,提問卡片等待中時也一樣 |
| Grok | Queue | 串流顯示 | 取消回合 |
導正在 Copilot 和 OpenAI 上是一樣的,因為 OpenAI 就是指向你自己端點的 Copilot agent。Claude Cloud 的回覆文字也是一次一個區塊送達。即時泡泡顯示內容的其他差異(例如 subagent 的紀錄有多少),見供應商一覽。