跳到內容

用 @ 呼叫 AI 員工

尚未發版:呼叫名單新增 manager_may_read,提示有效主管可能透過獨立的團隊唯讀對話 API查看。它不放寬續聊、匯出或既有歷史權限;畫面提示由後續變更加入。

平常對話由一位預設的 AI 員工回覆。想把某一則訊息交給別位員工,就像在通訊軟體裡 @ 人一樣,打 @ 加名字。從 v1.76.0 起,叫得到誰要看你是誰,而且每則訊息各自判斷。

  1. 沒有叫任何人的訊息,交給這個對話的預設員工:綁定這個頻道或討論串的員工;沒有的話,allowed_channels 列了這個通道的員工;再沒有就是主員工。dashboard 的 WebChat 裡由目前選的員工回答,沒選員工時由預設員工回答。
  2. 叫了某位員工的訊息,交給那位員工,只有這一則。下一則沒打名字的訊息就回到預設員工,不會黏著。
  3. 可以用 @代號、@觸發詞([agent] trigger 的值)或 @顯示名稱 呼叫。不分大小寫;名字後面直接接中文也認得(@財務小幫手幫我算帳)。全形 @ 也可以。電子郵件地址(ann@example.com)永遠不算呼叫。
  4. 好幾個名字都對得上時取最長的(有 @財務小幫手 就不會當成 @財務)。一樣長時,代號優先於觸發詞,觸發詞優先於顯示名稱。同一個名字仍屬於好幾位員工時,就算你只叫得到其中一位也不會直接交給他,而是讓你選(一位都叫不到就拒絕)。一則訊息提到好幾位員工時,取文字裡最先出現、而且你叫得到的那位。
  5. 只打部分名字(@財務)不會默默交給某一位,而是回你可能的人選。
  6. 沒打 @ 就不切換。「財務小幫手,幫我算帳」會交給預設員工。
  7. 通訊軟體本身的「提及某人」(LINE 的提及、Telegram 群組成員的 @帳號)不算叫員工,就算那個人的名字開頭和某位員工一樣。
發話者 叫得到
dashboard 管理員 所有員工
WebChat 裡的 dashboard 帳號 預設員工(和以前一樣)、開放給外部聯絡人的員工,加上帳號綁定的員工(任何權限等級);主管另外叫得到團隊的員工(見下一節)
綁定了 dashboard 帳號的通訊軟體使用者(已驗證的通道身分) 這個對話的預設員工、開放給外部聯絡人的員工、帳號綁定的員工;主管另外叫得到團隊的員工
其他人:LINE 好友、Telegram 使用者、網站聊天訪客 這個對話的預設員工與開放給外部聯絡人的員工

企業版可以替每個帳號設定一位直屬主管(在「管理 → 成員」編輯成員的「直屬主管」,或 users.create/users.update 的 manager_user_id;同一頁可以切到組織圖。主管在側欄「組織 → 我的團隊」看得到自己的部屬與叫得到的員工,見儀表板設定對照)。角色是主管(或管理員)的人,叫得到自己以下每一層部屬綁定的 AI 員工,最多往下 8 層。停權的部屬仍然算(主管可以代管他的員工),離職的不算。角色是一般員工的人就算底下掛了人,也不會拿到團隊的員工。

經由部屬拿到的權限最高到 Operator,不會到 Owner:

動作 管理員 直接綁定 Owner 直接綁定 Operator 直接綁定 Viewer 主管(經由部屬) 預設員工、對外開放的員工 沒綁帳號的發話者
@ 對話、WebChat 選這位員工對話 ✅ ✅ ✅ ✅ ✅ @ 可以,不能選為對話對象(預設員工是不選人時的對象) 只有預設與對外開放的員工
交辦任務(dashboard 建立任務、建立目標、改派任務) ✅ ✅ ✅ ❌ 部屬綁定是 Owner 或 Operator 時 ✅ ❌ ❌
任務看板列出這位員工的任務 ✅ ✅ ✅ ✅ 可以交辦時 ✅,只看得到卡片(標題、狀態),看不到內容 — —
記憶、對話紀錄、員工設定與人格檔 ✅ 依綁定等級 依綁定等級 依綁定等級 ❌ — —

部屬綁定是 Viewer 時,主管只能和那位員工對話。「AI 員工」頁和員工設定頁仍只列直接綁定的員工。

主管自己用 dashboard 交辦給團隊員工的任務(建立者是自己),只要仍然可以交辦給那位員工,就能修改、改派、取消或刪除;別人建立的任務仍要直接 Operator。任務看板上只有卡片的任務也不附原本對話的連結(channel、channel_link 是空的)。

改綁定、改角色、停權或改主管之後,下一則訊息和下一次 dashboard 操作就照新的設定判斷,不用重新登入,也不用等快取過期(每次寫入都會讓權限快取失效)。讀不到使用者資料時一律收窄成沒有綁定。個人版沒有使用者與主管設定,行為和以前一樣;從企業版降回個人版時,留在資料裡的主管關係也一律不算。

要開放某位員工給外部聯絡人,在員工編輯頁打開「允許外部聯絡人呼叫這位員工」(agent.toml 的 [channels] public_trigger = true)。預設關閉,只有管理員能改,員工自己改不了。

dashboard 帳號(WebChat 登入,或綁定了帳號的通訊軟體使用者)叫了沒有權限的員工,在呼叫模型之前就會被拒絕。回覆只說你沒有呼叫這位員工的權限,不寫出員工名字;但這也表示這個名字確實是某位員工。沒有綁定帳號的發話者(LINE 好友、Telegram 使用者、網站聊天與 Odoo 線上客服的訪客)不會收到拒絕:他們叫不到的名字和對不上任何人的名字一樣,當成一般文字交給預設員工,在「只回提及」的群組裡也不算叫 bot,所以外部的人沒辦法用這個方式查出有哪些員工。拒絕會記進安全稽核紀錄(trigger_route_refused),記的是 dashboard 帳號;沒綁帳號的發話者記 16 個字元的 HMAC,金鑰存在這台機器(trigger_audit.key,只有擁有者能讀,建立一次),不記平台原始 ID。同一位發話者重複叫同一位員工被拒,每分鐘只記一筆。允許的切換記在 info 等級的日誌,並寫出權限來源 via:binding(直接綁定)、team:<部屬帳號 ID>:<層數>、default、public 或 admin。管理員帳號記成 user:<帳號 ID>。

群組裡的回答大家都看得到。 有綁定帳號的成員在 LINE 或 Telegram 群組叫自己綁定的員工,回答會出現在群組裡,所有成員都看得到。綁定限制性的員工時請考慮這一點,或請對方改用一對一聊天。

  • WebChat:在輸入框打 @ 會跳出你叫得到的員工(頭像、名字、部門),邊打邊篩選。名單來自 agents.callable,和每則訊息的檢查是同一套規則;來源不只一種時分成「我的 AI 員工」「我的團隊:○○的 AI 員工」「公開的 AI 員工」。上方的員工列也包含團隊的員工。方向鍵移動,Enter 或 Tab 插入 @名字 ,Esc 關閉。回覆來自目前對話以外的員工時,泡泡上方會標示是誰回覆。
  • LINE:單獨傳 @(或 @ 加部分名字),bot 會用快速回覆按鈕列出名單,一次最多 13 個;超過時最後一個是「更多」,按了看下一頁。點名字會送出 @名字。
  • Telegram(共用 bot):同樣的名單,用訊息下方的按鈕呈現;按鈕放不下時改送文字名單。
  • 其他通道用文字列出名單。

名單、拒絕與「請說要交給…」的提示,和 AI 回覆一樣要先通過使用者存取管制(封鎖名單、配對)與真人接手檢查才會送出。同一位發話者在同一個對話,名單與拒絕各自每 10 秒最多回一次,期間重複的訊息不回(省下平台的訊息額度)。通訊軟體上的用語跟著 [general] default_language(繁體中文、英文、日文);WebChat 依使用者的 dashboard 語言顯示。

在通訊軟體(LINE、Telegram、Discord、Slack 等)只傳 @名字,或在 LINE、Telegram 的名單點一位員工,bot 會回「請說要交給「名字」的事」。10 分鐘內,只有你在這個對話的下一則訊息會交給那位員工,之後恢復正常判斷。那則訊息到的時候會再檢查一次你的權限。同一個群組裡其他人的訊息不受影響。

等待狀態只存在記憶體,閘道重啟就忘了,下一則訊息會交給預設員工。LINE 上,一則訊息要交給誰,在收下訊息時決定一次並和訊息存在一起;執行前與每次送出前的檢查都沿用這個結果,只確認你還叫得到那位員工。重試的訊息不會再設一次「下一則交給某員工」。那位員工已經不能接這則訊息時,訊息會被隔離,bot 會請你重新傳送。

被叫來的員工在這個對話裡用自己的 session 回答(<對話>#agent:<代號>),所有通道與 WebChat 都一樣。它的對話紀錄、存起來的機密和待確認的目標,不會和預設員工混在一起。預設員工看不到被叫來的員工回答了什麼,反過來也一樣。

  • LINE:開啟「只回提及」後,bot 只回應提及 bot 本身的訊息、用 @ 叫員工(或要 @ 名單)的訊息,以及被點名員工正在等的那一則。v1.76.0 之前這個設定會讓整個群組完全沒有回應。LINE 不會告訴 bot 被引用的是不是它自己的訊息,所以引用 bot 的訊息不算。
  • Telegram:共用 bot 在只回提及的群組裡,除了自己的 @帳號 和回覆它的訊息,也接受員工名字。各員工專屬 bot 維持只認自己的 @帳號。
  • WebChat 的回覆框架(assistant_done)帶 agent(代號)與 agent_name。
  • LINE 和 Telegram 上,不是預設員工的回覆開頭會加 【名字】;預設員工的回覆不加。LINE 泡泡的標題現在寫回答的那位員工(以前一律寫主員工)。
  • 行為契約(CONTRACT.toml)檢查與機密還原,都以實際回答的員工、在它的 session 進行。
  • Discord、Slack 等其他通道套用同一套規則、文字名單與先點名再交辦,但沒有按鈕,也不過濾平台的「提及某人」。端到端實測只做了 WebChat 和 LINE,Telegram 只有單元測試。
  • 其他通道的發話者,只有透過通道登入流程驗證過的身分,才會對應到 dashboard 帳號。
  • 呼叫員工不會建立任務。要在聊天裡交辦,請用 /交辦 @名字 任務(見在聊天裡交辦任務)。主管在任務看板看團隊員工的任務時只看到卡片,自己交辦的除外(「目標 → 我交辦的」)。