👤 撰写与主审:Bill(Lead Editor) 2026年08月30日 ai-code

SNAFU 评测 2026:用 LLM 流程修正代码里的坏名字

SNAFU 是一个 Agent 式 LLM 流程,帮你解决代码里「命名」这件难事。它为符号计算名称歧义数(NAN),并引导你通过一个 Agent 流程把含混的名字换成更清晰的。

SNAFU

SNAFU 是什么

SNAFU(Symbol Name Ambiguity Fixer-Upper)是一个解决经典难题——命名——的 Agent 式 LLM 流程。对文件里每个符号,它计算一个名称歧义数(NAN)——衡量名字有多含混的可量化分数——然后引导你通过一个流程,把含混的名字换成更清晰的,全程有人确认真实含义。

核心功能

  • 把名称质量量化为香农熵 / 困惑度(NAN)
  • 人在环确认真实含义后再重命名
  • 丢弃无改善的候选(NAN 增量 ≤ 0)并复核幸存者
  • 多语言通过 Tree-sitter:Python、Ruby、C#、Java、JS、TS、PHP、Rust、Go
  • 任意 LLM 支持(类 LiteLLM)加简单 CLI

谁该用 SNAFU

清理遗留或 AI 生成代码(名字如 process_datahandle 掩盖意图)的工程师。适合代码评审前准备与入职代码卫生。

优点与不足

优点

  • 把「名字质量」变成可量化数字
  • 保守:人确认含义,弱重命名被丢弃
  • 通过 Tree-sitter 广覆盖语言

不足

  • 需要 Python 3.14+ 与 LLM API key
  • 名称评分是 LLM 启发式,非绝对真理
  • 并非提取所有符号——聚焦最相关的

定价

MIT 免费开源。

常见问题

歧义如何度量?

每个符号在无上下文下被评分;模型返回解释概率,NAN = 2 ** 香农熵(困惑度)。越低越清晰。

支持哪些语言?

Python 原生,外加 Tree-sitter 提取 Ruby、C#、Java、JavaScript、TypeScript、PHP、Rust、Go。

探索最佳 AI 编程工具 工具

相关文章

订阅 9bests 周报,免费领完整版

每周精选 AI 工具测评与更新;订阅即获本清单完整版 + 另外 7 个细分领域(写作 / 图像 / 视频 / 音频 / 对话模型 / 数据 / API 成本)同款速查。

免费订阅并领取 →

独立测评,评分不受厂商付款影响 · 双重确认订阅 · 随时退订