HUD
为 AI 智能体构建强化学习环境与评测的平台:一次定义环境,即可对任意模型进行评测与训练。
正面:CI 使用最小 contents:read 权限并对 coding 模板施加 seccomp;示例测试明确防护路径穿越(../、/etc/passwd)并在任务间清理暂存目录(含符号链接);对外部效果(远端部署、Docker、hud.ai 记录轨迹)有清晰披露。扣分:用户确认机制未见(hud deploy、hud set 直接执行);敏感数据处理仅有环境变量存取示例,无密钥存储/传输细节;依赖中存在可疑的 httpx2(PyPI 上非主流包,疑似拼写错误或供应链风险),且 allow-direct-references 开启;回滚仅覆盖包迁移(hud-python→hud),不覆盖运行时操作。
正面:README、pyproject、CI 与测试相互一致(模板在 CI 中实际构建并运行任务生命周期);测试显示优雅降级(空 criteria 返回 0 分而非崩溃)和明确错误类型 DataFileError。扣分:uv 固定 required-version==0.12.2、fastmcp==3.2.0 等精确锁定提高环境脆弱性;httpx2 依赖的可用性存疑。
正面:明确覆盖编码、浏览器、computer-use、机器人多场景,模板机制(blank/coding/cua)与 BYO harness 设计令适配面广;协议 manifest 明确声明能力边界,robot 标注 beta。扣分:Python 仅支持 3.11–3.12 且强制 uv 0.12.2,环境适配范围收窄。
正面:文档结构清晰(quickstart/reference/advanced 分层);安装说明详尽并包含 hud-python→hud 迁移指引;MIT LICENSE 完整且版权方明确;有 CONTRIBUTING、贡献者图、release 工作流。扣分:无 CHANGELOG 文件(版本号动态读取自 version.py);已知限制仅以零散 beta 标注呈现,无集中说明。
正面:协议优先设计(manifest/tasks.start/tasks.grade)使用户一次定义环境即可跨模型评估与训练,Run/trace/reward 输出结构化可用。扣分:成本收益偏弱——核心价值依赖 hud.ai 云平台与必需的 HUD_API_KEY,存在平台锁定,本地纯离线使用路径不明。
正面:主要声明可在文件间相互印证(pyproject 脚本入口与 README CLI 一致;CI 实际验证模板可用性;测试验证 manifest 参数与 x-hud-hint 声明);beta/实验性标注区分了成熟度声明。扣分:性能与规模宣称(any scale)无仓库内证据支撑;引用文献中的作者名单无法静态核实。
- 依赖列表中的 httpx2 不是主流 PyPI 包,疑似拼写错误或潜在供应链风险,静态审查无法确认其合法性,安装前应人工核实。
- 核心工作流(deploy、eval --remote、trace 记录)依赖 hud.ai 云平台且强制要求 HUD_API_KEY,存在平台锁定与数据外发;README 中的 Scarf 统计像素亦为外部遥测。
- 工具化评测沙箱会暴露 shell、浏览器、VNC 等高权能力,请仅在隔离网络/容器中运行不可信环境;coding 模板 CI 中使用 systempaths=unconfined 需注意。
- uv 锁定 required-version==0.12.2、fastmcp==3.2.0 等精确版本,升级或离线安装可能受阻。
这个 Agent 能做什么,适合哪些场景?
HUD 是一个用于为 AI 智能体构建强化学习(RL)环境的平台,覆盖编码、浏览器、计算机操作和机器人场景。它采用协议优先的设计:智能体与环境之间只交换清单(manifest)、tasks.start(返回提示词)和 tasks.grade(返回奖励)三类信息,任何模型或运行框架都能接入任意环境。开发者用 @env.template() 编写异步模板来生成可运行的任务,通过 hud deploy 构建并注册环境镜像,再以 hud eval 执行评测。每次评测都会产生携带 trace_id 和 reward 的 Run 记录,可直接作为训练数据传给 TrainingClient.step() 接入自有的 GRPO/PPO 训练循环。SDK 原生支持 Claude、OpenAI、OpenAI 兼容端点和 Gemini 模型,并通过 ssh、mcp、cdp、rfb、robot 五种能力协议暴露沙箱 shell、工具、浏览器、完整计算机操作和机器人控制。
用户通过 pip/uv 安装 hud CLI,设置 HUD_API_KEY,用 hud init 创建环境项目,在模板函数中 yield 提示词和奖励来定义任务,然后用 hud eval tasks.py claude --group 3 对任意模型运行评测。评测时智能体通过 ssh(沙箱 shell 与文件)、mcp(工具)、cdp(浏览器控制)、rfb(VNC 计算机操作)、robot(机器人控制,beta)等能力协议与环境交互,每次 rollout 记录为带 reward 的 trace 并可上传到 hud.ai 查看。hud deploy 一步完成环境构建与注册,hud sync tasks 同步任务集后可 --remote 远程运行。hud.integrations.harbor 适配器可将 Harbor 任务目录转换为 HUD 任务集,也能反向导出。TrainingClient.step() 接收分组评分后的运行结果,为自定义 GRPO/PPO 循环提供环境与奖励信号。
- RL 研究团队需要跨多个模型复用同一套任务环境进行 GRPO/PPO 训练,用 TrainingClient 将评分 rollout 直接接入自有训练循环。
- 评测工程师想对比不同模型在同一任务集上的表现,用 hud eval --group 在 hud.ai 上批量运行并检查每条 trace。
- 智能体开发者构建计算机操作(computer-use)智能体,通过 rfb 能力(VNC 屏幕、键盘鼠标)和 cdp 浏览器控制进行真实环境评测。
- 已有 Harbor 格式基准的组织,用 hud.integrations.harbor 将任务目录适配为 HUD 任务集运行,无需重写任务。
- 平台/基础设施团队用 hud deploy 将环境打包为镜像并在 HUD 平台注册,供团队远程批量运行。
- 机器人研究者通过 beta 的 robot 能力以 WebSocket 驱动基于 schema 的观察/动作回路,评测 VLA 策略。
这个 Agent 有哪些优点和局限?
- 协议优先设计只约定 manifest/tasks.start/tasks.grade 的薄封装,环境和基准可跨模型与运行框架长期复用,不被单一 harness 绑定。
- 同一环境通过 ssh/mcp/cdp/rfb/robot 五种能力协议服务从一次性问答到完整计算机操作再到机器人的多种 rollout,变体与评分逻辑保持不变。
- 评测即训练数据:每次 rollout 返回带 trace_id 和 reward 的 Run,可直接传给 TrainingClient.step(),环境无需改动即可支撑 GRPO/PPO 训练。
- 原生支持 Claude、OpenAI、OpenAI 兼容端点和 Gemini,并允许自定义 harness 接入任意能力(如包装 browser-use 或 VLA 策略)。
- 平台依赖:完整价值(远程运行、批量对比、trace 检查)依赖 hud.ai 平台与 HUD_API_KEY,脱离平台仅能本地运行。
- 包从 hud-python 迁移为 hud,旧用户需卸载重装并更新 requirements/CI,否则两个包的文件会互相覆盖。
- robot 能力标注为 beta,生产使用存在不确定性。
- 远程评测与训练的实际成本、资源配额在源材料中未说明,采用前需自行确认。
如何安装或部署这个 Agent?
安装 CLI(推荐,Python 3.12):
uv tool install hud --python 3.12或作为库安装:
pip install hud注意:包名已从 hud-python 迁移为 hud;若装过旧包,先执行 pip uninstall -y hud-python hud 再 pip install hud,并更新 requirements 和 CI 配置中的包名。安装后在 https://hud.ai/project/api-keys 获取 API key 并设置:
hud set HUD_API_KEY=your-key-here或 export HUD_API_KEY=your-key-here
如何使用这个 Agent?
- 初始化环境:hud init my-env(编码环境),或 hud init my-desktop-env --template cua,或 hud init my-custom-env --template blank。
- 在模板中定义任务:用 @env.template() 装饰异步函数,yield 提示词、接收答案、yield 奖励(如 README 中的 letter-count 示例),通过调用模板函数生成任务列表。
- 运行评测:hud eval tasks.py claude --group 3,或先 hud deploy 构建注册环境,再 hud sync tasks my-taskset 与 hud eval my-taskset --remote 远程运行。
- 训练:为每个任务运行 group rollout,将带 reward 的 Run 结果传给 TrainingClient.step() 接入 GRPO/PPO 循环。
所有评测在设置 HUD_API_KEY 后会记录到 hud.ai 平台,可在 UI 上对比模型并检查 trace。