核心要点
能讲清闭环:模型生成代码 → 沙箱执行 → 把 stdout/报错/产物读回上下文 → 据结果修正再执行
能说出适用场景:精确计算、数据分析、画图、文件处理等用代码比直接生成更可靠的任务
能说出安全核心:必须在隔离沙箱里跑,限制网络、文件系统、CPU/内存/超时,防止恶意或失控代码
能说出工程要点:保持执行会话状态(变量/已装包)、捕获完整报错回传、设最大迭代次数防死循环
标准回答
工作闭环
Code Interpreter 把「写代码」当成一种工具调用:模型针对任务生成一段代码,交给沙箱执行,再把执行结果(stdout、异常栈、生成的文件/图表)读回上下文。模型据真实结果判断是否正确,错了就改代码重跑,形成「生成—执行—观察—修正」的迭代闭环。
为什么有用
LLM 直接算数容易出错,但写代码让确定性的解释器去算就很可靠。所以它擅长精确计算、数据清洗与分析、绘图、文件格式转换等任务,用真实执行结果纠偏,减少幻觉。
安全与工程
核心是隔离沙箱:限制网络访问、文件系统范围、CPU/内存与执行超时,防止恶意代码或失控循环。工程上要维护会话状态(已定义变量、已装依赖),完整捕获报错回传给模型,并设最大重试/迭代次数避免反复失败的死循环。
常见误区
⚠️ 常见踩坑
别忽视沙箱隔离——直接在主机或有网络/敏感凭证的环境跑模型生成的代码极危险(数据外泄、命令注入、资源耗尽);也别只回传「成功/失败」,要把完整报错栈回读,模型才能据此修代码。
追问
追问 1:执行失败时应该把什么回传给模型?
回传完整的错误类型与堆栈(如 traceback)、相关 stdout,必要时附上数据样例。信息越具体,模型越能定位是语法错、数据问题还是逻辑错并精准修复,而非盲改。
追问 2:如何防止模型生成的代码做坏事?
多层防护:沙箱/容器隔离、最小权限(禁外网或白名单、限制可访问目录)、资源配额与超时、对危险系统调用拦截,必要时人工确认高风险操作。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。