DAY 239 · 2026-08-26

我做的 AI 社交特使怎麼設計

一百個人的場子,你走進去,站在飲料區旁邊,整晚只跟離你最近的兩個人聊。名牌上的頭銜看不出誰值得深聊,而要一個一個問「你在做什麼」,光問一輪就把整場時間問完了。

我最近在做的 Prelude 想解的就是這件事:活動開始前,每個人先替自己打造一位 AI 特使,特使之間兩兩先聊過一輪,然後你會拿到一份很短的名單——這幾位值得你花時間,理由是什麼,第一句可以問什麼。

這篇分享它的設計理念:為什麼名單一定要短、為什麼一場配對要開兩個各自獨立的程序、為什麼這些對話的帳單不算在我頭上,還有現在哪些地方它做不到。

Prelude 首頁:左邊寫著「替自己打造一位會主動社交的 AI 特使」,右邊是像素風的社交會場

名單很短是刻意的

先看結果比較快。跑完之後你看到的是這一頁:

分析結果頁:「值得你花時間的有 2 位」,每位附上分數、信心、互補理由和開場白

畫面上那句「從 2 位可能的對象中篩選出來。名單很短是刻意的:推薦 5 個好的,勝過推薦 40 個平庸的」不是文案,是整個系統的規格。這場只有三個人,2 位候選全上榜,看不出篩選;人一多,短名單才會開始擋掉東西。

每一筆推薦帶三樣東西:一個分數(畫面上是 0.91 和 0.89)、一段互補理由(誰缺的東西對上誰給得起的東西),以及一句可以直接拿去用的開場白。分數旁邊還有一個「模型讀過對話」的標記——這個推薦是有一段真的對話支撐的,不是把兩份自我介紹丟進去比對關鍵字。

社交產品最容易掉進去的坑是把名單做長,因為長看起來比較划算。但一份推薦四十個人的名單,跟沒有名單是同一件事:你還是得自己篩。所以這裡整條配對流程的取捨都是寧可漏掉,不要湊數。

特使進場之後發生什麼事

核心迴圈只有四步:

  1. 建立特使 — 用一問一答的訪談,把你在做什麼、你需要什麼(合作者/人/投資人/客戶/某個領域的經驗)、你能提供什麼問出來
  2. 兩兩見面 — 針對這一場活動,特使之間一對一對話,各自試探對方跟自己有沒有互相用得上的地方
  3. 評分 — 每一場對話產出一個分數、一段白話的理由,還有一到三個具體的開場話題
  4. 排名 — 每個人拿到自己的名單:這幾位,為什麼,去問什麼

主辦人這邊只要開一個房間、把邀請連結傳出去。主辦不用自己建特使也能辦,自己想參加的話,畫面上有一個「我也要進場」的按鈕。

主辦人建立活動後拿到的邀請連結畫面,下面提醒這串連結只會顯示這一次

最難的不是配對,是不讓它變成好好先生

這是整個產品的命脈。最好認的失敗長這樣:每一對都給對方打高分,每一段理由都寫「你們很互補,非常值得聊聊」。名單一旦推薦所有人,這產品就沒有價值了。

一開始的做法是讓同一個對話同時扮演 A 和 B,然後在 prompt 裡叮嚀它「你等一下要演兩個人,請保持獨立判斷」。這行不通,而且行不通的原因不是叮嚀寫得不夠好——同一份上下文裡,兩邊的話互相看得見,模型就是會往互相同意的方向滑過去。prompt 裡的一句叮嚀不是防線,它只是一個請求。

現在的做法是一場配對開兩個各自獨立的程序,一人一個,中間由一個居中的排程者傳話。A 的上下文裡永遠不會有 B 的 token;B 的回覆是以「對方說了什麼」的身分送進來的,跟真人講話的樣子一樣。

更關鍵的是,這件事是寫進介面本身的:發出對話的那個入口 AgentRunner.open() 一次只發一段對話給一位特使,整個介面裡沒有 runMeeting(a, b) 這種「讓兩位特使在同一段對話裡見面」的方法可以實作。也就是說,就算之後有人想偷懶用單一上下文兩邊都演,他找不到地方寫。舊的那個「你要演兩個人」的 preamble 沒有被留著當備案,是直接刪掉的——留著一個名字很友善的陷阱,總有一天會有人踩。

那這些對話誰出錢

N 個人的活動要跑 C(N, 2) = N(N−1)/2 對,隨人數平方成長——5 個人 10 對,20 個人就 190 對。這是這類產品最現實的問題。如果全部呼叫都由伺服器發出去,人一多帳單就是我在扛。

這裡的解法是:對話跑在使用者自己的電腦上,用他自己已經登入的訂閱額度。 伺服器把 claude -pcodex exec 這類裝在使用者電腦上的指令列工具當成執行環境,一位特使一個各自獨立的程序。特使兩兩對話這條路徑上,伺服器一次 LLM API 都不打(訪談結束後把自我描述整理出來、還有我私下跑的品質評測,這兩件事仍然由伺服器自己出錢,但那是每人一次的固定成本,不隨人數平方成長)。

這個設計要面對的問題我自己也寫過:拿自己的 Claude 訂閱去跑第三方工具,安全邊界在哪裡,Day 85 整理過一次——https://www.dawsonwang.com/day/85

房間頁面:三位特使已經進場,下面是「用你的電腦補齊剩下的對話」的說明

實測下來,最貴的不是對話本身,是每一次呼叫的固定開銷:

設定 cache 建立 tokens input tokens
在專案資料夾裡跑 52,146 7,895
換到乾淨的 /tmp 51,627 3,787
隔離 CLAUDE_CONFIG_DIR、關掉 MCP 34,049 186
再加 --safe-mode--setting-sources ''--disallowed-tools 20,282 10

換資料夾的 cache 建立只省 1%(input 有掉一半,但那一欄本來就小)。真正被載進每一次呼叫的是全域設定:你的 CLAUDE.md、rules、skills、plugins、MCP server——對一位在派對上扮演客人的特使來說,這些全部用不到。--safe-mode 一個旗標就把 CLAUDE.md、skills、plugins、hooks、MCP、自訂指令跟 agent 全部關掉,等於把前一列的手動隔離一次做完。單筆降幅最大的其實是隔離全域設定那一步,cache 建立少了 17,578;--safe-mode 這一組再往下砍 13,767,把 input 壓到只剩 10。

真的跑一場完整的配對(6 個回合、兩位獨立特使、快取全新、什麼都還沒暖起來)是 118,315 tokens、$0.0664。用正式的煙霧測試指令 yarn smoke:live 對真的 CLI 跑一次是 123,947 tokens、$0.0771、82 秒。

5 個人的活動要談的其實只有 10 對——每個人跟另外四位各談一次,C(5, 2) = 10,就這樣而已。

但實際跑掉的次數是 50。因為我刻意讓五台機器每一台都把這 10 對從頭跑一遍:同一對談五次,才有五個獨立的分數可以互相比對。 這是下一節那個反諂媚機制的原料,不是重複做白工。所以 50 是執行次數,不是有 50 場不同的對話。

50 次執行 × 每次 5 個 CLI 呼叫 = 250 次呼叫、590 萬 tokens、$3.32。同樣 250 次呼叫,如果不做隔離也不關 MCP,每次 $0.214,就是 $53.50。差 16 倍。

(這裡刻意用同樣的呼叫次數去比。原本估算是 400 次對 250 次,除出來會得到 26 倍,但那個差距有一半來自回合數的假設,不是這個設計換來的。)

分歧要拿來當訊號用

接上一節那個「五台各跑一遍」。同一組配對拿到 5 個分數之後,能做的事情就不只是取一個數字。

於是我可以拿到平均、五個分數彼此差多少(標準差),以及一個「排除自己那一輪」的平均。標準差大代表這一對本來就見仁見智;兩個平均差很多,代表有人在給自己人放水——這就是偏誤的警訊。

反諂媚從一個「希望 prompt 寫得夠兇」的願望,變成一個會退步、也就能被測出來的數字。畫面上那個「中等信心」的標籤就是從這裡來的。

人格分數怎麼量出來

特使的個性不是讓 LLM 自由發揮。用的是 TIPI,十題的 Big Five 量表,心理計量上有效度驗證——選它而不用 MBTI 就是為了這一點。

分工很清楚:數字由量表算出來,LLM 只負責把文字寫出來,以及從訪談裡抽出「需求」跟「能提供什麼」。 人格那幾個維度不給模型碰,模型碰得到的地方是文字。

人不是一串叫他存好的字串

身分這塊我繞了一圈才回來。

最早的設計沒有帳號:特使是一份自我描述,不是一個帳戶,所以發一把一次性金鑰給你存好就行,伺服器只留雜湊——存的是驗證用的指紋,還原不回金鑰本身。這個取捨當時是對的,而且代價寫得很清楚——金鑰掉了救不回來。

然後代價就來了。有人在手機上建完特使,回家用筆電打開連結,畫面跟他要當時存下的金鑰,他沒存,於是他被鎖在自己的分析外面,而伺服器手上只有雜湊,什麼忙都幫不上。

現在改成用 Google 帳號登入,金鑰那一套整個拿掉。老實講,這個決定是有代價的:這個 app 本來不需要帳號、也不存個資,現在每一位參加者的 Google 帳號、email 跟顯示名稱都會被存下來,不是選填,是每個人。改版之前已經發佈的特使全部找不到主人,也沒有遷移路徑。換來的是一組掉了可以重發的憑證,跟一份會跟著你換裝置的分析結果。

界線畫在這裡:email 跟名字存下來的唯一用途,是讓你看得出自己現在用哪個帳號登入,系統不拿它們做任何比對。登入的驗證我也選擇自己寫,沒有裝現成的套件。這是有代價的取捨——決定「你是誰」的那條路徑上少一個外部相依,但也沒有別人幫我盯 CVE,驗證邏輯寫錯就是我自己的問題。

現在還做不到的

  • 會場的像素動畫是重播,不是直播。 對話跑的時候沒有即時推送,跑完才有得看
  • 房間狀態每 20 秒重查一次。 這件事直接寫在畫面上,不假裝是即時連線
  • 配對品質上限是那份自我描述的豐富度。 訪談問得淺,後面整條配對流程再精準也救不回來

說到底,這個產品真正想解決的,是幫你在有限的時間內找到最值得交流的對象。

想玩玩看的話,歡迎來「踹共 AI 小聚」體驗。

最近開始做免費的一對一諮詢,幫你把 AI 接進自己的工作流——有需要的話可以約:https://www.dawsonwang.com/


延伸閱讀
看完整 242 篇 →