CRAB 跨环境智能体基准
用 Python 构建并评测跨环境、多模态语言模型智能体。
- Star 数
- ★ 432
- 最近更新
- 4 天前
- 主语言
- Python
- FA 评分
- 28/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 需要为多模态语言模型智能体设计可重复任务和评估器的研究人员。
- 不适合
- 目标环境无法通过 Python 函数访问的系统集成方
- 需要明确开源许可证才能合规使用的团队
这个 Agent 能做什么,适合哪些场景?
CRAB 是一个以 Python 为中心的框架,用于构建 LLM 智能体的基准测试环境。它可将内存环境、Docker 托管环境、虚拟机和分布式物理机器纳入同一接口,前提是这些环境可通过 Python 函数访问。开发者可在 Python 函数上添加 @action 装饰器来定义动作,并通过组合动作定义环境。任务及对应评估器也以 Python 原生方式定义,图评估器可提供细粒度指标。仓库同时提供 crab-benchmark-v0 数据集与实验代码,以及使用 OpenAI 智能体运行模板环境的示例。
CRAB 让开发者以 Python 函数作为环境访问边界:在函数上添加 @action 可新增动作,组合多个动作可定义一个环境。智能体通过统一接口同时访问多个环境;这些环境可以是内存实现、Docker 托管实例、虚拟机或分布式物理机器。开发者以 Python 定义任务和评估器,图评估器输出细粒度指标。仓库给出的运行路径是先设置 OPENAI_API_KEY,再执行 python examples/single_env.py 或 python examples/multi_env.py。
- 需要为多模态语言模型智能体设计可重复任务和评估器的研究人员。
- 需要在同一智能体实验中协调多个可由 Python 函数访问环境的工程团队。
- 希望把 Docker 托管环境、虚拟机和内存环境一起纳入评测的基准开发者。
- 需要通过图评估器获得细粒度任务指标的智能体评估人员。
- 希望先运行模板单环境或多环境示例来验证 OpenAI 智能体接入的开发者。
如何安装或部署这个 Agent?
运行环境要求 Python 3.10 或更高版本。安装命令:pip install crab-framework[client]。如需运行仓库提供的 OpenAI 模板示例,设置凭据 export OPENAI_API_KEY=<your api key>,然后运行 python examples/single_env.py 或 python examples/multi_env.py。
如何使用这个 Agent?
先使用 @action 装饰 Python 函数来添加动作,再组合动作定义环境;随后以 Python 定义任务及其评估器,并将可访问的多个环境交给统一接口。首次验证可设置 OPENAI_API_KEY 后运行 python examples/single_env.py;多环境示例使用 python examples/multi_env.py。CRAB-Benchmark-v0 的数据和实验代码位于 crab-benchmark-v0/ 目录。
这个 Agent 有哪些优点和局限?
- 以 @action 装饰器把 Python 函数直接转为环境动作,环境配置路径明确。
- 一个统一接口可面向内存、Docker、虚拟机和分布式物理机器等多种部署形态。
- 图评估器提供细粒度指标,而不只限定于单一汇总结果。
- 仓库提供单环境与多环境的 OpenAI 模板运行示例。
- 明确的可运行示例依赖 OPENAI_API_KEY,采用该路径需要 OpenAI 凭据。
- 环境必须能够通过 Python 函数访问,不能满足这一访问边界的系统需要额外集成工作。
- Docker、虚拟机和物理机仅被列为支持的部署选项,所给材料未说明各选项的配置细节。
- 许可证信息在提供的仓库资料中未知。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| CRAB 跨环境智能体基准 当前 | 28 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 432 | 4 天前 | Python | OpenAI API |
| OSWorld 2.1 计算机使用智能体评测台 | 53 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 409 | 22 天前 | Python | OpenAI API · Claude API |
| Cheshire Cat AI | 47 · 缺口较多 | 命令行工具免费 | ★ 3.1k | 3 个月前 | Python | — |
| Multi-SWE-bench | 46 · 缺口较多 | 命令行工具免费 | ★ 364 | 10 个月前 | Python | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示仓库未提供权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的机制。README和pyproject.toml未提及安全特性。因此所有信任标准得分为0。
自一致性:README和pyproject.toml中的描述一致,但测试文件显示许多测试被跳过,且未提供失败消息。依赖可用性:pyproject.toml列出了依赖,但未提供锁定文件或验证机制。失败消息:未提供错误处理或用户可操作的失败消息。
受众和场景:README明确面向研究人员和开发者,提供了基准测试场景。能力边界:文档描述了框架功能,但未明确限制。触发精度:动作通过装饰器定义,但未提供精确触发条件。环境适配:支持多种环境,但未提供详细配置指南。
信息架构:README和文档结构清晰。安装说明:提供了pip安装命令。命名稳定性:版本号存在,但未提供变更日志。示例和FAQ:提供了示例,但无FAQ。已知限制:未提及。许可证:pyproject.toml声明Apache 2.0,但未提供许可证文件。版本和变更日志:版本号存在,但无变更日志。维护责任:作者和维护者信息存在,但未明确维护政策。
输出可用性:提供了示例输出,但未详细说明。边际价值:作为基准测试框架,提供了新颖的评估方法。成本效益:未提供性能或成本分析。
声明可追溯性:README引用了论文,但未提供详细验证。跨来源佐证:有arXiv链接,但未提供其他来源。事实与推断分离:未区分事实和推断。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 仓库未提供安全机制,如权限控制、用户确认或数据流透明,使用时应谨慎。
- 测试文件显示许多测试被跳过,且未提供失败消息,可靠性证据不足。
- 未提供许可证文件,尽管pyproject.toml声明Apache 2.0,需确认。
- 未提供变更日志,版本更新历史不透明。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。