我们在PyCharm中为AI代理提供了实时Jupyter内核

我们在PyCharm中为AI代理提供了实时Jupyter内核

💡 原文英文,约1300词,阅读约需5分钟。
📝

内容提要

PyCharm推出新Jupyter技能,使AI代理在实时内核中工作而非子进程,保持状态持久并避免文件损坏。测试显示,Claude Opus 5使用内核比shell便宜12%,因缓存读取率高(98% vs 82%)。代理直接运行代码、等待而非轮询、只读新增输出。虽节省成本,但需指示代理保存结果,复杂任务仍需人工。

🔎

延伸解读

成本节省的机制

文章指出,使用Jupyter内核的代理虽然消耗更多输入令牌,但总成本更低,关键在于缓存读取率高达98%,而shell模式仅为82%。缓存读取的成本仅为新建缓存的1/12,因此高缓存命中率显著降低了费用。这一机制解释了为何内核模式在长任务中更具成本效益。

适用场景与局限

成本优势并非普遍适用:对Claude Opus在长时状态型任务中效果明显,但对短任务或Codex模型(已高效利用缓存)则不明显,此时内核模式的价值更多体现在工作流改进而非成本。此外,代理可能忘记保存结果,需在上下文中明确指示;复杂任务仍可能超出代理能力,需人工介入。

技术实现要点

新技能通过MCP包装器execute_tool暴露PyCharm的笔记本模型和实时内核控制,支持创建、编辑、运行单元格、等待长任务、探测内核及管理生命周期。代理直接在内核中运行代码,状态跨单元格持久化;采用等待而非轮询,减少空闲往返;只读取新增输出,避免重复传输。

Q&A

PyCharm 的 Jupyter 技能如何让 AI 代理在实时内核中工作?

PyCharm 的 Jupyter 技能通过一个 MCP 包装器(execute_tool)将 PyCharm 的笔记本模型和实时内核控制暴露给 AI 代理。代理直接在内核中运行代码,而不是在子进程中运行,从而保持状态持久,避免文件损坏。

使用 Jupyter 技能相比 shell 模式在成本上有什么优势?

在测试中,Claude Opus 5 使用内核模式花费 59.09 美元,而 shell 模式花费 67.06 美元,便宜约 12%。尽管内核模式使用了更多 token,但由于缓存读取率高(98% vs 82%),缓存读取成本仅为新缓存成本的 1/12,因此总成本更低。

为什么 AI 代理在操作 .ipynb 文件时容易失败?

大多数 AI 工具将 .ipynb 当作纯文本文件处理,直接编辑 JSON 容易损坏文件,并且通过子进程运行代码,导致内核状态(如训练好的模型、数据框)在子进程退出后丢失,无法检查或重用。输出也被缓冲,导致进度不可见,长时间任务需要盲目等待。

Jupyter 技能如何减少 token 浪费?

Jupyter 技能通过三种方式减少 token 浪费:1) 代理直接在内核中运行代码,状态持久,避免重复加载;2) 使用 wait_cell_execution 阻塞等待,而不是轮询,减少空闲调用;3) 只读取新增的输出,而不是重新发送整个输出。

使用 Jupyter 技能时有哪些注意事项?

需要注意两点:1) 需要明确指示代理保存结果,否则代理可能训练完模型但不保存提交文件;2) 对于复杂任务,代理可能无法解决,需要人工介入。

Jupyter 技能在哪些情况下成本优势不明显?

成本优势是模型和任务依赖的。对于短任务和 Codex 模型(它们已经高效使用缓存),shell 模式可能更便宜,此时 Jupyter 技能的价值主要体现在工作流程上,而非成本。

如何尝试 PyCharm 的 Jupyter 技能?

在 PyCharm 2026.2.1 中打开 AI 聊天,要求代理在笔记本中工作,例如创建笔记本、加载数据集或启动训练运行。代理将直接操作内核,而不是在 shell 中运行命令。

🏷️

标签

➡️

继续阅读