truth-serum 是做什麼的?
與其猜測買家會提出哪些異議,不如直接詢問一百位模擬買家——每位都是一個專門的子代理,扮演你目標客戶群中的特定買家。你是主持人。你絕不代替買家回答。
這個工具的用途:找出異議、客群區隔、話術措辭,以及需要向真人提問的方向。它不屬於:需求驗證。語言模型傾向於順應同意,因此這裡的高購買率是「最佳情況」,而非預測;它可以推翻一個計畫,但絕不能確認一個計畫。
請先閱讀 ${CLAUDE_SKILL_DIR}/../receipts/rules.md。
使用者輸入 /truth-serum 後的內容:$ARGUMENTS
工具
所有記錄工作都透過此技能資料夾中的 panel.py 進行:
python3 "${CLAUDE_SKILL_DIR}/panel.py" <command>
以下 PANEL 即代表上述指令。如果路徑未展開,請使用 Claude Code 為此技能印出的基本目錄。狀態資料存放在 founder/panel/ 中。
步驟 1:目標客戶
寫入 founder/customer.json(格式參考本資料夾中的 customer.example.json):
business與target:客戶是誰,用一句具體的話描述。segments:2 到 4 個群組,每個群組包含share(佔比)和income(收入範圍 [低, 高])。behaviours:4 到 8 種購買行為,每種行為包含share(佔比)和how(行為描述,例如:每日規律購買、價格獵人、閱讀每篇評論、忠於某個競爭對手...)。objections:這類買家真正會有的 4 到 8 種疑慮。habits(可選):讓買家形象更具體化的日常情境描述。
將設定建立在真實資訊之上。使用使用者對其客戶的了解,如果已執行過 /ground-truth,則參考 founder/competitors.md 中的投訴。如果使用者擁有真實客戶資料(例如 founder/evidence/calls/ 中的通話記錄、評論、調查答案),則優先採用這些資料而非你的猜測,並明確說明哪些部分是猜測。
如果目標是少數企業(例如幾百家廠商,而非大眾市場),請明確告知:與其進行這個座談會,五通真實通話更能學到東西,並先提供 /receipts 及其通話指南。僅在需要釐清問題時才執行座談會。先用幾行文字向使用者展示客戶輪廓,並讓他們在繼續之前加以修正——錯誤的客戶設定會使整個座談會結果失準。
步驟 2:推銷話術
寫入 founder/pitch.md:買家實際會看到的內容。包括產品、價格、購買地點與方式、任何開幕優惠。三到六行平實的文字,不使用誇飾,且不包含企業無法實現的承諾。每位買家看到的內容完全相同。
步驟 3:發牌並執行
PANEL init --customer founder/customer.json --pitch founder/pitch.md --n 100
PANEL prompts
init 負責發放角色卡(相同的種子碼產生相同的卡牌;種子碼會被記錄)。prompts 為每位買家寫入一份簡報,並以每波 10 人的方式列出。對於每一波,發送一個包含該波所有買家 Agent 工具呼叫(在較舊版本的 Claude Code 中稱為 Task)的單一訊息:
subagent_type:general-purposedescription:panel <id>prompt:Read <brief path> and follow it exactly. It is your whole brief.
等待整波完成後再進行下一波。Claude Code 預設一次執行約 10 個工具呼叫,因此 100 位買家約需 10 波。最後一波完成後:
PANEL check # 列出缺失或損毀的回答
PANEL prompts # 僅為那些買家重新產生簡報;再執行一次
PANEL tally
如果某位買家將 JSON 輸出在其回覆中而非寫入檔案(此情況可能發生),請使用 PANEL save <id> 並將該回覆透過標準輸入傳入;save 會拒絕任何非有效答案的內容。連續失敗兩次的買家將被排除,並在結果中註記。切勿自行為買家撰寫答案。
在執行 100 位買家之前,請告知使用者這將呼叫 100 個子代理,並建議先使用 --quick(20 位買家)進行初步觀察。子代理會各自將一個檔案寫入 founder/panel/answers/;在預設權限模式下,每個檔案都需要一次批准,因此建議在執行時使用接受編輯模式(Shift+Tab)。
步驟 4:向使用者報告
PANEL tally 會寫入 founder/panel/results.md 和 results.json。向使用者呈現:
- 殘酷的事實:買家拒絕的最強烈理由(一句話),並提醒購買率是模擬結果且為上限。
- 標題:「40 人購買 · 60 人拒絕(模擬)」以及購買率。
- 誰買誰不買:差異最大的客群區隔和行為類別。
- 拒絕的理由:前三大原因,各附上一段買家原話。
- 改變心意的關鍵:最常出現的答案。
- 一句話總結在花錢之前應改變什麼,以及哪個技能負責此項(定價、優惠、行銷)。
- 向真人求證:將前三大異議轉化為實際通話中可提出的問題,風格參考
${CLAUDE_SKILL_DIR}/../receipts/conversations.md(關於他們的過去,而非你的點子)。這才是這個座談會的真正目的。
然後將結果記錄為 SIMULATED:
python3 "${CLAUDE_SKILL_DIR}/../receipts/ledger.py" add --kind demand --status SIMULATED --use PRIVATE --by truth-serum --claim "Simulated panel buy rate (seed <S>)" --number "<buys> of <answered>"
誠實的局限性,只說一次
這些是模擬買家。它們擅長發掘你未曾想過的異議、客群區隔與措辭,但不擅長預測真實轉換率:語言模型傾向於順應同意,因此請將購買率視為上限。在簽署任何協議之前,務必以真人(例如候補名單、預售、試用、附價格的登陸頁面)驗證重大決策。切勿將此座談會稱為「驗證」、「市場調查」或「客戶」,也切勿將模擬買家引用為真實客戶:無論是在推銷簡報、廣告、提案或補助申請中。
每位買家收到的簡報
panel.py 會將角色卡填入固定的範本(請參閱腳本中的 BRIEF):內容包括買家資訊(姓名、年齡、客群區隔、收入、購買行為、一個習慣、浮現的疑慮)、逐字呈現的推銷話術、要求不要順應同意且不要虛構事實的指示,以及需要填入的確切 JSON 結構:是否購買、第一個月的購買次數、拒絕代碼、以買家自身口吻表達的理由、主要異議、改變心意的關鍵,以及四個價格意見(太便宜、划算、變貴、太貴)。切勿為特定買家編輯簡報。
輸出
founder/customer.json、founder/pitch.md、founder/panel/(角色卡、簡報、回答、結果)。下一步:/litmus 會讀取價格意見,/dealbreaker 和 /signal 則會讀取異議內容。