内容提要
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 中运行命令。