CubeSandbox沙箱流式输出实战:代码执行结果实时打印完整指南
发布时间:2026/9/15 13:42:21 锦皓数字建站

CubeSandbox沙箱流式输出实战代码执行结果实时打印完整指南【免费下载链接】CubeSandboxInstant, Concurrent, Secure Lightweight Sandbox for AI Agents.项目地址: https://gitcode.com/GitHub_Trending/cu/CubeSandboxCubeSandbox是一款专为 AI Agent 打造的即时、并发、安全且轻量级的代码沙箱。本文带你掌握它的核心能力之一流式输出——在沙箱中执行代码时通过on_stdout等回调实时打印每一行执行结果而不必等整个程序跑完。无论你是给 LLM Agent 写代码解释器还是构建自动化测试流水线这套机制都用得上。为什么沙箱执行代码需要流式输出普通执行-等待-返回的模式有两个痛点长任务黑盒训练脚本、数据处理程序一跑几分钟你完全不知道它进行到哪一步错误发现太晚代码在第 2 行就崩了却要等所有请求处理完才能看到报错。流式输出把结果拆成一个个事件实时推送做到边执行、边看见。这正是 AI Agent 场景的刚需Agent 需要观察代码的实时反馈才能决定下一步行动。流式输出是如何工作的CubeSandbox 的流式输出基于NDJSONNewline Delimited JSON代码在沙箱内执行时沙箱环境逐行把事件推回客户端事件类型包括事件含义对应回调stdout标准输出如print的内容on_stdoutstderr错误/日志输出on_stderrresult表达式结果如 Jupyter 风格的返回值on_resulterror异常含名称、值、堆栈on_error客户端 SDK以 Python 为例实现见 sdk/python/cubesandbox/_stream.py逐行解析这些 JSON 事件边收边触发回调最终同时把完整结果聚合到返回的Execution对象里.logs.stdout、.results、.error——实时打印和事后取全量结果一次调用全都有。最快上手一行回调实时打印执行结果安装 SDK 后整个流程就是创建沙箱 → 执行代码 → 回调打印from e2b_code_interpreter import Sandbox code for i in range(1, 4): print(f第 {i} 步完成...) with Sandbox.create(templatetemplate_id) as sandbox: sandbox.run_code(code, on_stdoutlambda data: print(data))效果是每一步print执行到的瞬间就打印出来而不是等循环跑完才一次性输出。现成示例可直接运行Python 示例CubeAPI/examples/exec_code.pySDK 完整用法sdk/python/README.mdGo SDK 流式实现sdk/go/stream.goNode.js 流式实现sdk/node/src/stream.ts四种回调怎么选实战场景拆解 ️场景一监控长任务进度只挂on_stdout把每行输出转发到自己的日志系统或前端界面即可实现沙箱版进度条。场景二让 AI Agent 自动修错Agent 生成的代码经常有 bug。同时挂on_stdout和on_errorsandbox.run_code(code, on_stdoutlambda d: print(d), on_errorlambda e: print(出错:, e.name, e.value))一旦捕获到错误事件含完整堆栈Agent 立刻可以拿着错误信息让 LLM 修改代码、重试执行——形成执行 → 观察 → 修复的闭环。场景三校验最终返回值on_result捕获表达式结果类似 Jupyter 的Out[1]适合验证代码跑完后变量值对不对这类断言场景。流式输出 极速沙箱 AI Agent 的终极组合⚡流式输出的价值建立在 CubeSandbox 的极致性能之上58ms 级冷启动沙箱随用随建执行-观察-重试循环没有等待负担单沙箱内存开销不足 20MB轻量到极致可以低成本大规模并发VM 级硬件隔离安全执行 LLM 生成的任意代码不担心恶意代码逃逸。在 RL 训练、多 Agent 并行探索等场景里每个沙箱独立流式输出互不阻塞天然适合大规模并发调度与资源池化机制详见 docs/blog/ 系列文章。常见问题 FAQ ❓Q1流式输出会影响最终结果吗不会。回调是过程观察run_code返回的Execution对象始终包含完整的全量输出、结果和错误两者互不影响。Q2沙箱内不是 Python 代码也支持流式吗run_code支持通过language参数切换语言内核此外还有commands、pty等接口用于进程级输出均走同样的流式通道用法见 sdk/python/cubesandbox/sandbox.py。Q3支持哪些语言客户端Python、Go、Node.js 三端 SDK 均内置流式解析API 行为对齐 E2B迁移成本极低。小结 要点说明核心 APIrun_code(code, on_stdout...)输出协议NDJSON 事件流stdout / stderr / result / error实时性边执行边回调无需等待执行结束兼容性对齐 E2B SDKPython/Go/Node.js 全支持只需一行on_stdout回调就能让 CubeSandbox 的代码执行从黑盒变成透明窗口。现在就去 examples/ 里挑一个示例跑起来亲手感受实时流式输出的魅力吧【免费下载链接】CubeSandboxInstant, Concurrent, Secure Lightweight Sandbox for AI Agents.项目地址: https://gitcode.com/GitHub_Trending/cu/CubeSandbox创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。