Simon Willison 发了一个很小的 alpha:datasette-agent-micropython 0.1a0。
小到不像新闻。可它碰到的是 AI Agent 最不适合装糊涂的问题:让模型自己写 Python、自己跑代码,然后还不能把你的系统、数据、密钥一起掀翻。
之前看 datasette-agent 0.1a3,我更在意的是一件事:AI 查数真正缺的不是“会说”,而是“能查账”。现在这个 micropython 版本把问题往前推了一格:要查账,就可能要写脚本;要写脚本,就必须先有笼子。
发生了什么:MicroPython 被塞进 WASM 沙箱
这次发布的信息很短,但关键变量很清楚。
| 项目 | 信息 |
|---|---|
| 发布内容 | datasette-agent-micropython 0.1a0 |
| 当前状态 | alpha,早期实验版本 |
| 技术路线 | MicroPython 运行在 WASM sandbox 中 |
| 目标用途 | 让 Datasette Agent 生成并执行 Python 代码 |
| 直接影响对象 | AI Agent 开发者、数据工具开发者、代码执行型应用团队 |
Willison 的原话里有一句很容易被讲大:GPT-5.5 so far failed to break out of the sandbox。
谨慎翻译就是:目前测试里,GPT-5.5 还没突破这个沙箱。
这不是安全证明。不是认证。不是“可以放心上生产”。
它更像一个方向信号:Agent 不能只停在问答界面,它迟早要碰代码执行;而代码执行不能靠信任模型来兜底。
为什么重要:查数只是入口,跑代码才是风险放大器
AI 做数据分析,最开始看起来很轻。
你丢一个 CSV,它读表、总结、画趋势、写几句解释。演示很好看。
但真实工作里,很快会变成另一种需求:
- 清洗脏数据;
- 写临时 Python;
- 辅助生成 SQL;
- 调用本地文件;
- 对表做分组、过滤、计算;
- 把多步操作串成一个小流程。
这时 AI 不再只是“查数”。它在动手。
问题也从“回答对不对”变成“它到底能碰什么”。
它能不能读文件?能不能联网?能不能访问环境变量?能不能把数据发出去?能不能跑死 CPU?能不能在错误信息里一步步试探边界?
这些都不是科幻风险。只要允许模型生成并执行代码,它们就是产品设计问题。
相比 datasette-agent 0.1a3 只把焦点放在数据查询和可解释操作上,micropython 0.1a0 补强的是另一块现实约束:AI 要成为可靠的数据助手,必须有可控的执行环境。没有这一层,查账就会变成拆账房。
谁受影响:不是普通聊天用户,是要让 Agent 干活的人
普通用户短期感受不强。
真正该盯着这事看的,是两类人。
一类是做 AI Agent 的开发者。只要产品卖点里有“自动处理数据”“自动执行任务”“自动写脚本”,就绕不开代码执行。你可以晚一点做,但不能假装没有。
另一类是企业内部的数据工具团队。他们最怕的不是模型偶尔答错,而是模型在一个看似合理的任务里碰到了不该碰的东西。真实数据、内部表、客户文件、凭证、接口密钥,哪个都不是 demo 里的玩具。
所以,Agent 产品进入企业的门槛不会只看模型榜单。
更要看这些细节:
- 权限是不是默认最小化;
- 文件访问有没有边界;
- 网络访问是否关闭或分级授权;
- CPU、内存、执行时间有没有限制;
- 每一步代码和结果能不能回放;
- 出事后能不能追到是哪一次工具调用打开了门。
这些问题不漂亮,也不适合发布会。但它们决定 Agent 能不能碰真钱、真表、真业务。
WASM + MicroPython 是务实路线,不是安全神话
我喜欢这个方向,因为它不装。
MicroPython 足够小,WASM 沙箱足够通用。两者放在一起,很适合做一个受限、可嵌入、可丢弃的执行环境。
它不是给 Agent 一台完整电脑,而是给它一间小屋子。能算。能跑。能被限制。
这比很多“我们会让 Agent 安全使用工具”的空话更有工程味。
但也别把沙箱当护身符。
沙箱安全从来不是一个名词,而是一组持续生效的约束:边界怎么设,接口给多少,资源怎么限,日志怎么记,失败时怎么停,升级后有没有回归测试。
任何一项松了,安全就会从工程问题退回祈祷问题。
Willison 拿 GPT-5.5 去撞沙箱,这个动作有价值。价值不在于证明 GPT-5.5 不够强,而在于测试姿势更接近未来。
未来的攻击者未必是一个人坐在键盘前慢慢试。它可能就是一个会读错误信息、会写 exploit 草稿、会自动迭代的模型。
Agent 安全的标准也该换了。
不是“正常路径能跑通”,而是“恶意路径撞上来会怎样”。
查账的核心不是智能,是责任链
datasette-agent 这条线一直有个很清醒的地方:它没有把 AI 查数包装成魔法。
数据工具最怕黑箱。用户问一句“上个月收入为什么掉了”,模型给一段漂亮解释,这不够。你得知道它查了哪张表、用了什么 SQL、过滤了哪些条件、有没有漏掉异常值。
查数要能复核。查账要能追责。
现在加入代码执行后,责任链变长了。以前只要审 SQL,现在还要审 Python;以前只要看查询结果,现在还要看代码有没有越界;以前错了可能只是答错,现在错了可能是读错、删错、传错、跑错。
这就是 Agent 从玩具变工具时必须付的税。
早期浏览器也走过类似的路。网页脚本能流行,不是因为大家相信每个网页都善良,而是因为浏览器把 JavaScript 关进同源策略、权限模型和沙箱里。
今天的 Agent 不完全一样,但权力结构很像:代码天然想扩张,平台必须设边界。
“天下熙熙,皆为利来。”厂商当然会把执行能力讲成生产力故事,因为它最容易卖。但企业客户买单前,会问另一句话:出了事谁负责?
这个问题比模型参数冷,比排行榜硬。
接下来该看什么:权限、审计、默认开关
datasette-agent-micropython 0.1a0 现在还只是 alpha。它的意义不在成熟度,而在把观察点摆到了台面上。
后面真正值得看三件事。
第一,默认权限怎么设。
如果代码执行默认大开,用户体验会顺,但风险也会顺着进来。更稳的路线是默认收紧,再按能力授权。
第二,审计能不能做细。
Agent 跑过什么代码、读过什么数据、调用过什么工具、为什么失败,都应该能回放。没有审计,出了事只能互相甩锅。
第三,沙箱边界能不能经得住强模型反复试探。
一次没逃出来,不能说明永远逃不出来。安全不是一句“目前没破”,而是持续测试、持续收口、持续暴露假设。
模型越强,产品越不能只靠模型。
这句话听起来拧巴,但很现实。强模型会把能力放大,也会把权限设计的漏洞放大。真正值钱的 Agent,不是会调用工具的 Agent,而是能被放心允许调用工具的 Agent。
datasette-agent-micropython 0.1a0 不是终局方案。它更像一枚钉子,钉在 Agent 产品最容易被营销话术滑过去的地方:能跑代码只是起点,能关住代码才是门槛。
AI 查数要进账房,先别急着夸它聪明。
先看门锁。
