選一個腳本(腳本=受測系統+預設測試員+輪數與評分準則),可以勾選多個測試員同時各跑一場,方便比較同一個系統面對不同人格的表現。
| 時間 | 受測系統 | 測試員 | 狀態 | 輪數 | 評分 | 重複率 | |
|---|---|---|---|---|---|---|---|
| {{ r.started_at?.slice(5,16) }} | {{ r.target_name }} | {{ r.persona_name }} | {{ statusText(r.status) }} | {{ r.turns }} | {{ r.judge.overall }}/5— | {{ r.metrics.repetition_max }} | |
| 還沒有測試紀錄。 | |||||||
| 輪數 / 空回覆 / 錯誤 | {{ detail.metrics.turns }} / {{ detail.metrics.empty_replies }} / {{ detail.metrics.errors }} |
| 重複率(最高/平均) | {{ detail.metrics.repetition_max }} / {{ detail.metrics.repetition_avg }} |
| 回應延遲(平均/p95) | {{ detail.metrics.latency_avg_ms }}ms / {{ detail.metrics.latency_p95_ms }}ms |
| 平均回覆長度 | {{ detail.metrics.avg_reply_chars }} 字 |
重複片段例子({{ detail.metrics.repetition_pairs }} 組)
第{{e.a}}↔{{e.b}}則({{e.similarity}}):{{ e.excerpt_a }}…
{{ detail.judge.summary }}
| {{ c.name }} | {{ c.score }}/5 {{ c.comment }} |
發現的問題({{ detail.judge.issues.length }})
[{{ i.severity }}] {{ i.description }}|{{ i.evidence }}
擷取的資料({{ Object.keys(detail.captures).join('、') }})
| 系統 | 測試數 | 平均輪數 | 平均評分 | 平均重複率 | 平均延遲 | 問題數(高) |
|---|---|---|---|---|---|---|
| {{ g.key }} | {{ g.runs }} | {{ g.avg_turns }} | {{ g.avg_score }}/5— | {{ g.avg_repetition }} | {{ g.avg_latency_ms }}ms | {{ g.issues }}({{ g.high_issues }}) |
同一個系統面對不同人格的表現差異。分數低的格子就是要加強的情境。
| 系統 \ 測試員 | {{ p }} |
|---|---|
| {{ t }} | {{ row[p].avg_score ?? '—' }} ×{{ row[p].runs }} — |
| 測試員 | 測試數 | 平均評分 | 平均重複率 | 問題數(高) |
|---|---|---|---|---|
| {{ g.key }} | {{ g.runs }} | {{ g.avg_score }}/5— | {{ g.avg_repetition }} | {{ g.issues }}({{ g.high_issues }}) |
[{{ i.target }}|{{ i.persona }}] {{ i.description }}
每個測試員用一段 system prompt 定義「它要扮演什麼樣的使用者」——說話長短、個性、戒心程度、隱藏的困擾。它扮演的是使用者,不是系統。
{{ p.note }}
System prompt
{{ p.system_prompt }}用一份 JSON 設定描述「怎麼開場、怎麼送一句話、怎麼讀回覆、什麼時候執行額外動作」。新增任何系統都不用改程式。
{{ t.note }}
{{ probeText(probeResult[t.id]) }}
腳本把「受測系統+預設測試員+輪數上限+每輪間隔+評分準則」綁在一起,執行時可以臨時換成多個測試員。
用可設定人格的 AI 扮演使用者,去跟受測系統(例如三個小慢)進行完整的多輪對話, 跑完自動算指標、由 AI 評審打分。人工很難重複測試「聊三十輪會發生什麼事」,這裡讓機器代勞, 而且每次改版都能用同一套腳本重跑、前後比較。
整體邏輯是:先定義三樣東西(受測系統、測試員、腳本),然後按執行,最後看統計。
- 🎯 受測系統——要測誰。 每一筆是「怎麼跟那個系統對話」的設定(開場、送話、讀回覆、中途動作),目前已內建五個系統,通常不用改。 用一個系統前,先按它旁邊的「測試連線」:會真的送一句話過去、把對方回覆秀出來,通了才往下走。 要新增其他系統就照同樣的 JSON 格式填一份設定,不用改程式。
- 🎭 測試員人格——派誰去測。 每個測試員就是一段 system prompt 描述的假使用者(沉默寡言、滔滔不絕、有戒心、有危機訊號、趕時間……)。 可以直接改文字或新增。「指定開場白」填了的話,第一句固定照用,方便重現同一個情境。
- 📋 測試腳本——綁在一起。 一個腳本=用哪個測試員 × 測哪個系統 × 聊幾輪 × 每輪間隔 × 評分準則。 腳本會留著,改版後重跑同一個腳本就能前後對照。評分準則是給 AI 評審看的,可依系統特性自訂。
- ▶ 執行測試。 選腳本、按執行。可以一次勾選多個測試員,同一個系統五種人格各跑一場,跑完在統計頁比較。 測試在背景進行(一場約幾分鐘),期間可以點進紀錄看即時逐字稿、也可以中途停止。
單場(執行測試頁點任一筆紀錄):完整逐字稿+機械指標+AI 評審。重點指標:
- 重複率(0~1):系統回覆彼此有多像。偏高(>0.5)代表在跳針——同一件事換句話一直說。
- 回應延遲:平均與最慢 5% 的回應時間。
- AI 評審:依評分準則逐項打 1~5 分,抓到的問題會附逐字稿證據。
- 中途動作(例如「生成報告」)擷取到的內容也存在紀錄裡,可以展開看報告全文。
跨場(📊 統計分析頁):依測試員、依系統、依腳本的平均分數與重複率; 「系統 × 人格」交叉表可一眼看出某個系統面對哪種使用者表現特別差;高嚴重度問題會彙整成清單,就是最該修的東西。
- 受測系統頁 → 對「小慢‧覺察(staging)」按測試連線,確認是通的。
- 測試腳本頁 → 建「覺察 × 沉默寡言的高三生 × 12 輪」。
- 執行測試頁 → 按執行,點進紀錄看它即時對話。
- 跑完看評審分數與問題清單;之後再勾多個人格一起跑,到統計頁比較。
- 測試會真實呼叫受測系統,對話會出現在對方後台統計(暱稱是測試員名稱,看得出來是測試)、也會產生 API 費用。一場 20 輪的成本約幾塊到幾十塊台幣。
- 「個案分析 insight」「個案模擬 simulate」由其他團隊維護,第一次大量測試前先跟對方說一聲比較禮貌。
- 測「個案模擬」時測試員扮演的是心理師(系統扮演個案),人格設定要照這個方向寫。
- 「危機訊號」人格會觸發受測系統的高風險流程,屬於刻意的安全測試,請有意識地使用。
| 帳號 | 角色 | 建立時間 | |
|---|---|---|---|
| {{ u.username }} | {{ u.role === 'admin' ? '管理者' : '測試者' }} | {{ u.created_at }} |
給協助測試的人開帳號用。「測試者」可以執行測試、看統計、改設定,但不能管理帳號。