Reduce run-llm to a pure batch executor
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -304,3 +304,22 @@
|
||||
`<定義檔名>/`——同理不編日期:只存一份,重跑即取代,
|
||||
被取代的執行在 git 歷史,時間戳在 meta.json。四次收斂執行(merge ×2、cap ×2)
|
||||
各存合併記錄 JSON 隨該次執行入 runs/。
|
||||
- **`run-llm` 降階為純執行器**:原內建的 2+1 編排(文字級
|
||||
一致性判定、固定模板仲裁)拆除;run-llm 只負責「一份
|
||||
定義檔+一份輸入 JSONL,跑 N 次(預設 2、仲裁場合 1),
|
||||
歸檔 `runs/<定義檔名>/`(重跑即取代)」。理由:一致性
|
||||
判定須逐步驟、結構性(分組比對、標籤集合比對),屬
|
||||
確定性腳本的工作;仲裁輸入由比對腳本建構,本身成為
|
||||
runs/ 可稽核工件;執行器變小易測。比對/進池/裁決
|
||||
套用子命令另行實作。
|
||||
- **`run-llm` 一次呼叫即一次執行**:`--runs` 與 `--run` 皆不存
|
||||
在,完整命令形狀為 `run-llm <定義檔> <輸入檔> <歸檔目錄>`——三個
|
||||
必要運算元皆為位置引數(沿 2026-08-02「必要運算元為位置引數」慣
|
||||
例),歸檔目錄如 `runs/01-01-tag/run1`,工具內部零 run 概念,
|
||||
meta 不記 run 編號;「獨立執行兩次」=重現命令清單上的兩行命令,
|
||||
run 身分只活在命令清單與目錄佈局約定,不在工具內。理由:兩次執行
|
||||
互相獨立是方法學宣稱,其證據應由執行結構與重現命令清單自明,不應
|
||||
要求讀者讀工具原始碼;歸檔目的地為顯式引數,亦是「資料路徑全面顯
|
||||
式化、消滅隱性推導」原則的貫徹。比對子命令驗證兩 run 的定義檔與
|
||||
輸入 SHA 一致、缺 run 即失敗。目標目錄已存在即拒絕執行,重跑須明
|
||||
示 `--replace`。
|
||||
|
||||
+11
-11
@@ -45,23 +45,23 @@ pop-fem-audit/
|
||||
│ │ │ │ # Wikidata into the snapshot CSV
|
||||
│ │ │ ├── fetch_lyrics.py # fetch missing lyrics from the
|
||||
│ │ │ │ # public APIs into the lyrics dir
|
||||
│ │ │ └── run_llm.py # API runner:2+1 協定、Batch API、
|
||||
│ │ │ # 寫入引數指定的 runs 目錄;執行
|
||||
│ │ │ # 方式 pop-fem-audit-tools run-llm
|
||||
│ │ │ └── run_llm.py # API 執行器:一份定義檔+一份輸入
|
||||
│ │ │ # →歸檔至指定目錄(Batch API);
|
||||
│ │ │ # 比對與仲裁編排由獨立子命令承擔
|
||||
│ │ ├── config.py # pydantic-settings 設定(.env)
|
||||
│ │ ├── database.py # SQLAlchemy engine / session / Base
|
||||
│ │ ├── models.py # SQLAlchemy ORM 資料模型
|
||||
│ │ └── utils.py # 共用工具(format_duration)
|
||||
│ └── tests/ # 單元測試(unittest)
|
||||
├── runs/ # 現行執行的完整稽核紀錄(進 git;
|
||||
│ │ # 重跑即取代,舊執行在 git 歷史)
|
||||
│ └── <定義檔名>/
|
||||
│ ├── prompt.md # 當次定義檔快照(自我完備)
|
||||
│ ├── run1.jsonl # 第一次執行原始輸出
|
||||
│ ├── run2.jsonl # 第二次執行原始輸出
|
||||
│ ├── arbitration.jsonl # 仲裁輸出
|
||||
│ └── meta.json # model ID、temperature、時間戳、
|
||||
│ # batch ID、一致率
|
||||
│ │ # 重跑同一 run 須明示 --replace)
|
||||
│ └── <定義檔名>/ # 仲裁步驟居自己的 <task>-arb/
|
||||
│ └── run<N>/ # 每個 run 一份自我完備歸檔
|
||||
│ ├── prompt.md # 當次定義檔快照(自我完備)
|
||||
│ ├── output.jsonl # 該次執行原始輸出
|
||||
│ └── meta.json # model ID、temperature、時間戳、
|
||||
│ # batch ID、token 用量
|
||||
│ # (一致率由比對子命令記錄)
|
||||
├── results/ # 論文引用的報表 CSV(export 產出;
|
||||
│ # 「可再生仍 commit」的唯一例外)
|
||||
├── docs/
|
||||
|
||||
Reference in New Issue
Block a user