ScienceDiscovery
English GitHub

科研执行环境与工作区:让想法成为可以运行的实验

一份分析方案真正有价值,往往要等到代码运行起来:数据能否读入,方法能否复现,图中的数字是否来自实际计算。科研沙箱给 Agent 提供了这样一个工作空间,让它能够编写、调试和运行 Python、R 与 Shell,并把执行结果留给你检查。

你可以从一句具体的需求开始:“读取这份 CSV,检查缺失值,比较两组样本并画图。”Agent 在工作区保存代码,调用运行工具,根据错误继续修改。最终得到的不只是解释,还可以有脚本、数据表和图像。

给代码划出清楚的边界

Linux 使用 Bubblewrap,macOS 使用 Seatbelt。它们按平台能力限制程序可访问的文件和资源,让运行遵循系统配置的隔离与网络策略。沙箱并不意味着代码天然正确,也不等于无限算力;它让执行有明确的边界,便于将 Agent 的操作纳入管理。

网络访问和软件环境安装分别受管理。需要访问外部数据时,应按实际需要配置网络策略;不必为了运行一个本地分析脚本就开放所有网络访问。

环境由系统管理,研究围绕文件展开

Python 和 R 的依赖由系统统一管理。Agent 可以选择受管环境,并通过环境管理工具增补依赖。执行会记录实际使用的环境版本,帮助你解释“为什么同一份代码在两次运行中表现不同”。环境版本记录不是随时可启动的历史环境副本。

工作区保存本次研究的文件,环境提供运行它们的软件。主 Agent 和子 Agent 各自使用独立工作区,需要协作时显式交接文件。这样,多个研究步骤可以分别推进,而不必反复在聊天里传递整份代码或数据。

受管科学计算环境

从“已经运行”到“可以核查”

每次执行都有状态、日志和文件记录。长命令可以在后台继续,稍后再查看结果;收到“仍在运行”不表示失败,也不需要重新提交同一条命令。执行状态未知时,应先确认原任务是否仍在运行,避免重复计算。

文件登记为科研产物后,可以在界面预览、下载并查看版本。将脚本、结果表和报告一起交付,会让后续复核比只看一段结论容易得多。远端 Runner 上的文件需要先按流程交接,复制本身不会自动完成产物登记。

从一个小分析开始

科研沙箱适合数据清洗、统计分析、绘图与方法验证。先让 Agent 用小样本跑通,再扩大计算范围,通常更容易发现路径、依赖和数据格式问题。