科研、数据与金融开源项目

EMI Verifier

验证优先科研 Agent

通过细粒度 LLM 验证评分、Best-of-N 选择与进度工具开展科研任务的预设。

项目 README(英文原文)

在 GitHub 中查看

dsh-research-verifier — 深思验证员(Deep Verifier · LLM-as-a-Verifier)DSH Agent 预设

一个验证优先(verify-first)的通用深度思考 Agent 的 DSH agent preset,把 LLM-as-a-Verifier 的框架思想 做成可即用的 agent 工作方式:

不要相信第一印象。把每一次重要产出当作可被细粒度验证的候选,用显式准则 打分后再落地;对长期任务做逐步进度追踪,及时止损。

预设为 agent 注入 4 个模型工具(verifier_select / verifier_compare / verifier_track / verifier_criteria),背后是一个自包含、零额外 pip 依赖的 Python 验证引擎(可选桥接官方 pip install llm-verifier)。安装后在新建会话的预设选择器里选「深思验证员」即可。


目录结构

dsh-research-verifier/
├── agent.cordis.yml          # preset 组成(standard 基线 + 深度思考 persona + 工具行)
├── preset.yml                # 预设选择器元数据(名称/描述)
├── research-verifier.mjs     # 模型工具插件:4 个 verifier_* 工具,stdin 传 JSON 给 Python CLI
├── criteria/                 # 评估准则模板(可被 verifier_criteria 打印)
│   ├── TEMPLATE.md
│   ├── deep_think.md         # 通用深度思考准则(默认)
│   ├── scientific_research.md
│   └── code_review.md
├── python/research_verifier/ # 验证引擎(零额外依赖,标准库 + requests)
│   ├── __init__.py
│   ├── __main__.py           # CLI:select / compare / track / criteria / doctor
│   ├── backend.py            # OpenAI 兼容端点 + 单字母 A..T 评分 token + top_logprobs 细粒度期望
│   ├── reward.py             # 细粒度奖励、两两比较、Best-of-N(轮转/PPT)、进度追踪
│   └── official.py           # 可选桥接官方 llm-verifier
├── install.ps1               # 一键安装到 ~/.dsh/.agent-presets/research-verifier/
├── README.md
└── NOTICE

安装

# 1) 安装预设(拷贝到用户 agent-presets 目录)
powershell -ExecutionPolicy Bypass -File <repo-root>\install.ps1

# 2) 重启/刷新 DSH Web GUI,新建会话,预设选择器选「深思验证员」

卸载:删除 ~/.dsh/.agent-presets/research-verifier/ 即可。

配置验证 API Key(真正评分必需)

验证器需要调用一个 OpenAI 兼容端点来给候选打分。在会话工作区放一个 .env

DEEPSEEK_API_KEY=sk-...
# 可选:
# RESEARCH_VERIFIER_BASE_URL=https://api.deepseek.com/v1
# RESEARCH_VERIFIER_MODEL=deepseek-chat
# RESEARCH_VERIFIER_HTTP_TIMEOUT=120

说明:

  • 没配 key 也能用 dry_run: true 把整个验证流程跑通(返回确定性占位分数,不调 API)。
  • DSH 出于安全不会把自己的凭据灌进子进程,agent 也不应携带密钥——key 只从工作区 .env 或显式 api_key 读取,与上游 llm-as-a-verifier 仓库的 .env 用法一致。
  • 想用官方框架的完整能力(PPT、prefix-cache、token 核算):在环境里 python -m pip install llm-verifier, CLI 会在 engine: auto 时优先桥接官方实现。

四个工具

工具用途关键参数
verifier_selectBest-of-N:对 1+ 候选按准则细粒度打分、排序、选出最优并给出得分problem, candidates[], criteria{}, n_evaluations, pivots
verifier_compare两两细粒度奖励(A vs B),含逐准则明细problem, trajectory_a, trajectory_b, criteria{}
verifier_track逐步进度:「当前状态是否已能完成任务?」逐 checkpoint 打分,低分早止损problem, steps[], checkpoint_steps[]
verifier_criteria打印深度思考/代码/科研准则模板,复制后改造成 criteriatemplate

所有评分工具均接受 dry_run: bool(预览流程)、modeltimeout_ms。得分范围 [0,1]≥0.8 视为已验证完成。

引擎工作方式

每个评价 = 一次单字母 A..T 判定(A=1 完全失败,J=10 临界,T=20 已验证),请求 top_logprobs 后对评分 token 的完整 logprob 分布取期望Σ p(v)·φ(v) / Σ p(v))—— 即论文的核心思想;多次评估取平均,A/B 槽位交替以抵消位置偏差。准则逐条独立评分。

  • 小候选池:完整轮转(O(N²))。大池(N>6 且给 pivots):Probabilistic Pivot Tournament 降阶版(ring pass + top-k 枢轴,O(N+Nk))。
  • 可选桥接:llm-verifier 可导入时 engine: auto 自动委托官方实现。

成本提示

候选数 × 准则数 × n_evaluations 决定 API 调用次数(每次约几百~几千 token)。 先用 1–2 条准则 + dry_run 跑通,再逐步加大。

测试(无需 key)

$env:PYTHONPATH="<repo-root>\python"
python -m research_verifier doctor
python -m research_verifier criteria deep_think
'{"problem":"Write a function that reverses a string.","candidates":["def rev(s): return s[::-1]","def rev(s): return s"],"criteria":{"Correctness":"Does it reverse?","Speed":"Is it O(n)?"},"dry_run":true}' | python -m research_verifier select