正在刊行长文 · Essay
2026-10-15所有内容
随机比特 · Random Bits

别再让大模型凭感觉改性能了:先喂一张火焰图,两个 AI 接力写出极速补丁

2026-10-15AI Engineering / Systemsrbits.uk
别再让大模型凭感觉改性能了:先喂一张火焰图,两个 AI 接力写出极速补丁

排查 Python 网页服务接口延迟时,不少研发人员习惯把几百行源码直接贴进大语言模型对话框,要求优化执行性能。模型旋即把普通循环改写成列表推导式,并在十几个函数里加入字符串拼接缓存,然而重新压测后接口响应耗时连一毫秒都没有下降。2026 年 10 月 12 日至 13 日,Simon Willison 在发布 web-edit 0.1a1 与 datasette-ports 0.4 时,用 Python 3.15 采样性能分析器跑通了截然不同的工程路径。他先在 Codex 环境中驱动 GPT-6 Astra Extra High,对 PyPI 上的 web-edit 运行 Python 3.15 分析器生成交互式火焰图与源码热力图;随后将该份分析报告直接喂给 Claude Opus 5.5 编写定向性能优化补丁并完成发版。

静态源码看不见运行时的真实卡顿

大语言模型阅读静态源码文件时,本质上是在依赖训练语料中的统计分布寻找表面代码异味。看到嵌套循环就尝试向量化,看到字典查找就建议增加局部变量绑定。这种脱离进程上下文的微观改写,根本无法感知生产环境中的真实输入规模与高频调用路径。

在真实的 Web 服务运行期内,某段看似冗长的初始化逻辑每次请求只执行一次,耗时占比不足千分之一;而另一处不起眼的正则匹配或属性反射,却在底层序列化循环中被高频触发数万次。静态代码里长相最复杂的循环未必是运行时真正的慢点,不喂运行时火焰图就让大模型改性能等于蒙眼开刀。

盲目改动未经探针证实的冷路径代码,不仅白白消耗上下文预算,还会破坏原有逻辑的可读性,甚至在并发边界引入隐蔽的状态退化。在启动任何代码重写之前,必须先用运行时采样数据证伪主观直觉,对非热点分支尽早终止无效改造,将算力严格收敛到真实的调用栈瓶颈上。

静态源码盲猜与采样火焰图定位对比

采样探针把进程开销还原成热力图

要让大模型看清运行时的物理世界,核心在于将动态进程开销转化为模型能够精确消费的结构化证据。Simon Willison 在实验中使用了 Python 3.15 内置的高频采样性能分析器,并同步更新了配套工具 datasette-ports 0.4。

在本地运行多个 Datasette 或 web-edit 实例时,datasette-ports 0.4 会在扫描端口的同时直接输出目标实例的进程 PID。拿到 PID 后,采样探针无需侵入业务代码或重启服务,就能从操作系统层面直接挂载到运行中的 Python 3.15 进程上,以极低开销高频抓取活跃调用栈快照。

维度 静态源码盲猜优化 双模型采样接力工作流
诊断依据 依赖语料统计分布猜测表面代码异味 依赖 Python 3.15 采样计数与调用栈快照
工具链路 单一对话框手工复制粘贴源码片段 datasette-ports 0.4 暴露 PID 并挂载探针
上下文输入 数百行冷热混杂的原始业务代码 交互式火焰图与逐行高亮的源码热力图报告
优化确定性 极易误改冷路径,压测耗时毫无改善 锁定高频慢函数精准动刀,耗时下降可验证

在 Codex 环境内,GPT-6 Astra Extra High 自动拉取 PyPI 上的 web-edit 包并驱动 Python 3.15 分析器完成两类核心视图构建。第一类是交互式火焰图(Flame Graph),按调用栈宽度直观暴露吞噬 CPU 周期的顶层模块与深层子函数;第二类是源码热力图(Source Heatmap),将采样命中次数直接映射回具体源码文件的每一行,用颜色深浅标出真正的性能黑洞。

双模型接力完成零盲猜的性能手术

拿到 Python 3.15 火焰图与源码热力图后,Simon Willison 并未让同一个探针模型包揽全局修改,而是将性能分析报告作为独立中间构件,转手输入给 Claude Opus 5.5 执行代码重构。这种正交组合把环境探针采集与深度代码生成解耦成两个互不干扰的流水线阶段。

将探针驱动与补丁编写拆解给两个专精模型接力执行,既隔离了工具探索期的上下文噪音,又保证了代码重构阶段的极高命中率。 GPT-6 Astra Extra High 擅长在 Codex 终端里操控 PID 探针、编排测试负载并提炼热力图数据;而 Claude Opus 5.5 接收到清洗后的高亮行号与调用栈热点报告后,无需在海量无关文件里发散检索,直接针对 web-edit 的高耗时行生成最小化补丁,顺利推动 web-edit 0.1a1 发版。

双模型采样诊断与定向补丁接力流水线

这套探针先行与双模型接力的工作流,同样存在明确的物理适用边界。Python 3.15 采样火焰图与源码热力图主要捕捉 CPU 计算密集型热点与高频函数调用开销;若线上服务的延迟瓶颈源于跨网第三方接口限流、远端数据库慢查询或磁盘同步锁等待,单靠本地进程采样无法根除外部阻塞,仍需配合分布式链路追踪共同治理。

对于日常维护 Python 后端服务与命令行工具的研发团队而言,今天就可以把这套两段式闭环接入自动化调优流水线。先在诊断脚本中仿照 datasette-ports 0.4 暴露目标服务 PID,交给探针智能体自动运行 Python 3.15 分析器导出火焰图与源码热力图摘要;唯有当某行代码的采样占比超过预设阈值时,才触发下游编码智能体定向生成优化补丁并用前后热力图比对验证收益。

资料:Simon Willison 工程实验记录 https://simonwillison.net/2026/Oct/12/python-3-15-web-edit-profiling/ 、https://simonwillison.net/2026/Oct/13/web-edit/ 、https://simonwillison.net/2026/Oct/12/datasette-ports/

随机比特公众号二维码
公众号 · 随机比特
从 AI 工具热闹里拆工程真相

写边界、控制面、上下文、成本与安全。