Prhub

#5846 [misc] feat: add agent instructions, skills & improve CI for easier tests

verl-project/verl · 作者 tongyx361 · 合并时间 2026-04-01 22:09

分析状态 已生成
文件变更 17提交数 33 · 评论 5
代码增减 +335 / -41
doc ci misc

执行摘要

添加 AI 代理指令框架并整合 CI 检查到 pre-commit,支持代理辅助开发。

动机是支持AI代理(如Claude Code、Codex)参与项目贡献,通过提供标准化指令和整合本地验证,提高开发效率和代码质量。PR body中明确提到目标是“add a framework-agnostic agent instruction system for AI coding agents”和“consolidate sanity checks into pre-commit to form an initial closed loop for agent-assisted development”。

建议技术管理者阅读AGENTS.md了解代理贡献政策,工程师关注.pre-commit-config.yaml的更改以适配本地开发环境。此PR值得精读,因为它展示了如何构建框架无关的代理指令系统和整合CI检查的设计决策。

讨论亮点

review中,gemini-code-assist[bot]指出了两个关键问题:一是AGENTS.md中仓库路径应为“volcengine/verl”而非“verl-project/verl”,以匹配实际项目位置;二是建议CLAUDE.md使用更明确的指令确保代理读取AGENTS.md,如添加“You must read and strictly adhere to the project-wide agent instructions defined in AGENTS.md.”。这些建议被采纳以修复路径错误和提高指令明确性。

实现拆解

实现分为两部分:一是代理指令系统,添加了AGENTS.md(项目范围规则)、.agent/skills/目录(共享技能如pr.md和issue.md)、CLAUDE.md(Claude入口点)以及相关文档(如docs/contributing/editing-agent-instructions.md);二是CI改进,将多个健全性检查从.github/workflows/sanity.yml迁移到.pre-commit-config.yaml中,并更新了tests/special_sanity/check_license.py以使用git ls-files尊重.gitignore,同时在cpu_unit_tests.yml、gpu_unit_tests.yml和npu_unit_tests.yml中排除tests/special_sanity/路径过滤。

文件 模块 状态 重要度
AGENTS.md docs added 8.0
.pre-commit-config.yaml ci modified 7.0
.github/workflows/sanity.yml ci modified 6.0
tests/special_sanity/check_license.py tests modified 5.0

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

关键符号

_git_tracked_py_files get_py_files

评论区精华

仓库路径错误 正确性

gemini-code-assist[bot] 指出 AGENTS.md 中仓库路径应为 'volcengine/verl' 而非 'verl-project/verl',以匹配实际项目位置,否则 gh 命令将失败或返回错误结果。

结论:建议修复路径,确保代理执行的命令正确。 · 已解决

CLAUDE.md 指令明确性 设计

gemini-code-assist[bot] 建议 CLAUDE.md 使用更明确的指令,如添加强制的读取要求,以确保代理加载并遵守 AGENTS.md 中的规则,避免违规导致自动封禁。

结论:建议添加明确指令以提高代理合规性。 · 已解决

风险与影响

风险包括:代理指令可能不完整或过时,导致代理行为不一致;CI更改可能引入回归,例如.pre-commit-config.yaml中添加的新钩子(如check-docs-time-info、check-device-api-usage)需要验证兼容性,或测试过滤错误导致遗漏检查;check_license.py的更改可能遗漏未被git跟踪的文件,影响许可证检查完整性。此外,AGENTS.md的规则需要持续维护,增加文档负担。

对团队影响显著:开发流程更标准化,代理贡献更可控,提高效率;但对代理和贡献者增加了学习曲线。系统层面,pre-commit验证更全面,但可能增加本地运行时间;CI流程简化,减少重复检查。用户无直接影响,但长期看代码质量提升。

路径错误需修复 CI 配置变更风险 文档维护负担

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

执行摘要

本PR添加了一个框架无关的AI代理指令系统,包括项目范围的规则文档和共享技能,同时将健全性检查从CI迁移到pre-commit,形成代理辅助开发的闭环流程。该变更旨在标准化AI代理贡献,提高开发效率,但引入了新的文档维护负担和CI配置风险。

功能与动机

为什么做这个变更?PR body明确指出:“Add a framework-agnostic agent instruction system for AI coding agents (Claude Code, Codex, etc.), and consolidate sanity checks into pre-commit to form an initial closed loop for agent-assisted development.” 动机是支持AI代理参与项目贡献,通过提供标准化指令和本地验证,减少重复工作并确保代码质量,适应现代AI辅助开发趋势。

实现拆解

实现主要分为两个部分:

  1. 代理指令系统
    • 添加AGENTS.md:定义项目范围的贡献政策、环境设置和提交规范,引用现有文件如PR模板和CI脚本。
    • 创建.agent/skills/目录:包含共享技能如pr.mdissue.md,通过符号链接供.claude/.codex/使用。
    • 添加CLAUDE.md作为Claude Code入口点,直接链接到AGENTS.md
    • 更新相关文档:CONTRIBUTING.md添加AI辅助贡献部分,docs/contributing/editing-agent-instructions.md提供维护指南。
  2. CI改进
    • 修改.pre-commit-config.yaml:整合多个健全性检查钩子(如check-docs-time-infocheck-device-api-usage),合并到单个repo: local块中。
    • 更新.github/workflows/sanity.yml:移除重复步骤,仅保留需要完整安装的检查,简化CI流程。
    • 修改tests/special_sanity/check_license.py:使用git ls-files来尊重.gitignore,避免检查未被跟踪的文件。
    • cpu_unit_tests.ymlgpu_unit_tests.ymlnpu_unit_tests.yml中排除tests/special_sanity/路径,防止运行时测试干扰。

评论区精华

review讨论中,gemini-code-assist[bot]指出了两个关键问题:

“The repository organization is specified as verl-project, but the project is currently hosted under volcengine/verl... This discrepancy should be corrected.”
“For Claude Code, the CLAUDE.md file serves as the primary system prompt. Simply providing a link to AGENTS.md may not be sufficient... It is recommended to use a more explicit instruction.”
这些建议被采纳,修复了路径错误并提高了指令明确性,确保代理能正确执行命令和遵守规则,避免潜在的错误贡献。

风险与影响

技术风险

  • 代理指令可能不完整或过时,导致代理行为不一致,需定期维护AGENTS.md和相关文档。
  • CI更改可能引入回归,例如.pre-commit-config.yaml中添加的新钩子需要验证兼容性,或测试过滤错误导致遗漏检查,具体体现在路径排除逻辑上。
  • check_license.py的更改可能遗漏未被git跟踪的文件,影响许可证检查的完整性,需要测试覆盖。

影响分析

  • 对团队:开发流程更标准化,代理贡献更可控,提高效率;但对代理和贡献者增加了学习曲线,需熟悉新指令和pre-commit钩子。
  • 对系统:pre-commit验证更全面,可能增加本地运行时间;CI流程简化,减少重复检查,加快反馈循环。
  • 对用户:无直接影响,但长期看代码质量提升,因代理贡献更规范。

关联脉络

从历史PR看,近期有多个文档更新PR(如#5847、#5850),表明项目在加强文档维护。本PR与之相关,共同推动项目基础设施的完善。此外,它引入了代理辅助开发框架,可能为未来更多AI驱动贡献铺平道路,如后续issue #5852和#5853所示。结合同仓库近期PR趋势,项目正从核心功能开发(如megatron、rollout)扩展到工具和流程优化,反映团队对开发效率的重视。

参与讨论