AI エージェントのためのスケジュールされたタスクとは?
エージェントが特定の未来の瞬間に対してコミットする仕事——送ると決めたフォローアップや、繰り返しのリマインダー——誰かが先に話しかけるのを待つのではなく、スケジューラーが時間どおりに実行する。
言語モデルに次の火曜にリマインドしてと頼めば、温かく同意し、それから何もしません。信頼できないからではなく、あなたのメッセージの間には存在しないからです。モデルは呼ばれると走り、答えると止まります。
消費者向けのチャットならそれで結構です。案件が何か月も続くビジネスにとっては、それこそが問題のすべてです。
ターン制がデフォルトで、それが限界
ターン制のエージェントは、誰かが話しかけたからこそ行動します。隙間で起こるべき有益なことすべて——決して届かなかった書類、金曜に失効する見積もり、3月から音沙汰のない顧客——は、人が覚えていることに依存します。
これを直そうとする最初の試みはたいていハートビートです。固定の刻みでエージェントを起こし、何かすることがないか見回させる。うまくいきますが、仕事があろうがなかろうが刻みごとに費用を払い、「だいたい15分ごと」は「彼女の無犯罪証明書が必要になる朝の9時ちょうど」とは違います。
ここでは代わりに何が起こるか
エージェントは、特定の瞬間に対する特定の指示をスケジュールします。そのコミットメントはデータベースの1行です——メモリ、セッション、走っているプロセスの中に保持されるものではない——ので、再起動やデプロイを生き延び、スケジューラーが定刻にそれを実行します。
タスクは、単に時間どおりであるだけでなく正しくあるために必要なものを携えます。
- いつ——正確な時刻として、あるいは繰り返しには終了日付き cron 式として
- タイムゾーン——だから朝9時は顧客がいる場所での9時を意味する
- 指示——保存時に暗号化され、発火したときに何をするかを記述する
- どのチャネルで出るべきか——ウェブ、Telegram、WhatsApp——なぜならフォローアップは会話がすでに存在する場所に届くべきだから
- 再試行——なぜならその瞬間が重要で、一時的な失敗がそれを静かに飲み込むべきではないから
二種類が存在します。エージェントは会話の帰結としてフォローアップを自ら作ります(「銀行取引明細が14日までに届かなければ催促する」)。リマインダーははっきりと頼まれるものです。
なぜこれが便利機能ではなく商業的な機能なのか
関係性のビジネスで儲けを生む仕事は、ほぼすべて隙間にあります。相談の最中に案件を失う人はいません。失うのはその後の6週間、書類が届かず誰も気づかなかったときです。
応答することしかできないエージェントは、簡単な半分を手伝うエージェントです。何か月も先の瞬間にコミットでき——そしてそこにいられる——エージェントは、あなたのチームが今うまくできていない部分をやっています。彼らが不注意だからではなく、40の未決の糸を覚えていることは人が得意なことではないからです。
起きたときエージェントは何をするか
フォローアップは定型メッセージではありません。タスクが発火すると、エージェントは通常持っているすべてを携えて走ります。顧客のスペースとそこで覚えていること、知識ベース、そしてそのSkill。だから「未提出の書類を催促する」は、実際にどれが届いたかを確認し、残りだけに言及できます。
それはその顧客が使うチャネル——ウェブ、Telegram、WhatsApp——で届けられます。彼らが読まない場所に着くフォローアップは、フォローアップがないのと同じだからです。
これはまた、エージェントとチャットボットの間の最も明確な線でもあります。チャットボットの関与はタブが閉じたときに終わります。翌朝何が起こるかを問うてみてください。答えが「何も」なら、隙間はまだあなたのものです。
エージェントへのページごとのブリーフィング——あらかじめ知っておくべき背景、開始の一言、いくつかの推奨質問——訪問者がチャットを開いた URL から自動的に選ばれる。
エージェントが会話の途中で組み立てる小さなフォーム——選択肢、数値、日付——タイプして答える質問の段落ではなく、タップするものとして描画される。
一人の顧客の会話、文書、記憶を保持する隔離されたコンテナ——データベースレベルで強制されるため、ある顧客の資料が別の顧客の会話に現れることはない。
ユーザーが提供したテキスト、またはエージェントが読み取るドキュメント、Webページ、メールに隠されたテキストが、コンテンツではなく新しい指示としてモデルに扱われる攻撃です。これにより、エージェントはルールを放棄したり、アイデンティティを変更したり、システムプロンプトを漏洩させたりします。攻撃は正当な入力と同じチャネルを通じて到達するため、より厳格なプロンプトを作成しても修正できません。有効な防御策は、モデルの前と後に配置されます。