论文

逃离Python依赖地狱:Python依赖求解的回放-修复混合流水线

Escaping Python Dependency Hell: A Hybrid Replay-and-Repair Pipeline for Python Dependency Resolution

摘要

Python生态系统中的依赖冲突源于不兼容的版本约束、缺失的包以及未成文的兼容关系,导致大量真实代码片段在执行时失败。本文提出PLLM+,一个混合依赖修复流水线,在包含2,891个依赖失败片段的HG2.9K基准上评测。PLLM+在调用基于LLM的修复之前优先采用廉价的确定性步骤:基于静态AST的解释器推断、从竞赛提供的解答数据库回放历史上成功的依赖配置、以及对候选包版本的实时PyPI验证。当这些步骤无法解决某个案例时,系统回退到结构化的LLM修复循环,包含类型化错误分类与Proposer/Critic双Agent。在HG2.9K上,PLLM+解决了2,891个片段中的1,500个,而PLLM基线解决1,169个;平均运行时间从每片段368.7秒降至71.8秒。绝大多数成功修复来自回放已知配置:1,500个成功修复中有1,495个由解答数据库产出,LLM回退仅贡献5个。这些结果表明,在该基准设定下,对先前已验证依赖配置的确定性复用是一种简单而有效的策略,基于LLM的修复则作为先前解未覆盖案例的次要回退。

逃离Python依赖地狱:Python依赖求解的回放-修复混合流水线:论文配图
图 1:PLLM+ 增强的依赖修复流水线的高层架构。