核心要点

  • 能讲清闭环:模型生成代码 → 沙箱执行 → 把 stdout/报错/产物读回上下文 → 据结果修正再执行

  • 能说出适用场景:精确计算、数据分析、画图、文件处理等用代码比直接生成更可靠的任务

  • 能说出安全核心:必须在隔离沙箱里跑,限制网络、文件系统、CPU/内存/超时,防止恶意或失控代码

  • 能说出工程要点:保持执行会话状态(变量/已装包)、捕获完整报错回传、设最大迭代次数防死循环

标准回答

工作闭环

Code Interpreter 把「写代码」当成一种工具调用:模型针对任务生成一段代码,交给沙箱执行,再把执行结果(stdout、异常栈、生成的文件/图表)读回上下文。模型据真实结果判断是否正确,错了就改代码重跑,形成「生成—执行—观察—修正」的迭代闭环。

为什么有用

LLM 直接算数容易出错,但写代码让确定性的解释器去算就很可靠。所以它擅长精确计算、数据清洗与分析、绘图、文件格式转换等任务,用真实执行结果纠偏,减少幻觉

安全与工程

核心是隔离沙箱:限制网络访问、文件系统范围、CPU/内存与执行超时,防止恶意代码或失控循环。工程上要维护会话状态(已定义变量、已装依赖),完整捕获报错回传给模型,并设最大重试/迭代次数避免反复失败的死循环。

常见误区

⚠️ 常见踩坑

别忽视沙箱隔离——直接在主机或有网络/敏感凭证的环境跑模型生成的代码极危险(数据外泄、命令注入、资源耗尽);也别只回传「成功/失败」,要把完整报错栈回读,模型才能据此修代码。

追问

追问 1执行失败时应该把什么回传给模型?

回传完整的错误类型与堆栈(如 traceback)、相关 stdout,必要时附上数据样例。信息越具体,模型越能定位是语法错、数据问题还是逻辑错并精准修复,而非盲改。

追问 2如何防止模型生成的代码做坏事?

多层防护:沙箱/容器隔离、最小权限(禁外网或白名单、限制可访问目录)、资源配额与超时、对危险系统调用拦截,必要时人工确认高风险操作。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。