chore: format Phase B modules and register Phase B plan in wiki

This commit is contained in:
2026-07-14 17:11:04 -04:00
parent f36eb66c18
commit 441a0aa6c3
6 changed files with 45 additions and 24 deletions
+2 -6
View File
@@ -723,9 +723,7 @@ async def run_adversarial_rounds(
max_steps=config.adversarial_agent_max_steps, max_steps=config.adversarial_agent_max_steps,
model=agent.model, model=agent.model,
) )
all_questions: dict[str, GeneratedQuestion] = { all_questions: dict[str, GeneratedQuestion] = {q.question_id: q for q in initial_questions}
q.question_id: q for q in initial_questions
}
pending = list(initial_questions) pending = list(initial_questions)
passed_now = 0 passed_now = 0
for round_no in range(config.adversarial_max_rounds): for round_no in range(config.adversarial_max_rounds):
@@ -749,9 +747,7 @@ async def run_adversarial_rounds(
session_id=session_id, session_id=session_id,
) )
passed_now = len(write_final_bank(final_path, store, all_questions, cfg_fp)) passed_now = len(write_final_bank(final_path, store, all_questions, cfg_fp))
_report_difficulty( _report_difficulty(store, round_no=round_no, threshold=config.difficulty_warn_threshold)
store, round_no=round_no, threshold=config.difficulty_warn_threshold
)
deficit = target - passed_now deficit = target - passed_now
if deficit <= 0 or round_no + 1 >= config.adversarial_max_rounds: if deficit <= 0 or round_no + 1 >= config.adversarial_max_rounds:
break break
+13 -15
View File
@@ -457,16 +457,20 @@ class QuestionGenStore:
created_at=datetime('now') created_at=datetime('now')
""", """,
( (
question_id, question_hash, stage, round, agent_prediction, question_id,
question_hash,
stage,
round,
agent_prediction,
None if agent_correct is None else int(agent_correct), None if agent_correct is None else int(agent_correct),
verdict, pair_id, agent_config, verdict,
pair_id,
agent_config,
), ),
) )
self._conn.commit() self._conn.commit()
def completed_stages( def completed_stages(self, question_id: str, question_hash: str, agent_config: str) -> set[str]:
self, question_id: str, question_hash: str, agent_config: str
) -> set[str]:
"""返回该题在当前 hash+config 下已完成的 stage 集合(续跑用)。 """返回该题在当前 hash+config 下已完成的 stage 集合(续跑用)。
Parameters Parameters
@@ -501,8 +505,7 @@ class QuestionGenStore:
当前 agent 配置指纹;保留该 config 行,其余全部删除。 当前 agent 配置指纹;保留该 config 行,其余全部删除。
""" """
self._conn.execute( self._conn.execute(
"DELETE FROM adversarial_verdicts " "DELETE FROM adversarial_verdicts WHERE question_id=? AND agent_config!=?",
"WHERE question_id=? AND agent_config!=?",
(question_id, agent_config), (question_id, agent_config),
) )
self._conn.commit() self._conn.commit()
@@ -521,15 +524,12 @@ class QuestionGenStore:
该轮 stage='cheat' 的 agent_correct 平均值;无数据时返回 0.0。 该轮 stage='cheat' 的 agent_correct 平均值;无数据时返回 0.0。
""" """
row = self._conn.execute( row = self._conn.execute(
"SELECT AVG(agent_correct) FROM adversarial_verdicts " "SELECT AVG(agent_correct) FROM adversarial_verdicts WHERE stage='cheat' AND round=?",
"WHERE stage='cheat' AND round=?",
(round_no,), (round_no,),
).fetchone() ).fetchone()
return float(row[0]) if row and row[0] is not None else 0.0 return float(row[0]) if row and row[0] is not None else 0.0
def final_passed_question_ids( def final_passed_question_ids(self, hash_by_qid: dict[str, str], agent_config: str) -> set[str]:
self, hash_by_qid: dict[str, str], agent_config: str
) -> set[str]:
"""在当前 hash+config 下通过两门的 question_id 集合(final JSON 全量重建用)。 """在当前 hash+config 下通过两门的 question_id 集合(final JSON 全量重建用)。
终判规则(防 stale 泄漏):仅当该题在 **当前 question_hash + 当前 终判规则(防 stale 泄漏):仅当该题在 **当前 question_hash + 当前
@@ -559,9 +559,7 @@ class QuestionGenStore:
).fetchall() ).fetchall()
if not rows: if not rows:
continue continue
cheat_passed = any( cheat_passed = any(stage == "cheat" and verdict == "passed" for stage, verdict in rows)
stage == "cheat" and verdict == "passed" for stage, verdict in rows
)
no_flip = any(verdict == "filtered_no_flip" for _, verdict in rows) no_flip = any(verdict == "filtered_no_flip" for _, verdict in rows)
if cheat_passed and not no_flip: if cheat_passed and not no_flip:
passed.add(qid) passed.add(qid)
+12
View File
@@ -185,6 +185,11 @@
"id": "plan:grounded-question-gen-phaseA", "id": "plan:grounded-question-gen-phaseA",
"label": "Grounded Question-Gen Phase A", "label": "Grounded Question-Gen Phase A",
"type": "plan" "type": "plan"
},
{
"id": "plan:adversarial-question-gen-phaseB",
"label": "Adversarial Question-Gen Phase B",
"type": "plan"
} }
], ],
"links": [ "links": [
@@ -348,6 +353,13 @@
"relation": "implements", "relation": "implements",
"evidence": "Phase A 实现计划", "evidence": "Phase A 实现计划",
"added": "2026-07-14T18:41:35.899803+00:00" "added": "2026-07-14T18:41:35.899803+00:00"
},
{
"source": "plan:adversarial-question-gen-phaseB",
"target": "design:adversarial-question-gen-phaseB",
"relation": "implements",
"evidence": "Phase B 实现计划",
"added": "2026-07-14T21:09:48.115521+00:00"
} }
] ]
} }
+6 -3
View File
@@ -1,6 +1,6 @@
# Research Wiki 索引 # Research Wiki 索引
> 自动生成,更新时间:2026-07-14 18:41 UTC > 自动生成,更新时间:2026-07-14 21:09 UTC
## design (29) ## design (29)
- [2026-07-06-core-agent-adapters-llm-design](designs/2026-07-06-core-agent-adapters-llm-design.md) `design:2026-07-06-core-agent-adapters-llm-design` - [2026-07-06-core-agent-adapters-llm-design](designs/2026-07-06-core-agent-adapters-llm-design.md) `design:2026-07-06-core-agent-adapters-llm-design`
@@ -42,7 +42,7 @@
- [Harness 评估: Spec-1 修复验证 (infer_spec1check)](findings/eval-spec1check.md) `finding:eval-spec1check` - [Harness 评估: Spec-1 修复验证 (infer_spec1check)](findings/eval-spec1check.md) `finding:eval-spec1check`
- [Harness 评估: Spec-2 批量并行建树](findings/eval-spec2-batch-tree-build.md) `finding:eval-spec2-batch-tree-build` - [Harness 评估: Spec-2 批量并行建树](findings/eval-spec2-batch-tree-build.md) `finding:eval-spec2-batch-tree-build`
## plan (34) ## plan (36)
- [2026-07-06-core-agent-adapters-llm](plans/2026-07-06-core-agent-adapters-llm.md) `plan:2026-07-06-core-agent-adapters-llm` - [2026-07-06-core-agent-adapters-llm](plans/2026-07-06-core-agent-adapters-llm.md) `plan:2026-07-06-core-agent-adapters-llm`
- [2026-07-07-app-harness](plans/2026-07-07-app-harness.md) `plan:2026-07-07-app-harness` - [2026-07-07-app-harness](plans/2026-07-07-app-harness.md) `plan:2026-07-07-app-harness`
- [2026-07-07-core-evolution](plans/2026-07-07-core-evolution.md) `plan:2026-07-07-core-evolution` - [2026-07-07-core-evolution](plans/2026-07-07-core-evolution.md) `plan:2026-07-07-core-evolution`
@@ -56,11 +56,13 @@
- [2026-07-12-per-category-pool-strategy](plans/2026-07-12-per-category-pool-strategy.md) `plan:2026-07-12-per-category-pool-strategy` - [2026-07-12-per-category-pool-strategy](plans/2026-07-12-per-category-pool-strategy.md) `plan:2026-07-12-per-category-pool-strategy`
- [2026-07-14-action-recognition-strategy](plans/2026-07-14-action-recognition-strategy.md) `plan:2026-07-14-action-recognition-strategy` - [2026-07-14-action-recognition-strategy](plans/2026-07-14-action-recognition-strategy.md) `plan:2026-07-14-action-recognition-strategy`
- [2026-07-14-action-recognition-training](plans/2026-07-14-action-recognition-training.md) `plan:2026-07-14-action-recognition-training` - [2026-07-14-action-recognition-training](plans/2026-07-14-action-recognition-training.md) `plan:2026-07-14-action-recognition-training`
- [2026-07-14-adversarial-question-gen-phaseB-plan](plans/2026-07-14-adversarial-question-gen-phaseB-plan.md) `plan:2026-07-14-adversarial-question-gen-phaseB-plan`
- [2026-07-14-grounded-question-gen-phaseA-plan](plans/2026-07-14-grounded-question-gen-phaseA-plan.md) `plan:2026-07-14-grounded-question-gen-phaseA-plan` - [2026-07-14-grounded-question-gen-phaseA-plan](plans/2026-07-14-grounded-question-gen-phaseA-plan.md) `plan:2026-07-14-grounded-question-gen-phaseA-plan`
- [2026-07-14-maintenance-pool](plans/2026-07-14-maintenance-pool.md) `plan:2026-07-14-maintenance-pool` - [2026-07-14-maintenance-pool](plans/2026-07-14-maintenance-pool.md) `plan:2026-07-14-maintenance-pool`
- [2026-07-14-task-type-strategy-framework](plans/2026-07-14-task-type-strategy-framework.md) `plan:2026-07-14-task-type-strategy-framework` - [2026-07-14-task-type-strategy-framework](plans/2026-07-14-task-type-strategy-framework.md) `plan:2026-07-14-task-type-strategy-framework`
- [Action Recognition 单题型首次训练实验计划](plans/action-recognition-training.md) `plan:action-recognition-training` - [Action Recognition 单题型首次训练实验计划](plans/action-recognition-training.md) `plan:action-recognition-training`
- [ActionRecognitionStrategy 特化实现计划 (Plan B)](plans/action-recognition-strategy.md) `plan:action-recognition-strategy` - [ActionRecognitionStrategy 特化实现计划 (Plan B)](plans/action-recognition-strategy.md) `plan:action-recognition-strategy`
- [Adversarial Question-Gen Phase B](plans/adversarial-question-gen-phaseB.md) `plan:adversarial-question-gen-phaseB`
- [app/harness/ 训练循环编排层实现计划](plans/app-harness.md) `plan:app-harness` - [app/harness/ 训练循环编排层实现计划](plans/app-harness.md) `plan:app-harness`
- [app/search/ 搜索 Agent 装配层实现计划](plans/2026-07-07-search-module.md) `plan:2026-07-07-search-module` - [app/search/ 搜索 Agent 装配层实现计划](plans/2026-07-07-search-module.md) `plan:2026-07-07-search-module`
- [core/agent/ + adapters/llm 基础设施实现计划](plans/core-agent-adapters-llm.md) `plan:core-agent-adapters-llm` - [core/agent/ + adapters/llm 基础设施实现计划](plans/core-agent-adapters-llm.md) `plan:core-agent-adapters-llm`
@@ -78,7 +80,8 @@
- [赛题生成工具实现计划](plans/question-gen-synth.md) `plan:question-gen-synth` - [赛题生成工具实现计划](plans/question-gen-synth.md) `plan:question-gen-synth`
- [项目基础设施初始化计划](plans/infrastructure-setup.md) `plan:infrastructure-setup` - [项目基础设施初始化计划](plans/infrastructure-setup.md) `plan:infrastructure-setup`
## schema (2) ## schema (3)
- [表结构: adversarial_verdictsPhase B agent 门判定)](schemas/adversarial-verdicts.md) `schema:adversarial-verdicts`
- [表结构: question_gen_items(逐题门判定)](schemas/question-gen-items.md) `schema:question-gen-items` - [表结构: question_gen_items(逐题门判定)](schemas/question-gen-items.md) `schema:question-gen-items`
- [表结构: question_gen_runs(出题批次)](schemas/question-gen-runs.md) `schema:question-gen-runs` - [表结构: question_gen_runs(出题批次)](schemas/question-gen-runs.md) `schema:question-gen-runs`
+3
View File
@@ -89,3 +89,6 @@
- [2026-07-14 18:41 UTC] 新增边: plan:grounded-question-gen-phaseA --implements--> design:grounded-question-gen-phaseA - [2026-07-14 18:41 UTC] 新增边: plan:grounded-question-gen-phaseA --implements--> design:grounded-question-gen-phaseA
- [2026-07-14 18:41 UTC] 重建索引: 76 篇页面 - [2026-07-14 18:41 UTC] 重建索引: 76 篇页面
- [2026-07-14 18:41 UTC] 重建索引: 76 篇页面 - [2026-07-14 18:41 UTC] 重建索引: 76 篇页面
- [2026-07-14 21:09 UTC] 新增 plan: Adversarial Question-Gen Phase B (plan:adversarial-question-gen-phaseB)
- [2026-07-14 21:09 UTC] 新增边: plan:adversarial-question-gen-phaseB --implements--> design:adversarial-question-gen-phaseB
- [2026-07-14 21:09 UTC] 重建索引: 79 篇页面
@@ -0,0 +1,9 @@
---
type: plan
node_id: plan:adversarial-question-gen-phaseB
title: "Adversarial Question-Gen Phase B"
date: 2026-07-14
---
# Adversarial Question-Gen Phase B