Anthropic 在 2026 年 11 月 13 日發表〈Building always-on agents〉(作者 William Hu),講官方怎麼做 24 小時待命的 AI 助理:分成事件收件匣、計時器、記憶、權限、寄件匣五個元件。
Always-on agent(常駐 AI 助理)是會自己醒來做事的 AI,長一點的說明看 Always-on agent 是什麼。
Always-on agent 其實大多在睡覺
Anthropic 說「一直上線」只是使用者的感受。Agent 大部分時間在睡,不花任何 token(AI 用量的計價單位)。有事件進來才醒來跑一次 run(一次執行):收到事件,開一個 session(對話紀錄),跑 agent loop,把結果寫回儲存的狀態。做完回去睡,如此循環。

核心迴圈和一般 agent 相同,差別在外圍:何時醒、run 之間留下什麼、結果怎麼送到你手上。
為什麼現在做得起來
Anthropic 給兩個原因。新模型判斷力更好,更懂使用者的意思,也知道什麼時候該主動回報。另外智慧變便宜,長任務受惠最多:在一項長時間寫程式的測試中,Opus 5.5 每解一題比 Opus 5 便宜 78%,一般工作量只便宜 40%。長任務大幅變便宜,always-on agent 跑起來也就更實際。Opus 5.5 的細節看 Claude Opus 5.5 介紹。
事件收件匣:所有事件先排隊
一般 AI 只在你傳訊息時動,這裡的觸發來源更多:webhook(別的系統發來的通知)、排程任務、背景工作。
讓每個來源直接呼叫 agent 會出問題:兩個事件同時到,會開出互相打架的 run,當機時事件也會憑空消失。
所以所有來源只把事件丟進收件匣,由 worker(背景程式)去取。最簡單的版本有三樣東西:
- 一張記錄事件的資料表
- 一個寫入事件的接收端
- 一個讀取事件的 worker

接收端要快速回應,prompt injection(藏在內容裡、想騙 AI 照做的惡意指令)這類深入檢查留到 run 裡做。一切以收件匣為準,worker 掛掉,新的可以撿起同一個事件重做。同一個收件匣同一時間只有一個 worker,連續來的幾則訊息可合併成一次 run,agent 只回一次。
計時器:讓 agent 自己排下一次醒來
要主動還需要計時器,分兩種:
- 跟進(follow-up): agent 替自己設的期限,例如回頭看對方有沒有回信
- 排程(schedule): 固定週期的任務,例如每天一份電子報
計時器放在自己的資料表,收件匣只放已經可以處理的事件。計時器自己不啟動 run,由 scheduler(排程程式)定時掃描,把到期的變成事件丟進收件匣。

記憶:每次醒來都靠它接上
每次 run 之間是斷開的,連續感靠記憶。Claude Code 的 auto memory 和 Messages API 的 memory tool 都把記憶做成一個資料夾的檔案。Always-on agent 要把這些資料夾放進資料庫或物件儲存這類持久的地方,worker 換了,記憶還在。
原則是只存查不回來的東西,資料已經在別的系統(例如問題追蹤工具),就只存指標。四種記憶:
- 使用者指令: 單獨一個檔案,每次 run 都載入,因為使用者不會一直在旁邊指揮
- 使用者筆記: 角色、偏好、使用者糾正過的地方,只載入索引,需要時再讀細節
- 過去訊息: 已經告訴使用者什麼,避免重複
- 任務進度: 每個任務一個進度檔,新的 run 讀了就能接著做

還可以加 dreaming:回頭檢視過去的 session,整理記憶、替換過時條目,找出跨多次 run 才看得出的規律。Claude Managed Agents 已經有同類功能,看 Claude Managed Agents Dreams 是什麼。記憶的基礎看 AI Agent 的記憶機制。
每次 run 一開始,agent 先載入 system prompt、工具定義和記憶檔,這是每次都要付的成本,要精簡,並用 prompt caching(快取重複的開頭省費用)。新 session 只帶這些內容和觸發事件,舊 session 會帶回之前所有訊息。
太長時可以 compaction(把舊訊息壓成摘要)或開新 session,兩種都掉細節,重要的事要先存進記憶。

權限:風險最集中的地方
Anthropic 指出權限是風險最高的環節:一次 run 握有使用者的存取權,又沒人盯著。每次工具呼叫,agent 要決定直接做、擋下,還是等人核准。有三個做法:
- 帳號憑證放在 agent 外面: 密碼、存取權杖這類憑證交給 agent 環境外的代理伺服器(proxy),請求送出時才補上,agent 自己手上沒有
- Auto mode: 和 Claude Code 一樣,分類器審查高風險動作,擋下危險的,讓 Claude 換個安全做法。最重要的決定仍要使用者看過
- Deferred tool call(延後的工具呼叫): 需要核准時,這次 run 結束,session 存在呼叫到一半的狀態,請求做成互動卡片給使用者看(Anthropic 舉的例子是用 MCP Apps 做的介面),回覆變成事件進收件匣,新的 run 接著做。等待期間 worker 還能處理別的事件
更多風險面向可以看 AI Agent 的安全風險。
寄件匣:只講結果,不講過程
一般 AI 即時串流整個思考過程,always-on agent 在背景工作,你只拿到結果和重點。
一次 run 有三種結局:寄出一則訊息、判斷沒什麼好講的、用延後的工具呼叫來問你。多數 agent 有個「send」工具直接送就夠了。要控制發訊息的節奏或從錯誤中復原,才需要正式的寄件匣:一張待寄訊息的資料表,加一個 dispatcher(派送程式)決定送哪些。

訊息量要調:太多變吵,太少會漏事。Anthropic 建議用 eval(測試)找平衡,從安靜開始,慢慢爭取注意力。
五個元件怎麼串起來
每次 run 都從收件匣的一個事件開始,可能是使用者訊息、webhook 或計時器。Worker 叫醒 agent,用新的或舊的 session。Agent 先讀記憶,在權限內動手,再把學到的寫回記憶,最後推一筆到寄件匣,由 dispatcher 送給你。
Run 也可以設一個計時器,之後再叫醒自己。你的回覆又變成事件回到收件匣。每次 run 都很短,循環不會停,agent 就像一直上線。

跟 Rubric Labs 的做法差在哪
工程團隊 Rubric Labs 的設計是一條長期不斷的對話串,用 heartbeat(定時塞進對話的訊息)叫醒 agent。傳訊息也是工具,所以 agent 可以決定這次不吵你。它另有廣泛存取權和通知收件匣。
兩邊都用工具決定要不要通知你,也都用收件匣接外部事件。差別是 Rubric Labs 只有一條對話串,Anthropic 則讓每次醒來跑一次短 run,可以開新的 session 或接回舊的,長期要留的資訊存在記憶檔。排程和分身的基本做法,可以看 Skill、Sub-agent、Cron 三大機制。
判斷 always-on 產品的三個問題
- 事件怎麼進來?有收件匣,還是每個來源直接叫 agent。
- 它記得什麼?指令、筆記、已說過的話、任務進度有沒有分開存。
- 它能做什麼?帳號憑證在不在它手上,高風險動作誰核准。
發訊息的部分,Anthropic 建議 agent 從安靜開始,用 eval 調整訊息量,再慢慢爭取你的注意力。
封面與內文圖片來源:Anthropic(claude.com/resources/articles/building-always-on-agents)
本文為 AI agent 設計概念的整理,不涉及證券或投資建議。