news 2026/9/27 10:40:08

在AgentENV中运行Python代码:从拉取模板到执行命令的极简教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在AgentENV中运行Python代码:从拉取模板到执行命令的极简教程

在AgentENV中运行Python代码:从拉取模板到执行命令的极简教程

【免费下载链接】AgentENVAgentENV (AENV) is a distributed platform for running agent environments at scale.项目地址: https://gitcode.com/gh_mirrors/age/AgentENV

AgentENV(AENV)是一个用于大规模运行 AI Agent 环境的分布式沙箱平台,基于 Firecracker 微虚拟机,支持快速启动、暂停、快照与分叉。本教程带你用aenvCLI 在5 步之内完成:拉取 Python 模板 → 启动沙箱 → 在沙箱里执行 Python 代码 → 上传下载文件 → 清理资源,全程无需编写任何示例工程。

一、准备工作:部署 AgentENV 并安装 aenv CLI

运行前需要一台满足以下条件的 Linux 服务器(详见 quickstart.md):

要求说明
内核版本Linux 6.8 及以上
虚拟化可访问/dev/kvm(Firecracker 微虚拟机)

方式 A:安装脚本(推荐,同时装好服务器和 CLI)

curl -fsSL https://raw.githubusercontent.com/kvcache-ai/AgentENV/main/scripts/install.sh | sudo bash sudo systemctl start aenv

方式 B:Docker 部署

docker pull ghcr.io/kvcache-ai/aenv-server:latest docker run -d --name aenv-server --privileged -v /dev:/dev -p 8000:8000 ghcr.io/kvcache-ai/aenv-server:latest

安装完 CLI 后(方式 A 已包含),用 API Key 完成认证:

aenv auth # AENV server URL [http://localhost:8000]: http://127.0.0.1:8000 # API key: <粘贴首次启动生成的密钥>

💡 Key 的获取位置:本机安装为sudo cat /var/lib/aenv/secrets/api-key,Docker 方式为docker exec aenv-server cat /workspace/env/secrets/api-key。

二、一键拉取 Python 模板:把镜像变成可秒启的沙箱

模板(Template)是 AgentENV 的核心概念:它把 OCI 镜像预先"烘焙"成可复用的启动快照,之后的每次aenv start都能以毫秒级速度拉起沙箱。

只需一条命令导入官方 Python 3.12 镜像并命名为python:

aenv pull python:3.12-slim --name python

该命令默认会阻塞等待构建完成,执行结束后模板即处于就绪状态。相关文档见 templates.md,实现位于 pull.rs。

三、启动沙箱:获取 Sandbox ID

使用-d参数以分离模式启动,把返回的沙箱 ID 存入变量,方便后续执行命令:

SANDBOX_ID="$(aenv start python -d)"

不加-d时,aenv start会直接进入交互式 Shell。其他常用参数(详见 sandboxes.md):

  • --timeout <秒>:设置沙箱存活时间,默认 300 秒,到期自动暂停(Auto-Eviction)
  • --volume <挂载路径=卷名>:挂载持久化卷

四、在沙箱中执行 Python 代码

aenv exec可在沙箱内运行任意一次性命令并流式回传输出,退出码与远端命令一致。本教程的示例程序直接内联在命令中,无需任何源文件:

aenv exec "$SANDBOX_ID" python -c ' from statistics import mean temperatures = [21.5, 23.0, 22.4, 24.1] print(f"average temperature: {mean(temperatures):.2f} C") '

预期输出:

average temperature: 22.75 C

🎉 至此,一个独立的 Python 运行环境就跑起来了。若远端命令的参数与aenv自身参数冲突,可在命令前加--转义(如aenv exec "$SANDBOX_ID" -- mycmd --timeout 10)。命令实现见 exec.rs。

五、进阶:交互式连接与文件传输

操作命令说明
交互式 Shellaenv connect "$SANDBOX_ID"附加快照式终端,沙箱已暂停会自动恢复
上传文件aenv upload "$SANDBOX_ID" ./app.py /workspace/app.py自动创建缺失的远程目录
下载文件aenv download "$SANDBOX_ID" /workspace/result.txt ./结果回传本地
暂停 / 恢复aenv pause/aenv resume暂停立即释放 CPU 和内存

对于真实项目,典型工作流是:上传代码 →exec运行 →download取回结果。详细参数说明见 working.md。

六、清理资源:删除沙箱与模板

用完即删,保持环境干净:

aenv delete "$SANDBOX_ID" # 终止并删除沙箱 aenv template delete python # 删除 Python 模板

七、总结与延伸阅读

步骤命令作用
1️⃣ 拉模板aenv pull python:3.12-slim --name python镜像 → 可秒启模板
2️⃣ 启沙箱SANDBOX_ID="$(aenv start python -d)"毫秒级启动
3️⃣ 跑代码aenv exec "$SANDBOX_ID" python -c '...'流式执行输出
4️⃣ 清理aenv delete+aenv template delete释放资源

本教程的完整原文见官方用例文档 python.md。想进一步探索,推荐阅读:

  • quickstart.md — 完整部署快速上手
  • starting.md — 模板热启动 vs OCI 冷启动
  • index.md — 快照与分叉,让环境"分身"并行
  • architecture.md — AgentENV 整体架构

【免费下载链接】AgentENVAgentENV (AENV) is a distributed platform for running agent environments at scale.项目地址: https://gitcode.com/gh_mirrors/age/AgentENV

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/27 10:39:12

会聊天的机器人为什么还需要一颗STM32?从系统架构到工程实践

1. 一颗STM32在“会聊天的机器人”里到底扛了什么活很多人第一次看到“会聊天的机器人”这个词&#xff0c;脑子里浮现的画面大概是这样的&#xff1a;一个圆头圆脑的小家伙&#xff0c;能听懂你说话&#xff0c;能跟你插科打诨&#xff0c;甚至还能在你心情不好的时候讲个冷笑…

作者头像 李华
网站建设 2026/9/27 10:36:10

OpenHarmony I2C总线开发实战:协议机制、HDF驱动适配与排障指南

1. 从一根线说起&#xff1a;I2C 在 OpenHarmony 里到底扮演什么角色搞 OpenHarmony 设备开发的朋友&#xff0c;绕不开的一个话题就是外设接入。你拿到一块 RK3568 或者 Hi3861 的开发板&#xff0c;想把温湿度传感器、OLED 屏、EEPROM、触摸芯片这些外设接上去&#xff0c;第…

作者头像 李华
网站建设 2026/9/27 10:35:45

大模型基础概念

本质&#xff1a;LLM 是一个“概率预测机” 核心启示: LLM 实际上并不“知道”事实&#xff0c;它只是在模仿训练数据中词语出现的统计规律。这就是“幻觉”&#xff08;Hallucination&#xff09;的根源——它可能自信地输出了一个概率很高但逻辑错误的词。 关键参数&#x…

作者头像 李华
网站建设 2026/9/27 10:34:25

STM32+Air780E+OLED:按键触发中文短信发送终端实战

1. 项目缘起与整体方案拆解按键一按&#xff0c;短信发出&#xff0c;OLED屏幕上实时滚动着“发送中”“发送成功”的状态——这个场景听起来像是某个工业设备的报警通知模块&#xff0c;或者是一个远程数据采集终端的核心交互逻辑。我最近刚把一个类似的项目从零跑通&#xff…

作者头像 李华
网站建设 2026/9/27 10:33:10

VSCode离线配置ESP32开发环境:ESP-IDF多版本共存与新项目向导实战

1. 为什么这个教程值得你花30分钟认真读完VSCODE安装ESP32开发环境&#xff0c;表面看只是点几下鼠标、敲几行命令的事&#xff0c;但实际踩过的坑&#xff0c;足够让一个有C语言基础的工程师在头三天反复重启电脑、重装系统、怀疑人生。我带过6个应届生做物联网毕设&#xff0…

作者头像 李华
网站建设 2026/9/27 10:31:03

STM32高效解析SBUS信号:DMA+IDLE中断+状态机实战

1. 为什么SBUS解析值得单独拎出来讲SBUS这个协议&#xff0c;玩过航模或者机器人底层通信的朋友应该不陌生。它本质上是Futaba搞出来的一种串行总线协议&#xff0c;物理层跑的是反相UART&#xff0c;波特率固定100000&#xff0c;8位数据位、2位停止位、偶校验。一帧25个字节&…

作者头像 李华