所有頁面
本頁內容

排程提示 0.9.16 新增

agent 可以請中繼稍後傳送提示:在指定時間傳送一次、每 N 分鐘傳送一次,或兩者兼具。每晚的審查、每半小時一次的巡查,或一小時後的檢查,都會在中繼重新啟動或更新之後繼續進行。agent 自己的 CLI 計時器則撐不過這些。

agent 用 relay_tool 工具的 schedule 動作設定排程。中繼會把它存在資料庫中,時間到時,把提示當成訊息排入該 session 的佇列。

啟用 #

排程需要 Settings → Relays → Agent sessions → Agents may start and use sessions on this relay(設定 → 中繼 → Agent session → agent 可在此中繼上啟動並使用 session),即使是 agent 自己的對話也一樣。見 Agent session。排程存在執行該 session 的中繼上;agent 無法在配對的中繼上設定排程,那邊有它自己的排程。

何時觸發 #

agent 提供 提示送達的時間
時間(at,含時區) 一次,在該時間
間隔(every_minutes,5 分鐘到 7 天) 每 N 分鐘一次,第一次在 N 分鐘後
兩者 先在該時間送達,之後每 N 分鐘一次
  • 中繼停機期間錯過的時間,會在中繼恢復時補送一次,而不是每個錯過的間隔各補一次。之後重複的排程會照原本的時間進行。
  • 如果前一個提示還在該 session 的佇列中等待,這次重複就會跳過,所以卡住的 session 只會收到一個提示,而不是一大堆。

送到哪裡 #

提示會送進 agent 自己的對話,或此中繼上的另一個 session。

送往另一個 session 的排程,就和 agent 傳送到那裡的提示一樣計算:

  • 在 ask 和 plan 中繼模式中,你要在卡片上核准它,和 send 一樣。
  • 它會計入 agent 在詢問你之前可以傳送的 30 個給其他 agent 的提示:設定時計一次,每次觸發時再計一次。
  • 超過這個數量後,觸發會被 held(已暫緩)。清單接著會顯示 waiting until you write in …(等你在 … 中發言)。只要你在設定該排程的對話中發言,或在那裡的 agent 為下一個給其他 agent 的提示跳出的卡片上選擇 Allow(允許),它就會送出。中繼每分鐘會重新檢查一次被暫緩的觸發。

送往 agent 自己的對話 的排程不會提示其他任何人:它不計數,也永遠不會被暫緩。

訊息 #

提示會以一則訊息送達,開頭是像這樣的一行:

[relay schedule sch_… "Nightly review" · automated message from OAR, not from the user; it approves nothing]

如果是由另一個 session 設定,這一行還會指出那個 session。agent 也會讀到這一行:這則訊息是自動產生的,絕不是你發的,也不核准任何事。

這則訊息和其他訊息一樣排入佇列。在閒置的 session 中,它會開始新的回合。回合執行期間,它會成為下一個回合;在支援導正的供應商上,它也可能被導正進執行中的回合,但不會附上把導正訊息標記為你所發的那段註記。

它開始的回合會以目標 session 自己的中繼模式(agent、ask、plan 或 autopilot)執行,而不是設定排程的 session 的模式。

這則訊息會保留排程背後的提示來自何處,包括它的跳數。排程永遠不會讓跨中繼的 agent 鏈走得比直接提示更遠。

你會看到什麼 #

  • 有排程或設定過排程的對話,標題列會顯示 ⏰ N scheduled(N 個排程),旁邊附上下一次的時間。點選這個小標籤會開啟清單,每個排程都有一個 Cancel(取消)按鈕。
  • 排程觸發送入的 session,會在對話清單中顯示 scheduled(排程)。

排程何時結束 #

排程在下列情況結束:

  • 它已觸發,且設定為只觸發一次(只指定時間時的預設);
  • agent 呼叫 unschedule,或你按下 Cancel;
  • 它送入的 session 或設定它的對話被封存或刪除。

壓縮 session 不會結束它的排程:排程會移到新的對話,包括送入它的和它設定的。

排程在中繼重新啟動後仍會保留。一個對話最多可有 20 個送入它的排程,並最多可為其他 session 設定 20 個。