第十六節 計畫與待辦

16.1 計畫(Plan)

籌劃模式下,助手通常會輸出一段結構化計畫:

  • 總目標
  • 階段劃分
  • 每階段的輸入 / 輸出 / 風險

計畫以獨立卡片浮層顯示,可:

  • 接受(進入執行)
  • 修改(線上編輯後再交回助手)
  • 拒絕(讓助手重新規劃)

16.2 待辦(Todo)

執行過程中助手會動態維護一份待辦清單,逐項標記進度:

  • 待辦
  • 進行中
  • 完成
  • 跳過 / 失敗

待辦清單實時顯示在「待辦」狀態條裡(形態見 §5.5.1),你可以隨時補充 / 調整條目。

手工刪除某一項:未完成的條目(待辦、進行中)行尾有「刪除」按鈕,已完成的條目不顯示,避免誤刪。會話執行中按鈕置灰(「會話執行中,結束後可刪除」),等本輪結束再刪。刪除會作為一條隱藏記錄寫進會話歷史,並告訴 Agent 這是你的明確決定、不要加回 —— 因此重開會話、上下文壓縮、重新啟動之後都不會復活。

16.3 跨折疊保留

歷史折疊(見第十七節)發生時,計畫與待辦的結構化狀態完整保留,不會被壓縮為模糊摘要。這意味着即使會話已經很長,AVL Code 仍然清楚"我在做什麼、做到哪一步"。

16.4 Turn 終點 todo 核對

一輪收尾時(isGoalTurnFinalRecord 命中),如果待辦清單仍有未完成項,並且這一輪在最後一次更新清單之後還呼叫過其他工具,AVL Code 會自動補一條隱藏 user 訊息(source = auto_todo_nudge),讓 Agent 只核對清單:已完成的標 completed、與實際做法不符的改寫、不再需要的刪掉,然後結束這一輪。

  • 只記帳,不督辦:核對這一輪明確要求 Agent 不去執行未完成項,也不追問你要不要繼續 —— 推進任務是你(或會話目標)的事,核對只保證清單與實際一致。
  • 不白跑:做完工作已經順手更新過清單的一輪、只是問答沒呼叫工具(或只呼叫了提問、工具載入、記憶檢索這類輔助工具)的一輪、你手動停止的那一輪,都不會觸發核對;核對這一輪結束後也不會接着再核對。讀取與分析類工具算做工作 —— 很多待辦正是靠分析完成的。
  • 能搭車就不多跑:這一輪本來就有目標續轉、歷史折疊續跑等自動訊息要發時,核對只作為一句"順帶核對清單"附在那條訊息裡。
  • 與 goal 自動續轉、compact nudge 同族,是 turn 終點的另一名成員。
  • 隱藏 user 訊息:不進入正常對話流可見區,但 Agent 能讀到並回應。

16.4.1 給模型一個"體面的停下"

你說了「先停一下」之後,助手可以自報暫停 —— 輸出一個內部標記表示「已按你的要求暫緩這些待辦」,此後不再自動核對,直到待辦清單真的發生變化(劃掉某項或重寫成新任務)。做工作的一輪以向你提問收尾時同樣視為在等你,暫不核對。

  • 這個標記不會出現在本文裡,你看到的回復乾乾淨淨;它在軌跡面板裡作為「自報暫停」步可見,聚合卡上也有「暫停待辦」計數(見 §9.4.2)。
  • 暫停意圖能跨越上下文壓縮保留 —— 壓縮之後不會"忘了你說過停"又重新開始核對。
  • 卡住時可以向你求助:助手確實推進不下去時會發起詢問、把問題擺給你等答復(此前這條求助通道被內部白名單誤攔,於是模型卡住了也無處求助)。
  • 沒人指派的子任務不會彈表單打斷你:詢問求助只發生在你實際在場的會話裡;無人值守的場景下也不會讓一個沒人回應的表單在那裡空等。
  • 重新啟動不失憶:暫停意圖隨會話儲存,重新啟動後繼承;一輪停在工具呼叫中途(例外收場)時也會補一次核對。

16.5 會話目標(Goal)與自動續轉

會話目標條(狀態條裡的「目標」項,形態見 §5.5.1)用來給這個會話定一個總目標,讓助手朝着它持續推進。

面板裡能直接改:點開目標浮窗後可以就地編輯目標內容與 Token 預算:

  • 改目標內容會把狀態拉回「進行中」,並在下一輪向助手注入更新後的引導;只改預算不影響進度。
  • 預算留空 = 不限;預算用盡時助手進入收尾模式、不再啟用新工作,你可以點「繼續」放行,或直接把預算調大。
  • 也可以用斜槓命令:/goal <目標> 設定、/goal budget <N> 調預算、/goal pause / resume / complete / clear。

狀態與「暫停中」:

狀態 含義
進行中 正在朝目標推進
已暫停 你手動暫停了
暫停中(空閒態) 目標還在,但當前沒有助手在執行,所以沒人推進它
已完成 / 預算耗盡 結束態

「暫停中」時浮窗上有「繼續推進」按鈕,點一下助手就接着朝目標乾;點擊後到真正起跑之間的那一小段視窗裡不會再誤顯示「暫停中」。

空轉會被攔住:目標的自動續轉加了停滯感知 —— 連續幾輪沒有實質進展就停手,不會把預算一路燒到上限。子任務在跑時停滯感知會凍結(父會話只是在等子任務並不算"卡住"),這些等待輪次也不計入續轉輪數上限。

目標與待辦並行不打架:目標續轉與待辦核對搭同一條注入通道 —— 需要核對時只作為附言並進續轉訊息,不會互相餓死(此前兩者會搶同一個出口,導致其中一個長期不生效)。

計數顯示可切換:目標條上的 Token 用量數字點一下就換一種顯示方式(原始 / 千分位 / 緊湊 / 百分比),長會話裡看大數字不再費勁;有子代理時可展開「自身 / 子代理 / 工具呼叫」的構成。