Harvey LAB任务完整性守护:validate-task-schema自动化校验完整指南
2026/9/21 2:58:44 网站建设 项目流程

Harvey LAB任务完整性守护:validate-task-schema自动化校验完整指南

【免费下载链接】harvey-labsA benchmark built to evaluate and improve agent capabilities for supporting legal work.项目地址: https://gitcode.com/GitHub_Trending/ha/harvey-labs

Harvey LAB 是一个开源的法律智能体基准(Legal Agent Benchmark),收录了 1671 个覆盖 24+ 法律执业领域的真实工作任务。要让 AI 智能体稳定地做法律工作,每个任务的元数据task.json必须结构正确——这正是validate-task-schema 自动化校验流程要解决的问题。本文将带你快速看懂这套任务完整性校验机制如何运行,以及如何在本地一键验证你自己的任务。

一、Harvey LAB 是什么?

一句话概括:一个用来评测和"练"法律智能体的开源基准。它由两部分组成:

组成说明位置
任务数据集1671 个任务,每个任务含智能体指令、合成文档、评分标准tasks/
执行框架运行智能体、提供工具、调用 LLM 裁判评分harness/ 与 evaluation/

每个任务都长这样:一个目录 + 一份 task.json 元数据 + 一堆合成文档(.docx/.xlsx/.eml 等)。比如并购尽调任务:

tasks/corporate-ma/review-data-room-red-flag-review/ ├── task.json # 任务定义:标题、指令、交付物、评分标准 └── documents/ # 60 份合成案件文档

🔑 核心思想:task.json就是"任务的身份证"——智能体读instructions,裁判读criteria打分。身份证一旦格式错乱,整个评测就失真

二、为什么需要 validate-task-schema 自动化校验?

想象一下:1671 个任务、24 个执业领域、多人协作维护。如果某个任务的 JSON 少写了criteria、评分标准 ID 重复、或交付物字段类型写错,跑评测时才会爆炸——成本极高。

所以项目内置了一道"自动门禁":.github/workflows/validate-task-schema.yml 工作流,在以下场景自动触发:

  • 每次 Pull Request—— 提交前先把关
  • 每次推送到 main 分支—— 保证主干数据始终健康

它做的事情很简单粗暴但可靠:

uv sync --frozen # 安装与锁定文件一致的依赖 uv run pytest tests/ -v # 跑完整离线测试套件(含任务完整性测试)

💡 对新手来说,这就像考试前的"自动查重":你不用盯着 CI 日志看,只要绿灯亮,说明任务数据全部合格。

三、任务完整性校验的 5 道关卡

真正干活的是 tests/test_task_integrity.py —— 它会遍历tasks/每一个任务目录,逐项检查。用表格看清它验证了什么:

关卡检查内容不通过的典型原因
1️⃣ 任务枚举tasks/目录存在,且至少发现 1 个任务、1 个执业领域目录结构被误改
2️⃣ JSON 合法性task.json必须可解析,title非空且不少于 5 个字符JSON 语法错误、标题偷懒
3️⃣ 内联评分标准必须含criteria列表(≥1 条);标准任务的每条标准需有idtitlematch_criteria,且 ID 全局唯一;禁止遗留的weight字段标准 ID 重复、残留旧字段
4️⃣ 交付物引用每条标准的deliverables必须是文件名字符串列表写成了字符串而非数组
5️⃣ 跨任务一致性全库至少覆盖 2 种工作类型(analyze/draft/review/research)任务单一化

第 5 关的 "all-pass 评分" 背景:Harvey LAB 采用"全通过才算满分"策略——任何一条标准失败,整题记 0 分。这正是校验必须严格的原因,详见 docs/eval-strategies.md。

四、本地如何执行任务校验(一键三连)

不想等 CI?CONTRIBUTING.md 提供了本地校验的"黄金流程",三步完成:

第 1 步:装好环境

git clone https://gitcode.com/GitHub_Trending/ha/harvey-labs cd harvey-labs && ./scripts/setup.sh

scripts/setup.sh 是幂等脚本,自动补齐 uv、依赖、pandoc、容器运行时,重复执行也安全。

第 2 步:先"看一眼"任务再校验

uv run python -m utils.describe_task corporate-ma/review-data-room-red-flag-review

utils/describe_task.py 会打印任务标题、文档数量、完整评分标准清单——写任务时的"体检仪"。

第 3 步:跑完整性测试

uv run python -m pytest tests/test_task_integrity.py

几秒钟内即可对全库任务完成 schema 校验。🚀

五、给贡献者的完整工作流

结合 docs/tutorial.md 与 CONTRIBUTING.md,推荐按这个节奏贡献任务:

  1. 建目录tasks/<执业领域>/<任务名>/,放入task.jsondocuments/
  2. 写 rubric:每条标准写清 "PASS if … / FAIL if …",不要加遗留weight字段
  3. 本地体检describe_task+pytest tests/test_task_integrity.py
  4. 提交 PR:validate-task-schema 工作流自动复检,绿灯即安全合并

六、写在最后

validate-task-schema 看似只是"跑个测试",实则是 Harvey LAB 能容纳上千个法律任务而不乱的基石——用自动化校验换取数据完整性,用数据完整性换取评测可信度

下一步建议:

  • 读一遍 docs/tutorial.md,跑通一次完整的"任务执行 → LLM 裁判评分"流程
  • 参考 docs/architecture.md 理解任务模型与执行框架
  • 挑一个任务describe_task看看,感受 rubric 的颗粒度

⚖️ 当你理解了"任务如何被定义",你就理解了"法律智能体如何被公平地考试"。

【免费下载链接】harvey-labsA benchmark built to evaluate and improve agent capabilities for supporting legal work.项目地址: https://gitcode.com/GitHub_Trending/ha/harvey-labs

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询