美奈想約兩位朋友吃晚餐,請行事曆裡的 AI 助理:「幫我們三個找個週間晚上的空檔。」幾秒後,AI 找到週四七點。下一刻,兩位朋友的手機同時跳出一封會議邀請,標題是美奈在行事曆裡給這件事取的暫定名稱。其中一位那天其實想先問家人能不能出門,現在卻得在一封正式邀請上按「接受」或「拒絕」。
AI 沒有找錯時間,問題出在「幫我約時間」被當成一件事。它其實是三件事:查共同空檔、替自己保留時間、寄邀請給別人。前兩件不會驚動任何人,第三件會。換成工作場景,被驚動的可能是客戶和主管,邀請標題可能是內部的工作代號。所以,AI 應該預設停在提出候選時段;寄邀請之前,要有一份列出這一次所有細節的預覽,由人確認。
找得到時間,不等於可以順便發邀請
從使用者的角度看,找時間和發邀請只差一個步驟,讓 AI 一起做完似乎很自然。但從系統的角度看,這兩件事的性質完全不同。
查空檔只需要讀取行事曆上哪些時段是忙碌的,連會議名稱都不必知道。寄邀請則是代表某個人,把一件事放進別人的行事曆和信箱。Microsoft 的行事曆 API 文件寫得很明白:建立一個含有參與者的事件時,伺服器會寄邀請給所有參與者,而且這個行為不能關閉。Google 的行事曆 API 讓程式選擇要通知所有來賓、只通知外部來賓,或不通知,但同一份文件也警告,選擇不通知可能讓事件無法同步到對方的行事曆。
換句話說,一旦 AI 建立了含有來賓的事件,對外的效果就已經發生了。這不是多填一個欄位,而是替人做了一個承諾。
三件事,三種權限
既然是三件事,AI 拿到的權限也應該分開。
查空檔:唯讀。 只看忙碌或空閒的時段,回傳兩三個候選時間,不讀會議內容,不建立任何東西。
替自己保留時間:只寫自己的行事曆。 在使用者本人的行事曆上建立一個標明「待確認」的暫留,不加入任何來賓,也不寄通知。
寄邀請給別人:逐次批准。 這是唯一會影響別人的動作,每一次都要先產生預覽,經人確認後才執行。
這個分法要落實在 AI 能用的工具上,而不只是寫在提示詞裡。只負責找時間的 AI,就不該拿到寄邀請的工具。專注於應用程式安全的開放社群 OWASP,在它整理的 AI agent 安全指南裡也是這樣建議的:工具權限要區分唯讀與可寫入;執行前提供動作預覽;人的批准要綁定這一次的具體動作,目標或參數一改變,就要重新批准。
預覽要讓人看見誰會被影響
「要建立這場會議嗎?」這種問題太模糊,按下同意的人不知道自己同意了什麼。一份可以放行的預覽,至少要列出:
- 用哪個帳號、哪本行事曆當主辦人;
- 每位來賓是誰;
- 開始和結束時間、時區、會不會重複;
- 標題、說明和地點,也就是對方會看到的內容;
- 哪些人會收到通知。
批准綁定的是這一組細節,而不是「約一場會」這個意圖。批准之後任何一項改變,例如時間往後挪半小時、多加一位來賓,都要回到預覽重新確認。
還有一個容易忽略的細節:網路逾時不代表第一次沒有成功。AI 在不確定邀請有沒有寄出時直接重試,對方可能會收到兩封邀請。Microsoft 的 API 允許建立事件時附上一個交易識別碼,用來減少伺服器上不必要的重複;如果系統沒辦法確認第一次是否成功,就應該停下來交給人處理。
逐次確認太慢的時候
逐次預覽會讓排程慢一點。對每天要約十幾場會的助理工作,每一封邀請都要確認可能太繁瑣。可以在範圍明確的情況下放寬:例如只邀請公司內部的固定成員、時段落在上班時間內、會議長度不超過一小時,才允許 AI 在預覽後批次送出。範圍以外的邀請,尤其是牽涉外部客戶、人資、醫療或尚未公開的事,仍然逐次確認。
使用者如果不願意給 AI 寫入行事曆的權限,也不必硬推。AI 可以產生一段會議草稿,或一個「加入行事曆」的連結,讓人自己完成最後一步。少一點自動化,協調仍然能完成。
可以先讓團隊的 AI 排程只做一件事:讀取忙碌時段,提出兩個候選時間,附上時區,然後停下來。確認時區、跨日和既有暫留都處理正確之後,再考慮讓它寫入行事曆。收到邀請的那一端也有同樣的問題:AI 每日摘要裡的邀請,不等於你已經答應,參考〈AI 排在第一名的事,不一定是你今天的承諾〉。如果要把同樣的分層用在信箱、檔案和付款工具上,可以參考〈常駐 AI 助理要先學會停手,才適合接上主要帳號〉。
AI 整理卡
我想檢查團隊的 AI 排程流程,會不會在找到空檔之後直接替人寄出邀請。
判斷方法來自這篇文章:https://boosterminiclass.com/posts/ai-calendar-proposal-invitation-boundary/
文章的看法是:「幫我約時間」是三件事:查共同空檔、替自己保留時間、寄邀請給別人。前兩件不會驚動任何人,第三件會。AI 應該預設停在提出候選時段;寄邀請前要有一份列出主辦帳號、來賓、時間、時區、標題與通知對象的預覽,由人確認,細節一改就重新確認。
請先問我 3 個問題:
1. 這個 AI 排程工具目前能做哪些動作(讀取忙碌時段、讀取會議內容、建立事件、加入來賓、寄通知);
2. 使用者說「幫我約時間」時,它實際會做到哪一步;
3. 寄出邀請之前,使用者會看到什麼確認畫面。
根據我的回答,請輸出:
- 把每個動作歸到三件事中的哪一件,並標出同時跨兩件事、權限過寬的工具;
- 一個只提出兩個候選時段(附時區)就停止的最小版本;
- 寄邀請前的預覽應包含的欄位,以及目前缺少哪些;
- 可以放寬為批次確認的範圍條件,以及必須逐次確認的情況。
不要替我建立或修改任何事件;資訊不足時先問我。最後提醒我,是否放行由負責這個流程的人決定。
參考來源
- Google Calendar API:Events: insert — https://developers.google.com/workspace/calendar/api/v3/reference/events/insert [accessed: 2026-10-11]
- Microsoft Learn:Create event (Microsoft Graph) — https://learn.microsoft.com/en-us/graph/api/user-post-events?view=graph-rest-1.0 [accessed: 2026-10-11]
- OWASP Cheat Sheet Series:AI Agent Security Cheat Sheet — https://cheatsheetseries.owasp.org/cheatsheets/AI_Agent_Security_Cheat_Sheet.html [accessed: 2026-10-11]



