LLM-in-Sandbox
把大模型放进带 Docker 隔离的代码沙箱,无需额外训练即可在数学、物理、化学、长文本理解等领域显著超越裸模型,强化学习还能进一步放大收益。
- Star 数
- ★ 245
- 最近更新
- 1 个月前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 52/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 研究者想复现论文中'沙箱让 LLM 在化学、物理、数学、生物医学、长文本理解、指令遵循上全面提升'的评测结果
- 不适合
- 无法安装 Docker 或不愿让 LLM 在容器内执行代码的受限环境
- 只想要纯云端托管、零本地部署的用户
- 源码审查
- 52/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
LLM-in-Sandbox 是中国人民大学 RUC AI Box 开发的开源研究框架(Apache-2.0),配套 arXiv 论文《Computer Environments Elicit General Agentic Intelligence in LLMs》。它的核心做法是把任意 LLM 放进一个提供基本计算机功能(文件系统、命令执行等)的代码沙箱,让模型以通用智能体方式完成任务。软件通过 llm-in-sandbox run CLI 调用,后端无关,可连接 OpenAI、Anthropic 以及自托管 vLLM/SGLang 等 OpenAI 兼容端点。执行环境是 Docker 镜像 cdx123/llm-in-sandbox:v0.1,首次运行自动拉取约 400MB,隔离保证安全。每次运行在 ./output 下生成带时间戳的结果目录,包含最终答案文件和 trajectory.json 执行轨迹。仓库还提供 v0.2.0 基准模块用于复现论文结果,并有姊妹仓库 LLM-in-Sandbox-RL 提供强化学习代码、模型与训练日志。
用户通过 llm-in-sandbox run 提交一条 --query 任务和模型配置;框架启动 Docker 沙箱(默认镜像 cdx123/llm-in-sandbox:v0.1),将任务交给所选 LLM,模型在沙箱内迭代执行命令、读写文件来解决问题,最多进行 --max_steps(默认 100)轮对话。可挂载 --input_dir 输入文件夹,结果写入 --output_dir(默认 ./output)下的时间戳目录,含 files/answer.txt、产出文件和 trajectory.json 轨迹。文件系统充当长期记忆,论文称最多节省 8 倍 token。通过 --prompt_config(默认 ./config/general.yaml)可切换提示模板;llm_in_sandbox/benchmark/ 模块支持复现论文评测、评测任意 LLM 或添加自定义任务。llm-in-sandbox build 允许基于 docker/Dockerfile 构建自定义镜像。
- 研究者想复现论文中'沙箱让 LLM 在化学、物理、数学、生物医学、长文本理解、指令遵循上全面提升'的评测结果
- 拥有 vLLM 或 SGLang 自托管模型(如 Qwen3-Coder-30B、DeepSeek-V3.2)的团队,想给模型加上通用智能体能力而无需训练
- 工程师希望用 Docker 隔离的方式让 LLM 执行代码和文件操作,而不是 OpenClaw 式的无限制环境
- 研究者想基于 LLM-in-Sandbox-RL 的开源代码、模型和 wandb 日志做强化学习实验
- 评测人员想用内置 benchmark 模块对任意 OpenAI 兼容端点的 LLM 做跨领域智能体评测
- 需要科学推理、旅行规划、视频制作、音乐创作、海报设计等非编码任务示例的智能体开发者
如何安装或部署这个 Agent?
前置要求:Python 3.10+ 和 Docker。安装 Docker(如尚未安装):
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
dockerd > /var/log/dockerd.log 2>&1 &通过 pip 安装:
pip install llm-in-sandbox==0.2.0或从源码安装:
git clone https://github.com/llm-in-sandbox/llm-in-sandbox.git
cd llm-in-sandbox
pip install -e .默认 Docker 镜像(约 400MB)会在首次运行时自动拉取,无需本地 GPU(使用 API 服务时)。已在 Ubuntu 22.04、Python 3.10 环境测试。
如何使用这个 Agent?
方式一:调用云端/API 服务(提供 base URL 和 API key):
llm-in-sandbox run \
--query "write a hello world in python" \
--llm_name "openai/gpt-5" \
--llm_base_url "http://your-api-server/v1" \
--api_key "your-api-key"方式二:自托管模型。先启动 vLLM 服务器:
vllm serve Qwen/Qwen3-Coder-30B-A3B-Instruct \
--served-model-name qwen3_coder \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder \
--tensor-parallel-size 8 \
--enable-prefix-caching然后在新终端运行智能体:
llm-in-sandbox run \
--query "write a hello world in python" \
--llm_name qwen3_coder \
--llm_base_url "http://localhost:8000/v1" \
--temperature 0.7也可用 SGLang 服务 DeepSeek-V3.2(加 --extra_body '{"chat_template_kwargs": {"thinking": True}}')。常用参数包括 --input_dir(挂载输入文件夹)、--output_dir(默认 ./output)、--max_steps(默认 100)、--prompt_config(默认 ./config/general.yaml)。运行 llm-in-sandbox run --help 查看全部参数。复现论文结果见 llm_in_sandbox/benchmark/README.md。
这个 Agent 有哪些优点和局限?
- 后端无关:可接 OpenAI、Anthropic、vLLM、SGLang 等 OpenAI 兼容端点,避免单一供应商锁定
- Docker 隔离执行,与 OpenClaw 等无限制环境相比安全性更好
- 文件系统作为长期记忆,据论文最多节省 8 倍 token,且无需额外训练即可提升非编码领域表现
- v0.2.0 内置 benchmark 模块,可直接复现论文结果或评测任意 LLM;强化学习版本附完整代码、模型数据和 wandb 日志
- 必须安装并运行 Docker,沙箱镜像首次拉取约 400MB
- 效果依赖底层 LLM 的能力,使用云端 API 需自付按量费用,本地自托管模型则需要 GPU 资源
- 核心价值来自论文研究结论,README 未给出生产级部署、鉴权或多租户使用的文档
- 被测环境为 Ubuntu 22.04 + Python 3.10,其他系统的兼容性文档未明确说明
这个 Agent 与同类方案有什么区别?
README 将本项目与 🦞 OpenClaw 对比:OpenClaw 是无限制的智能体环境,而 LLM-in-Sandbox 强调 Docker 隔离带来的安全性。代码设计借鉴并复用了 R2E-Gym。此外作者还发布了 scale-openclaw(单机无 Docker 大规模采集 OpenClaw 轨迹)和 ClawGym(构建 claw 智能体的可扩展框架)等生态项目。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| LLM-in-Sandbox 当前 | 52 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 245 | 1 个月前 | Python | OpenAI API · Claude API |
| Functionary:可控工具调用的对话语言模型 | 30 · 缺口较多 | 自托管服务免费 | ★ 1.6k | 3 个月前 | Python | OpenAI API |
| OSWorld 2.1 计算机使用智能体评测台 | 53 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 376 | 4 天前 | Python | OpenAI API · Claude API |
| MARTI:多智能体强化学习训练与推理框架 | 36 · 缺口较多 | 命令行工具免费 | ★ 570 | 1 个月前 | Python | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 声称使用 Docker 隔离(对比 OpenClaw 的无限制设置),这是最小权限的积极信号,但沙箱内实际权限边界、挂载 input_dir/output_dir 的暴露范围在提供的文件中无代码佐证,只能记 1。用户确认:Docker 镜像在首次运行时自动拉取、代理默认执行 100 轮对话,未见任何确认门槛。数据流与敏感数据处理仅见 --api_key 命令行参数与环境变量说明,密钥经命令行传递属不良实践且无脱敏/日志策略证据。依赖安全:README 声称'pinned in pyproject.toml',但实际依赖是 >= 最低版本约束而非锁定,声明与证据不符,扣分。外部效果与回滚均无证据(输出目录写入无覆盖提示,无撤销机制)。来源归属较好:作者具名、承认复用 R2E-Gym 代码。
依赖可用性较好:Docker 镜像版本固定(cdx123/llm-in-sandbox:v0.1)、Python 版本范围明确、给出tested环境(Ubuntu 22.04, Python 3.10)。但 README 声称依赖已'pinned'而 pyproject 实为开放下限约束,存在自述不一致;沙箱内依赖、litellm 兼容性等无法从文件验证。失败信息、错误处理、重试逻辑无任何代码或文档证据,记 1。
受众与场景清晰:面向开发者和科研人员,覆盖 OpenAI/Anthropic/vLLM/SGLang 多后端,示例横跨多领域,记 2。但能力边界(代理能做什么/不能做什么、max_steps 之外的失败模式)仅由参数表隐含,无明确说明。触发精度与配置行为(prompt_config 模板内容)无证据支撑。环境适配说明较充分:无本地 GPU 也可用、镜像大小、安装时间均有量化说明。
安装说明是强项:分步 Docker 安装、pip/源码两种方式、镜像拉取时间、系统要求、复现注意事项齐全,记 3。信息架构良好:目录、分节、指向 benchmark 与 examples 的子 README。命名稳定(PyPI 包名、CLI 入口、版本 0.2.0 一致)。示例与 FAQ 通过 examples/README 链接提供但内容未在证据中,记 2。已知局限仅一句复现性说明,无实质限制清单。License 为完整 Apache-2.0 全文,记 3。版本与变更通过 News 区块和 release 链接体现,但无 CHANGELOG 文件。维护责任:提供 issue 渠道和两个联系邮箱(含 microsoft.com 邮箱,身份有实际归属),记 2。
输出可用性较好:每次运行生成带时间戳的文件夹,含 answer.txt、产物文件和 trajectory.json 执行历史,结构明确。边际价值:核心主张(沙箱使 LLM 跨领域增强、8× token 节省)指向明确的研究/工程价值,且提供 benchmark 复现模块。成本收益说明量化(约 1 分钟安装、~400MB 镜像、无需本地 GPU),记 2。但所有性能主张均未经本审查执行验证。
主张可追溯性一般:论文 arXiv 链接、wandb 日志、release tag 均给出,但跨域提升、8× 节省等核心数字在文件中无对应的可检查配置或表格。跨源印证:project page、HF、YouTube、benchmark README 多渠道存在,记 2。事实与推断分离不足:README 将'显著优于独立 LLM'等结论以确定性语气陈述,未标注仅在某些模型/任务成立;且 News 中的日期(2026 年)超出常规验证范围,静态审查下只能保守对待,记 1。
- 依赖并非如 README 所称已锁定:pyproject.toml 使用 >= 最低版本约束,构建不可复现,企业使用前应自行生成锁定文件(如 uv.lock/pip-tools)。
- API 密钥通过 --api_key 命令行参数传入,会出现在进程列表和 shell 历史中;建议仅使用环境变量并审查日志是否脱敏。
- Docker 镜像 cdx123/llm-in-sandbox:v0.1 自动拉取且非本仓库构建产物,属第三方镜像,应在生产环境自建镜像(仓库提供 build 命令与 Dockerfile)。
- 沙箱内权限边界、挂载目录暴露、网络访问策略均无文档说明,部署前须自行验证 Docker 隔离是否覆盖文件系统与网络。
- 核心性能主张(跨域提升、8× token 节省)来自论文自述,静态审查未验证;引入前应运行 benchmark 模块独立复现。
- 本评审为静态源码审查,置信度低,未执行任何代码。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
What's New Benchmark Module - Added benchmark framework to reproduce our paper results and evaluate any LLM/task - Support reward function to facilitate LLM-in-Sandbox-RL - Support for LLM-in-Sandbox and vanilla LLM modes - LLM-as-Judge evaluation Improvements - Restructured README and benchmark docs - Better error handling and Docker cleanup guidance - Clean action, improve observation PyPI - pip install llm-in-sandbox==0.2.0在 GitHub 查看 ↗
常见问题
需要本地 GPU 吗?
首次运行要多久?
如何复现论文中的评测结果?
结果输出在哪里?
可以用自己定制的环境吗?
llm-in-sandbox build 构建自己的镜像,并通过 --docker_image 参数指定使用。