什麼是排程任務?
代理為某個未來時刻許下的工作——它自己決定要送出的跟進,或是週期性的提醒——由排程器準時執行,而不是乾等著誰先開口。
叫語言模型下週二提醒你一件事,它會很熱情地答應,然後什麼都不做。不是因為它不可靠,而是因為在你的兩則訊息之間,它根本不存在。模型被呼叫時才跑,答完就停。
拿來做消費級聊天沒問題。但對一家案子動輒跑好幾個月的公司來說,這就是問題的全部。
一問一答是預設,而這正是它的極限
一個一問一答的代理,只會因為有人跟它講話才動。所有該在空檔裡發生的有價值的事——始終沒寄來的那份文件、週五就到期的報價、三月之後就消失的那位客戶——全都得靠某個人記得。
修這件事最常見的第一個做法是心跳:固定間隔叫醒代理,讓它四處看看有沒有事情要做。這行得通,但不管有沒有事都得付每一次跳動的錢,而且「大約每十五分鐘一次」跟「在她良民證到期那天早上九點」根本是兩回事。
這裡的做法
代理為一個特定時刻排下一則特定的指示。那個承諾是資料庫裡的一列——不是放在記憶體、工作階段或某個跑著的行程裡——所以它撐得過重啟和部署,並由排程器在指定時間執行。
一個任務帶著的不只是「準時」,還有「做對」所需要的東西:
- 時間,可以是明確的時刻,也可以是週期性的 cron 運算式,並附結束日期
- 時區,讓「早上九點」是客戶那邊的九點
- 指示,靜態儲存時加密,描述觸發時要做什麼
- 管道,該從哪裡送出——網頁、Telegram 或 WhatsApp——因為跟進應該出現在對話原本就在的地方
- 重試,因為時機很重要,一次暫時性的失敗不該把它悄悄吃掉
任務分兩種。跟進是代理自己因對話而生成的(「如果 14 號前銀行對帳單還沒到,就去催」)。提醒則是被明確要求的。
為什麼這是商業功能,不是方便功能
在關係型生意裡,會賺錢的工作幾乎全部發生在空檔。沒有人是在諮詢當下丟掉案子的;丟掉都是在那之後的六個星期裡,某份文件沒寄來而沒人發現。
一個只會回應的代理,只幫得上輕鬆的那一半。一個能對幾個月後的某個時刻許下承諾——而且真的會出現——的代理,做的是你的團隊目前做不好的那一半;不是因為他們散漫,而是因為記住四十條同時開著的線本來就不是人擅長的事。
代理醒來時會做什麼
跟進不是一則罐頭訊息。任務觸發時,代理帶著它平常擁有的一切上場:客戶的空間和它對這個人的記憶、知識庫,還有它的 Skills。所以「去催還沒交的文件」可以先看哪些其實已經到了,只提剩下的那些。
它會走這位客戶在用的管道送出——網頁、Telegram 或 WhatsApp——因為一則落在他不會看的地方的跟進,等於沒有跟進。
這也是代理和聊天機器人之間最清楚的一條線。聊天機器人的參與,在分頁關掉那一刻就結束了。問一句「隔天早上會發生什麼事」:如果答案是「沒事」,那些空檔還是你自己的。