Scalene Python 性能分析器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/profile-python-agent-workloads-with-scalene 技能到你的 AI 助手中。
技能介绍
解决什么问题
当 Python 代理、工具服务器或检索管道变慢时,请求日志和黑盒延迟往往只能把问题推给“模型慢”或“下游抖”,很难落到具体代码行。这个技能针对这类工作负载:在大规模重构或盲目加 worker 之前,用 Scalene 对 Python 进程做行级 CPU、GPU、内存剖析,把时间与内存消耗归因到函数、循环、序列化、张量运算或大块对象分配上。
核心能力与关键步骤
- 前提是有可复现工作负载的 Python 项目或脚本,并具备本地或 staging 运行权限;技能负责引导剖析,不替代可重复基准。
- 按上游文档驱动
scaleneCLI 跑目标代理、工具服务器或检索管道,采集行级 CPU、GPU 与内存数据。 - 把输出读回代码路径:定位 CPU-bound 热点、GPU 计算热点、隐式拷贝和大对象分配,再决定是局部优化、缓存、异步化还是水平扩展。
- 技能附基础用法与上游文档链接,用于快速确认如何筛选目标模块、设置运行范围并解释当前环境下的输出。
适用边界与注意点
- Scalene 面向 Python 进程本身,不直接归因网络等待、LLM 推理服务、外部数据库或下游依赖;这些仍要结合 tracing、日志或 instrumentation。
- 需要稳定可复现负载;请求量、缓存状态和模型响应差异过大时,单次剖析结论不稳定。
- GPU 指标依赖本地运行时与设备可见性;在容器或设备受限的 staging 环境可能缺项。
- 上游访谈提到 Scalene 可让 GPT-4 给出建议,但那只是背景资料,不能当成本技能包含自动优化建议。
截图预览
使用场景
- 代理在生产请求下变慢,需要在改代码前定位是哪几行拖慢了 CPU
- 工具服务器延迟随负载上升,想确认瓶颈在序列化、循环还是内存分配
- 检索管道改了批次大小后显存占用异常,要用行级 GPU 指标找出是哪段张量运算超标
- 准备给代理加并发 worker 前,想先用行级剖析数据判断瓶颈在应用层还是模型等待
适合人员
- Python 后端工程师,代理服务延迟超标,需要定位到具体代码行再动手优化
- Agent 应用开发者,迭代中内存持续增长,想区分是 Python 对象分配还是 GPU 张量问题
- 平台性能工程师,负责给检索管道定容量,需要行级 CPU/GPU 数据作为依据
- 技术负责人,在决定是否加 worker 前,想先拿到可复现的剖析数据