製作 2 人隨機隊伍意味著只要一個按鍵,就能從一份姓名清單中切割出大小相等的配對——不用註冊、不用上傳、不用試算表公式,而且每個人都恰好被分配一次。最快的方法是把名單貼進一個工具,讓它把每一行非空白的內容或以逗號分隔的項目都視為一個人,讓你選擇想要的配對數量,再把洗牌後的清單切成大小最多只差一人的分組。這正是 Random Team Generator 的功能,而且所有姓名都只留在你開啟的那個瀏覽器分頁裡。配對是一份名單能做到的最簡單、最公平的切割方式,而且同一套方法從 4 個人擴充到 40 個人都不用改變操作流程。奇數名單不需要額外步驟,遲到的人不用再跑一輪流程,也不用手動清理剩下的姓名——唯一的要求是隊伍數必須是正整數,而且不能超過你貼上的姓名數量。
24 人的班級名單會變成 12 組配對、18 人的工作坊名單會變成 9 組配對、8 人的桌遊夜賓客名單會變成 4 組配對,全部只要一次抽籤就能完成。配對也符合大多數休閒活動原本就預設的形式——辯論搭檔、閱讀夥伴、雙打球場、實驗桌、訪談輪換,或是合作任務——所以一鍵分組比從帽子裡喊名字、或在試算表中複製公式都快。本指南剩下的部分會帶你實際看看結果長什麼樣、如何在瀏覽器中執行這個工具,以及隨機配對在什麼時候是、什麼時候不是正確的起點。

2 人隨機隊伍在實務上的意義
當大家在搜尋製作 2 人隨機隊伍的方法時,通常想要的是這三件事之一:一份每個姓名只用一次的配對清單、一個不會留下長長殘餘的平衡分配,以及一個能直接唸出來或貼到聊天室、不必重新排版的結果。配對模型會把每一個項目視為一個座位。如果你的名單有 10 個姓名,你要求 5 組隊伍,就會得到 5 組配對,沒有其他東西。如果你的名單有 11 個姓名,你要求 5 組隊伍,就會得到 4 組配對加 1 組 3 人——這是在不犧牲任何姓名的情況下,數學上最接近均分的結果。
這和單純的清單洗牌(只重新排列一欄)以及隨機抽姓名(只顯示一個得獎者)有明顯的不同。分組會把每一個非空白項目分配到剛好一組,然後讓每組的人數與其他組相差最多 1 人。對配對流程來說,這個細節很重要:19 人的班級要分成配對時,必須先決定是要分成 9 組配對加 1 組 3 人,還是減少隊伍數讓只多出一個剩餘的人。Random Team Generator 的做法是把隊伍數上限設為名單人數,並且只把餘數分配到最大的那一組。
如何從一份清單製作 2 人隨機隊伍
- 在瀏覽器中開啟 Random Team Generator。不需要帳號,也不需要下載。
- 把名單貼進姓名欄位。每行放一個姓名,或如果你從試算表或電子郵件複製,用逗號分隔也可以。空行和多餘的逗號會被略過,每個項目前後的多餘空白也會自動去除。
- 決定你需要幾組 2 人隊伍。如果是偶數名單,把數量除以 2——14 人的名單會產生 7 組配對。把這個數字輸入隊伍數欄位。這個數字必須是正整數,而且不能超過你貼上的姓名數量。
- 按下「Generate teams」(產生隊伍)。工具會讀取所有非空白項目,使用瀏覽器的密碼學隨機來源執行一個不偏誤的 Fisher-Yates 洗牌,然後把洗好的名單切成大小最多相差 1 人的分組。
- 檢視顯示出來的配對,然後大聲唸出來、複製到聊天室、貼到白板上,或放進報名表裡。如果出席狀況有變,編輯名單後再按一次「Generate teams」就可以重新分組。
為什麼在本機配對能保護你的名單
絕大多數需要配對的名單都包含你不希望公開的姓名:同學、同事、小孩、客戶、社團成員,或工作坊參加者。把這份清單上傳到第三方網站,即使是信譽良好的網站,也會留下「誰在現場」以及「清單被送到哪裡」的紀錄。這裡介紹的配對工具完全避免了這個來回過程。每一個步驟——讀取貼上的文字、洗牌項目、切成分組——都在當下的瀏覽器分頁中執行。不會上傳到伺服器、不會存進帳號,也不會送到任何主辦單位。當某位參加者並未同意讓自己的姓名離開打字的裝置時,這一點就特別有用。想更深入了解這種以隱私為優先的做法,可以參考 如何在不上傳姓名的情況下,從清單產生隨機隊伍。
隱私和公平雖然不是同一種特性,但在這個流程中它們會互相強化。本機分組不會洩漏名單,因為名單從來沒離開過這個頁面;它也不會悄悄重複使用舊結果,因為這個頁面不會儲存先前的抽籤。再按一次「Generate teams」會產生一個全新的分組,來自對 Crypto.getRandomValues(瀏覽器的密碼學安全隨機來源)的重新呼叫,而不是任何快取或儲存的清單。這和瀏覽器用於安全登入流程與金鑰產生的基礎機制相同,也是為什麼在某個分頁中做出的抽籤結果,很難從分頁外預測。
隨機配對是如何產生的
配對遵循一個簡單且知名的做法。首先,工具會去除每個項目前後的空白字元,並過濾掉空字串,讓一長串貼上的清單保持乾淨。接著,它把保留下來的項目複製到一個陣列中,執行不偏誤的 Fisher-Yates 洗牌——這個演算法會逐一走訪每個位置,並把它和從剩餘位置中均勻抽選的一個位置交換。這些均勻的選擇來自瀏覽器的 Crypto.getRandomValues,它產生的值對頁面外的任何觀察者來說都是無法預測的。這個演算法的一般性質記錄在 Fisher-Yates 洗法的維基百科總覽上,其中也包含「每一種名單排列出現的機率完全相同」的證明。
洗牌完成後,工具會決定哪些組別會收到剩下的項目。如果是偶數名單分成配對,不會有剩餘,每一組配對都剛好拿到兩個姓名。如果是奇數名單,餘數會被隨機分配到選定的組別,讓同一份名單在多次抽籤中可以產生不同的分配——當現場的人盯著螢幕、等待看誰和誰同組時,這是一個細微但實用的特性。工具絕不會在頁面還在載入時就選好組別,也絕不會悄悄重複使用先前的結果;每按一次「Generate teams」都會透過一次新的隨機抽樣產生全新的洗牌。
| 輸入格式 | 範例 | 工具如何處理 |
|---|---|---|
| 每行一個姓名 | Anna\nBen | 每個非空白行算一筆 |
| 以逗號分隔 | Anna, Ben, Cara | 以逗號切分項目 |
| 混合空白字元 | Anna , Ben | 項目前後的空白會被去除 |
| 空行 | (姓名之間有空白行) | 略過 |
| 重複的姓名 | Anna, Anna | 在名單中算兩個獨立座位 |
以 6 人的名單來說,算式最為簡潔:6 個姓名 ÷ 每組 2 人 = 3 組配對,而且每組配對都剛好拿到 2 個姓名。這是最值得記住的簡單情況——如果你的名單是偶數,而且可以除以 2,你就能在按下按鈕之前預測結果,而工具也會給你剛好那樣的結果。
什麼時候 2 人隨機隊伍不是好選擇
隨機配對是個快速的起點,但它無法看見真實場域中存在的脈絡。它不會把吵架的兄弟姊妹分開、不會平衡老手和新手、不會為每組指派引導者,也無法顧及無障礙需求、語言,或時間限制。對休閒遊戲、課堂練習、破冰活動,以及讀書會來說,這些遺漏通常沒什麼關係。但對考核、薪資、評分、安全性配對,或任何影響個人福祉的決定來說,隨機抽籤應該只是第一步,而不是唯一的步驟。
一個實用的原則是:把任何配對工具的輸出都當成草稿。唸過配對結果,問問自己是否有任何分組會在現實中造成問題,有的話就手動交換姓名。這個工具讓交換很容易,因為名單還在頁面上;你可以編輯一行、重新產生,新的抽籤就會納入這個變更,而且不會記得先前的結果。這種「可重複、在本機產生」的配對特性,就是為什麼一個小小的瀏覽器工具,在大多數情況下,能夠作為抽籤帽、試算表公式,或第三方報名表的實用替代方案。
配對完成後可以試試的快速變化
基本的配對運作後,有幾個調整值得了解。如果你想讓某些參加者被選中的機率更高——例如生日抽獎、發言輪換,或友善的破冰活動——在產生之前把他們的姓名在清單中重複;工具會把重複的項目視為重複的座位,給他們更多名額。如果想刪除不小心重複的姓名,在再次按下「Generate teams」之前把它從行中編輯掉即可。如果你需要 3 人一組而不是配對,就把隊伍數改成名單人數的三分之一以得到均分,或是改成任何不超過名單人數的數字以得到不均分的組別。
對於規模較大的活動,把原始清單另外存放在一份文件中,這樣如果有人遲到或早退,就能重新抽籤。這個工具不會記得先前的抽籤,所以重新整理頁面或再按一次「Generate teams」就會從全新的洗牌開始。如果你發現自己每週都在跑同樣的配對——例行的班級、固定舉辦的桌遊夜、每週一早上的短衝刺輪換——可以先把名單存成文字檔,每次開始時再貼進來。配對本身只要一個按鍵就能執行,而周邊的準備工作,才是讓流程感覺例行而不手忙腳亂的關鍵。
如果你正在權衡各種選項,初學者適用的日期清單產生器:淺顯易懂的操作指南對此有詳細介紹。