Communitygithub.com

ne11nn/comparison-lab

產生真正獨特、有研究基礎的各種事物的變體,並在一個可共享、無依賴的比較板上進行比較。一個 Claude Code Agent 技能。

comparison-lab 是什麼?

這個技能將「比較選項」這個抽象的請求轉化為一個可操作的工具。它會針對任何主題(例如解決方案、設計、測試策略或生成的程式碼/圖片/音訊),產生多個**真正獨特、有研究基礎的變體**,並將它們整齊地呈現在一個無需任何依賴即可開啟的獨立 HTML 比較板上。使用者可以直接在板上點選挑選優勝者、留下反饋,這些資訊可以被匯出並用於進一步優化。此技能支援 Claude Code 等平台,其核心在於確保每個變體都是基於真實研究的、有區別的技術方案,而非微調參數,並透過客觀徽章和原始/處理後視圖切換來避免評估偏誤,最終形成一個完整的「提出變體 → 比較反饋 → 深化優勝者」的閉環。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add ne11nn/comparison-lab

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

這個技能做什麼

將「比較某事物的選項」變成一個真正的工具。您會為 X 生成幾個真正獨特、有研究基礎的變體,將每個變體呈現在一個可共享的比較板上的專屬面板中,然後交給人類來比較、挑選優勝者並留下反饋。他們的挑選結果會回傳給您,您再深化這些優勝者。

它適用於任何事物:替代解決方案、UI/元件設計、測試/評估策略,以及生成的媒體(程式碼、圖片、音訊、文字)。該比較板是一個無依賴的獨立 HTML 檔案,因此可以輕鬆放入任何專案中。

$ARGUMENTS 是要比較的內容。如果它很模糊(比較什麼、改變哪個維度、針對哪些主題),請在生成之前先問 1-2 個明確的問題。

核心原則(主幹——不可跳過)

  1. 真實、獨特的變體——不是微調參數。 每個變體都是一個真實的、有名稱的技術。如果兩個變體僅因一個參數值而不同,那麼它們只是同一種方法的不同取樣——將其合併。測試:如果您能用同一句話描述兩個變體,只是交換了一個數字,那麼它們就不是獨特的。
  2. 研究本身就是校準步驟。 當領域有文獻或既定實務時,在設計變體之前就要研究實際的命名技術——使用 WebSearch / 文件 / references/。憑空猜測菜單會導致過頭或不足。(詳見 reference.md §1 的跨領域研究提示。)
  3. 控制變量比較。 凍結所有輸入;只改變測試中的那一維度。同一行中的每張卡片使用相同的種子/情境/提示/副本。在該行的目標中說明凍結的輸入。一行 = 一個變化的維度。
  4. 客觀徽章。 在任何可衡量的地方,為每個面板附加一個顏色編碼的指標徽章(與目標的距離、通過率、延遲、套件大小、對比度……),以便選擇有證據支持,而非憑感覺。
  5. 隔離混淆因素——單一工件多視圖。 當同一輸出值得從多個角度觀看時,給卡片一個 content.views 切換開關(例如,記譜法 / 鋼琴捲簾 / 音訊 / 原始碼 / 差異比較)。典型情況是「原始 vs 處理後」——將原始工件與處理後的工件並排呈現,這樣人類就能判斷是翻譯/重新著色/正規化/序列化/壓縮管線中的哪個階段導致了糟糕的結果;content.raw 是其雙視圖捷徑。切勿偽造切換開關。 僅當視圖之間真正不同時才添加——如果處理前後結果完全相同(一種忠實的轉換),則刪除切換開關。無效的切換比沒有更糟;該比較板會自動折疊位元組一致的視圖,並在視圖數 ≤1 時自動隱藏切換開關。
  6. 指標與工件的誠實。 將真實工件與其指標徽章並排呈現,讓不一致之處顯現出來。如果記譜法明顯降低了三度音,但「距離」徽章顯示為 0,那麼這個矛盾就是一個發現——它意味著該指標忽略了某些東西。揭示它是重點;不要將工件隱藏在數字背後,也不要為了匹配數字而調整數字。
  7. 真實內容關卡。 每個面板都顯示真實的輸出——絕不是暫存器、佔位符或位元組大小檢查。驗證實際內容是否正確渲染。對於音訊,內容必須實際上可聽——透過在阻斷樣本源的情況下進行驗證(reference.md §9 離線關卡),而不僅僅是渲染。
  8. 一個可共享的表面。 輸出一個人類可以開啟的單一比較板(檔案或連結),而不是分散的工件。
  9. 檢查點紀律。 先建立風險最高 / 最具代表性的一部分(一個主題,一行,包含真實內容 + 音訊/播放(如果相關))。在擴展到所有維度之前,先展示給人類並取得反饋。
  10. 閉環。 人類在比較板上挑選優勝者並留下反饋;這個匯出結果會回傳給您進行優化。然後深化這些優勝者。
  11. 按主題的優勝者 + 融合。 當最佳變體因測試主題而異時,呈現每個主題的優勝者,並增加一輪融合/綜合,將優勝特質結合起來,而不是強制一個全域優勝者。多主題的意義在於揭示單一方法很少能在所有地方獲勝——尊重這一點,而不是將其平均化。

工作流程

1. 釐清比較內容。 從 $ARGUMENTS 中確定:比較的是什麼、每行變化的單一維度,以及受控的主題/種子(預設 2 個是好的)。僅在真正不明確時提問。

2. 研究真實的變體。 如果該領域有成熟的技術,請先查閱相關資料(reference.md §1 有研究提示)。為每一行列出 2-6 個有名稱的、真正獨特的方法。拒絕任何僅因參數而不同的兩個方法。

3. 為每個變體生成真實內容。 對於每個 (主題, 行, 變體),產出實際工件並選擇其內容類型:html (UI/文字)、code、image、iframe、audio (含 WebAudio 合成),或 passfail (測試/評估)。請參閱 reference.md §2 的模態表。若要提供同一輸出的多種視圖,請將 content.views 設定為一個命名視圖列表(第一個為預設;相同視圖會折疊,視圖數 ≤1 時切換開關自動隱藏)——或者使用 content.raw 雙視圖捷徑,用於管線可能隱藏真相的情況(原則 5)。在任何可衡量之處附加客觀的 badges,並將其顯示在真實工件旁邊,以便矛盾顯現出來(原則 4、6)。

渲染真實領域工件(記譜法、圖表、圖示): 可靠的方法是先在無頭頁面中渲染為 <svg>,取出 svg.outerHTML,然後透過 html 內容類型嵌入(內聯 SVG——而不是 <img> 的 data-URI,後者會丟失 SVG 命名空間並導致渲染中斷)。字形渲染器(例如 VexFlow/Bravura)需要在渲染頁面和比較板上都將字型內聯為 base64 的 @font-face,並且在渲染和螢幕截圖之前等待 document.fonts.ready。template/render-artifacts.example.mjs 是一個可直接複製並修改的框架,適用於此;reference.md §6 有完整的配方和注意事項。

4. 從模板建立比較板。 將 template/comparison-lab.html 複製到專案中(放在可伺服的位置,或任何可用於 file:// 的地方)。使用 template/README.md 中的 schema,在旁邊寫入一個 data.json。不要手動建立新的 UI——模板已經包含了便利貼板、徽章、切換開關、按鈕和匯出功能。

  • 透過 http(s) 伺服:data.json 會自動取得。
  • 雙擊開啟(file://):將資料集貼入 HTML 中的 `<script id=

相關技能