grok4 中文文档 下载 App

Grok4 代码执行沙箱 — Code Interpreter 能力详解

功能概述

Grok 4 的代码执行沙箱(Code Interpreter)让模型可以在安全隔离的环境中自动执行 Python 代码。这意味着 Grok 不仅能生成代码,还能运行代码、读取结果,然后基于结果继续回答——极大提升了需要数据处理、计算、画图等场景的能力。

与 ChatGPT 的 Code Interpreter 对比

维度Grok Code ExecutionChatGPT Code Interpreter
访问方式API 原生能力ChatGPT Plus 应用内
主要语言PythonPython
外部访问受限(安全沙箱)受限
与函数调用配合可以同时使用类似

基本工作流程

用户提问 → Grok 判断需要执行代码
         → 返回代码执行请求(包含 Python 代码)
         → Grok 自己在沙箱中执行
         → 得到执行结果
         → Grok 基于结果生成最终回答

关键区别

与函数调用不同,代码执行是 Grok 自己执行——不需要你的应用参与中间环节。Grok 在 API 层面会自动处理代码生成、执行、结果读取的完整流程。

使用方式

在 API 请求中启用

代码执行作为一种工具,在 tools 参数中声明:

response = client.chat.completions.create(
    model="grok-4.7",
    messages=[
        {"role": "user", "content": "计算斐波那契数列的前 20 项,并画个图"}
    ],
    tools=[{
        "type": "code_interpreter"
    }],
)

自动触发

当你的请求涉及:

Grok 会自动决定是否调用代码执行。

典型使用场景

场景 1:数学和计算

计算 ∫(0 to 1) x² dx 的结果,并用 Python 验证

Grok 会生成 Python 代码执行积分计算,返回精确结果。

场景 2:数据处理

我有一份 CSV 数据,帮我计算各列的平均值并找出异常值

Grok 可以处理你上传的文件,用 pandas 进行数据清洗和统计。

场景 3:可视化图表

帮我画一个股票价格走势的折线图,数据在我上传的 CSV 里

Grok 用 matplotlib 或 seaborn 生成图表,返回图片结果。

场景 4:算法验证

我写了一个快速排序的 Python 实现,帮我验证一下正确性并优化性能

Grok 可以运行你的代码,对拍测试,并给出优化建议。

场景 5:复杂转换

帮我把这个复杂的 JSON 转换成 CSV 格式,嵌套数组要展开

Grok 可以写代码处理各种格式转换。

代码沙箱的限制

安全隔离

代码执行环境是严格隔离的:

支持的 Python 库

Grok 的代码沙箱预装了常用 Python 库:

类别常用库
数据处理pandas, numpy
可视化matplotlib, seaborn, plotly
科学计算scipy, scikit-learn
图像处理Pillow
网络和文件requests, json, csv, os

如果需要某个库,最好在 prompt 中说明。

不支持的操作

与文件上传配合

Grok 的代码执行可以处理用户上传的文件:

  1. 在对话中上传文件(CSV、JSON、TXT 等)
  2. 让 Grok 处理该文件
  3. Grok 的代码可以读取并分析文件内容
  4. 结果可以返回文本或生成新文件

上传文件后引用

我上传了 sales_2025.csv,帮我按月份汇总销售额,画个柱状图

Grok 会自动知道如何访问你上传的文件。

实际效果

数学和逻辑验证

Grok 可以用代码验证自己的推理:

这大大降低了数学类问题的错误率。

数据工作流自动化

Grok 可以完成完整的数据处理流程:

  1. 读取原始数据
  2. 清洗和转换
  3. 统计和分析
  4. 可视化
  5. 生成报告

调试帮助

Grok 可以帮你调试代码:

与其他工具配合

与函数调用配合

可以在一次请求中同时提供自定义函数和代码执行工具。Grok 会根据任务需要选择最合适的方式。

与网络搜索配合

Gro k先搜索获取数据,然后用代码执行处理数据:

帮我搜索最新的 AI 模型排行榜数据,然后用 Python 画个柱状图

常见问题

代码执行的额外成本

代码执行会消耗额外 tokens(模型生成代码 + 结果分析)。按正常 token 价格计费。

执行时间限制

代码执行有超时限制(通常几十秒)。如果你的代码运行时间很长,可能会被中断。建议在 prompt 中说明预期运行时间。

如何处理执行失败

如果代码报错,Gro k会:

  1. 分析错误信息
  2. 修正代码
  3. 重新执行
  4. 如果还是不行,会告诉你遇到了什么问题

能不能生成可下载的文件

可以。代码执行生成的文件(如图表 PNG、处理后的数据 CSV)会作为对话的一部分返回,用户可以下载。