---
title: "Python 类型提示调查：AI 工具与检查器选择变化"
canonical: "https://siyuanailab.com/curation/translations/6a839be88e1e70b2caf130234e666389-2b687b57caf1e390f53ad86f10551a9652641f6a85c08baf5113e6812e4110a1/"
dateModified: "2026-10-28"
datePublished: "2026-10-28"
---

[返回日报条目](https://siyuanailab.com/curation/#entry/6a839be88e1e70b2caf130234e666389)

 

资料节译

 

# Python 类型提示调查：AI 工具与检查器选择变化

 

[阅读原文](https://engineering.fb.com/2026/10/27/developer-tools/python-typing-survey-2026-ai-tools-checker-landscape/)

 

现有资料无法确认原文完整，本页只翻译已取得的材料。

 

现有原件无法确认图片是否齐全。

 

- 2026 年 Python 类型标注调查收到 1,794 份回复。
 
- 三年来，类型提示的使用情况变化不大，但类型检查器的选择发生了显著变化。
 
- 在报告自己使用哪些类型检查器的受访者中，一半选择了多个；最常见的困难是缺少库的类型信息。

 

连续第三年，我们询问 Python 开发者如何使用 Python 类型标注，以及他们对此有何体验：包括用于描述和检查 Python 代码中类型的语言功能、规范和工具。我们开展这项调查，是为了了解哪些方面运作良好，以及库维护者、工具构建者、文档作者和标准制定参与者接下来应着力解决哪些问题。

 

大多数受访者都是经验丰富的 Python 开发者：76.4% 使用 Python 至少五年。最明显的变化是类型检查器选择的转变，而缺少库的类型信息仍是最常见的困难。

 

今年的调查结果显示了几个反复出现的改进机会：

 

**更广泛、更准确的类型信息有助于数据科学包的用户：**动态框架带来了另一种挑战，因为现有类型系统无法表达某些运行时行为。可能的方向包括新增类型标注功能，以及针对各个库和框架定制的类型检查器支持。

 

**工具构建者可以着重改善编辑器反馈，并让用户几乎无需配置就能首次运行类型检查器：**错误消息可以链接到简短的说明和示例。类型标注文档可以假设读者已有 Python 使用经验。使用多个类型检查器的项目将受益于对它们之间有意存在的差异作出清晰说明。

 

**更好的可调用对象语法仍是标准制定工作的一个实际方向**，尤其是在改进能让常见类型标注任务保持简单易行的情况下。

 

**AI 的使用仍是一个开放问题：**调查结果留下了一个问题：AI 工具与类型检查器之间的哪些交互能帮助开发者？进一步的实证研究可以为未来的设计提供参考。

 

选择“让 AI 生成的代码更准确/可靠”的受访者比例从 2025 年的 18.5% 上升到 2026 年的 38.4%。在 1,517 名受访者中，42.5% 表示 AI 工具曾编写类型提示，32.6% 表示自己编写类型以改进 AI 生成的代码。受访者也会使用 AI 修复或解释类型错误。在类型标注相关 AI 工具使用的四项活动中，61.0% 的受访者表示至少使用过其中一项。

 

一些受访者表示，他们使用的 AI 编码工具会先运行类型检查器，再修复错误。在回答如何运行类型检查器的 1,517 名开发者中，24.4% 表示由 AI 编码工具调用类型检查器。在这 370 名受访者中，61.6% 也使用 AI 修复类型检查器报出的错误。其他受访者中的这一比例为 19.3%。

 

一些受访者提到，AI 生成的类型过于宽泛，智能体还会压制类型检查器报出的错误：

 

*“我会修正 AI 编写的类型提示，因为 AI 常常偷懒，什么都用* *object* *。”*

 

*“偷懒的编码智能体到处乱加* *#type: ignore* *注释。”*

 

在被问及类型对于改进 AI 辅助编码有多大用处时，1,551 名受访者中有 29.8% 选择了“我不确定”。对于 AI 辅助编码，这一不确定比例接近运行时保证（六项益处中排名第二）的 7.7% 的四倍。我们仍需要实证证据来了解哪些交互确实有帮助。

 

Pyrefly 团队已经在研究 AI 编码工具与类型检查器如何协同工作。在 2026 年 Python 类型标注峰会上，团队介绍了[智能体工作流中的类型检查](https://www.youtube.com/watch?v=xNaKm4fTFtw)。

 

第三方库缺少类型信息是首要困难，1,486 名受访者中有 65.1% 选择了这一项。另有 44.6% 表示类型系统无法描述其代码所做的一切。

 

即使库提供了专门的存根文件，开发者的使用体验仍可能不佳。在 156 名自行填写答案的人中，有 22 人提到了动态结构、装饰器、元编程或框架行为。10 人提到了数组、数据框或科学计算相关类型；至少 8 人提到注解不准确、不完整或过于宽泛。受访者反复提及 Django、SQLAlchemy、Pydantic、NumPy、pandas 和 Polars。

 

*“Django 的黑魔法太多了，类型检查器居然还能运行，真是个奇迹。”——调查受访者*

 

库维护者需要能准确描述框架和数据科学库行为的注解。Pyrefly 团队一直在[与 Quansight 合作改进第三方库的类型标注](https://engineering.fb.com/2025/05/05/developer-tools/enhancing-the-python-ecosystem-with-type-checking-and-free-threading/)，其中包括为 pandas-stubs 和 NumPy 做贡献。

 

使用频率不同，开发者突出的困难也不同。在很少或有时使用类型提示的开发者中，41.6% 认为类型系统过于复杂或冗长；经常或总是使用类型提示的开发者中，这一比例为 14.5%。类型提示使用频率较低的群体中，36.2% 受库类型信息缺失影响；使用频率较高的群体中，这一比例为 70.0%。

 

![](/curation/media/b098f870e8dfe0e8053f4847cddf8bc6067f463be46696885c82fefbb9c0517e.png)

 

*“我会使用简单直观的部分，避开那些难以理解的部分。”——调查受访者*

 

按类型标注经验年限来看，情况有所不同。类型标注经验为零至两年的受访者中，18.2% 提到复杂性；经验为三至六年的占 16.0%；七年及以上的占 21.0%。刚开始使用类型标注的人往往经常使用类型提示，而且是经验丰富的 Python 开发者：在 396 名类型标注经验为零至两年的受访者中，306 人（77.3%）经常或总是使用类型提示，345 人（87.1%）使用 Python 至少三年。

 

面向类型标注新手的指南应假设他们已有 Python 使用经验，并展示如何为现有代码仓库添加类型。偶尔使用类型提示的人需要一种有用的首次检查方式，且配置简单、错误易于理解。随着类型系统不断变化，我们应努力支持更多模式，同时不增加常见任务的难度。

 

改进可调用对象（Callable）的语法是一个实际的起点。在回答该问题的 1,486 名受访者中，45.7% 选择了这一项，使其成为最常被选中的缺失功能。提到复杂性问题的受访者与其他受访者，选择比例相近。

 

三次调查中，经常使用类型提示的比例保持在 85.5% 至 88.0% 之间：2024 年为 88.0%，2025 年为 85.9%，2026 年为 85.5%。每年参与调查的群体不同，但总体比例保持稳定。

 

![](/curation/media/41b59f4ca5b3d3e0b2d8eb4afee948d8dee4f5097514018e4406ebd8f46be9fa.png)

 

在[2024 年 Python 类型标注调查](https://engineering.fb.com/2024/12/09/developer-tools/typed-python-2024-survey-meta/)中，当时询问了 Python 类型系统缺少哪些功能。如今，其中一条回答读起来仿佛预示了今年结果所反映的变化：

 

*“更快的 Mypy。它速度慢，导致生态系统分裂；其他类型检查器不支持 Mypy 插件，整体表现也不一样。”——调查受访者*

 

到 2026 年，开发者已有多种较新的开源类型检查器可供选择。速度或性能是选择类型检查器时排名第一的原因，占 56.5%。在两年调查中使用相同类型检查器列表的情况下，2026 年有 49.9% 的受访者选择了两个或更多类型检查器，高于 2025 年的 46.0%。

 

在选择 Mypy 的 700 名受访者中，有 297 人也选择了它的编辑器插件。另有 314 人选择了其他具名类型检查器集成，但没有选择 Mypy 插件。

 

大多数 Pyrefly 受访者也选择了其他类型检查器：264 人中有 220 人，占 83.3%。在开放式回答中，开发者解释了团队为何会让不同类型检查器分担工作：

 

*“因为团队成员使用不同的 IDE，我们在开发时会使用多个类型检查器，但在代码检查（本地和 CI）中依赖 Mypy。”——调查受访者*

 

*“我们本地主要使用 Pyright，因为在我们试用过的选项中，只有它能完全理解代码库里那些比较少见的类型标注模式。在 CI/CD 中，我们会运行 Pyrefly，只对 Pyrefly 检查失败的文件运行 Pyright，以提高检查效率。”——调查受访者*

 

在回答困难问题的 1,486 名开发者中，33.3% 表示遇到过不同类型检查器之间的不一致。在选择了多个静态类型检查器并回答困难问题的 738 名受访者中，315 人（42.7%）表示遇到过类型检查器之间的不一致。

 

可读性或文档是最常被选为使用类型提示的原因，1,571 名受访者中有 93.6% 选择了这一项。编辑器支持的排名也很靠前：在给出数字评分的 1,494 人中，84.8% 给了 4 分或 5 分。在自行填写使用原因的 103 名开发者中，约 39% 提到了补全、跳转、悬停信息或编辑器错误消息。

 

*“大幅改善 IDE 提示信息和自动补全。”——调查受访者*

 

实时编辑器反馈十分普遍：1,517 名受访者中有 82.9% 会在编辑器中运行类型检查器。VS Code 是最常被选中的编辑器或 IDE，占 59.3%。

 

开发者寻求帮助的渠道也发生了变化。从 2024 年到 2026 年，Stack Overflow 的使用率从 46.4% 降至 22.9%，而大语言模型（LLM）聊天工具的使用率从 26.0% 升至 41.7%。Python 类型标注文档的使用率从 56.2% 升至 65.9%。类型检查器专属文档最终达到 60.5%，高于 52.2%，此前其使用率在 2025 年曾有所下降。Python 通用文档的使用率从 66.7% 降至 62.2%。

 

![](/curation/media/622b31e4b031177c94589a085885481f138ba96b8f769942e0d301739756208f.png)

 

随着开发者从 Stack Overflow 转向类型标注和类型检查器专属文档，这些资料的质量变得更加重要。错误消息应链接到简短且相关的说明和示例。文档链接也能为 LLM 聊天工具提供更好的信息。

 

下载[Python 类型标注调查 2026](https://engineering.fb.com/wp-content/uploads/2026/10/Python-Typing-Survey-2026.zip)的完整结果和数据。

 

*调查于 2026 年 8 月 5 日至 9 月 2 日进行。在 Meta 的 Pyrefly 团队、JetBrains 的 PyCharm 团队、Microsoft 的 Python 团队、Astral/OpenAI 的 ty 团队，以及社区贡献者的支持下，我们设计并开展了这项调查，社区贡献者参与的平台是* *discuss.python.org**。我们通过 Reddit、X、Mastodon、新闻通讯、Python 类型标注论坛、LinkedIn、Bluesky、Discord、Slack，以及类型检查器项目网站和社交账号分享了调查。我们对引文进行了少量编辑，修正拼写、语法和标点。感谢所有参与调查、分享调查、审阅数据或为 Python 类型标注社区作出贡献的人。*

 

这篇文章《[2026 年 Python 类型标注调查：AI 工具与类型检查器格局的变化](https://engineering.fb.com/2026/10/27/developer-tools/python-typing-survey-2026-ai-tools-checker-landscape/)》最初发表于[Meta 工程](https://engineering.fb.com/)。

 

AI 翻译；具体表述请与原文对照。
