Settle the coding by a majority of three runs instead of an arbitration
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
+42
-33
@@ -7,10 +7,10 @@
|
||||
## 自然編碼管線總覽
|
||||
|
||||
三個步驟:步驟 1 自由標註(兩次執行進池)→ 步驟 2 詞彙表
|
||||
建構(詞向量分群,確定性)→ 步驟 3 全量編碼(2+1)。歌詞
|
||||
只出現在步驟 1 與步驟 3;步驟 2 完全不接觸歌詞,也不呼叫
|
||||
LLM。設計原則見 `research-plan.md`;本檔記載可重現的
|
||||
演算法細節。
|
||||
建構(詞向量分群,確定性)→ 步驟 3 全量編碼(三次執行+
|
||||
多數決)。歌詞只出現在步驟 1 與步驟 3;步驟 2 完全不接觸
|
||||
歌詞,也不呼叫 LLM。設計原則見 `research-plan.md`;本檔
|
||||
記載可重現的演算法細節。
|
||||
|
||||
編號的所指為**研究程序的工序**,不是定義檔:步驟 1 與
|
||||
步驟 3 有定義檔(`prompts/`),步驟 2 沒有——它是單一
|
||||
@@ -91,19 +91,29 @@ LLM。設計原則見 `research-plan.md`;本檔記載可重現的
|
||||
把該主題的顯著性人為抬高。兩者的落點差異本身即可報告
|
||||
的結果。
|
||||
|
||||
## 步驟 3 編碼的 2+1 比對與仲裁
|
||||
## 步驟 3 編碼的三次執行與多數決
|
||||
|
||||
- **步驟 3-1 code**:逐首比對兩次執行的標籤集合(引述不
|
||||
參與比對)。兩次皆有的標籤為共識保留、兩次皆無為
|
||||
共識不標;單邊標籤送仲裁。
|
||||
- **步驟 3-2 arbitration**:仲裁者看歌詞全文與該標籤的引述
|
||||
(不含執行別),裁決保留者附仲裁者自己的引述,剔除
|
||||
者不列。剔除集合=送裁鍵減輸出鍵,由程式推得。
|
||||
- 仲裁者的引述可能與原引述不同:仲裁是對歌詞的重新
|
||||
判讀,其引述是該裁決自身的依據,非轉抄。
|
||||
- 送入仲裁的標籤即模型自身不穩定的邊界判斷,其裁決為
|
||||
單次記錄性決定,不宣稱可再生;可重現性依計畫定義為
|
||||
「程序透明+可稽核」,裁決與其輸入全程歸檔。
|
||||
- **三次執行**:同一份定義檔、同一份輸入檔,獨立執行
|
||||
三次,三份歸檔並列(`runs/03-code/run1`、`run2`、
|
||||
`run3`),彼此無先後主從之別。
|
||||
- **多數決**:一首歌的一個標籤,三次執行中至少兩次標出
|
||||
即收入定案編碼。三票不平手,裁決規則因此無例外條款,
|
||||
計票由確定性子命令完成(見交接契約)。
|
||||
- **第三票取全量**:只對前兩次分歧的標籤補問第三票,
|
||||
計票結果相同;仍採全量執行——全部歌曲、全部關鍵字
|
||||
——使三票在同一條件下取得。
|
||||
- **定案表只記歌曲與標籤**:引述留在三份執行歸檔,定案
|
||||
表不轉抄。定案即三票的計票結果,每一票各自的引述
|
||||
依據於其歸檔逐筆可查。
|
||||
- **對邊緣標籤的作用**:兩次執行只分得出「兩次皆標」與
|
||||
「僅一次標」;三次執行還分得出 3-0 與 2-1,故「定案
|
||||
編碼中有多少比例僅以一票之差成立」成為可報告的量。
|
||||
至於判定本身,兩次執行相左的標籤在何種協定下都由第三
|
||||
個判斷定奪,票數不使不確定性消失:某標籤於單次執行被
|
||||
標出的傾向若恰為一半,任何票數皆為擲幣。三票之效在
|
||||
傾向偏離一半處——多數決將判定推向該傾向本身(單次
|
||||
0.7 者為 0.78,0.9 者為 0.97),程序重跑的一致性因而
|
||||
高於單次執行,唯獨恰半處無從改善。
|
||||
|
||||
## 女性力量候選集
|
||||
|
||||
@@ -140,15 +150,14 @@ LLM。設計原則見 `research-plan.md`;本檔記載可重現的
|
||||
固定鍵序序列化的 `{"lyrics": …, "keywords": [...]}`,
|
||||
依歌曲 ID 升序。碼表以參數傳入而非填進定義檔——定義
|
||||
檔只規定任務形狀,換詞彙表、換演算法都不必改它。
|
||||
- **步驟 3-1 兩次執行 → 3-2**:逐首比對標籤集合(鍵
|
||||
集合,引述不參與比對);僅有分歧的歌入仲裁輸入
|
||||
JSONL,依歌曲 ID 升序,每筆 `id` 沿用 `song-<ID>`、
|
||||
`content` 為固定鍵序序列化的
|
||||
`{"lyrics": …, "disagreements": …}`,disagreements
|
||||
鍵按字典序。
|
||||
- **步驟 3 定案**:每首歌的最終標籤為共識標籤加上仲裁
|
||||
保留的標籤,寫入逐首紀錄檔(歌依 ID 升序、標籤按
|
||||
字典序)。
|
||||
- **步驟 3 定案**:`tally-codings <執行歸檔 1> <執行歸檔
|
||||
2> <執行歸檔 3> <輸出 CSV>` 讀三份執行歸檔的
|
||||
`output.jsonl`,逐首取標籤鍵集合(引述不參與計票),
|
||||
三份歌曲清單不一致即失敗、不出檔。某首歌的某個標籤
|
||||
於三份中出現至少兩次即寫出一列,產出
|
||||
`results/codings.csv`,欄位 `Song`、`Keyword`,一列
|
||||
一個標籤,歌依 ID 數值升序、同一首歌的標籤按字典序,
|
||||
換行為 CRLF(同專案其他 CSV)。
|
||||
- **序列化通則**:所有中間檔為 UTF-8,欄序、鍵序與元素
|
||||
序皆依上列規則明定,無時間戳、無隨機成分;JSON 解析
|
||||
一律偵測重複鍵,違規即失敗。人讀為主的產物採純文字或
|
||||
@@ -159,15 +168,15 @@ LLM。設計原則見 `research-plan.md`;本檔記載可重現的
|
||||
## 執行與稽核
|
||||
|
||||
- LLM 步驟以 `run-llm <定義檔> <輸入檔> <歸檔目錄>`
|
||||
執行;2+1 步驟的兩次執行=重現命令清單上的兩行命令,
|
||||
各自歸檔(`runs/<步驟>/run1`、`run2`),仲裁為獨立
|
||||
步驟、獨立歸檔。
|
||||
- 確定性步驟(進池、分群、比對、裁決套用、對映)為
|
||||
子命令,其輸入輸出檔同隨 `runs/` 歸檔;因無執行變異,
|
||||
歸檔目錄下不分 `run<N>` 層。
|
||||
執行;一步的 N 次執行=重現命令清單上的 N 行命令,
|
||||
各自歸檔(`runs/<步驟>/run1`、`run2`,編碼步驟另有
|
||||
`run3`)。
|
||||
- 確定性步驟(進池、分群、計票、對映)為子命令,其
|
||||
輸入輸出檔同隨 `runs/` 歸檔;因無執行變異,歸檔目錄
|
||||
下不分 `run<N>` 層。
|
||||
- Batch API 的每筆請求自含全部脈絡且互不可見(平台
|
||||
契約),歌與歌之間的獨立性由此成立;兩次執行的獨立
|
||||
性由「兩次呼叫、兩個批次、兩份歸檔」的執行結構自明。
|
||||
契約),歌與歌之間的獨立性由此成立;各次執行的獨立
|
||||
性由「一次呼叫、一個批次、一份歸檔」的執行結構自明。
|
||||
- 每次 `run-llm` 執行的 token 用量與費用記入
|
||||
`run-costs.md`,被取代的執行一併保留供總支出核算。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user