作者整理了 290+ 款 AI 开发工具,按开发者实际工作流(代码补全、测试、文档、调试等)分类组织,帮助在泛滥的工具市场中做出选择。
AI 开发者工具正以极快的速度演进。
一年前,追踪主流编程助手还相对容易。如今,AI 驱动的 IDE、编程 Agent、代码审查工具、测试平台、开发者 API、可观测性工具、Agent 框架和 AI 应用构建器不断涌现。
问题的核心已经不再是「找不到 AI 工具」,而是「如何找到适合特定开发工作流的正确工具」。
最近我在研究并整理 AI 及开发者工具,目前数据集中已有超过 290 个工具。
有一点很快变得清晰:
开发者不一定需要更多工具,而是需要更好的方式来发现适合自己的工具。
所以我没有简单地把一切都归类为「AI 工具」,而是围绕开发者实际想要解决的问题来组织它们。
这可能是大多数开发者最先接触的类别。
AI 编程助手可以帮助完成以下任务:
一些知名的例子包括:
重要的问题不只是:「哪个编程助手最强?」
更好的问题是:「这个助手如何融入你现有的开发环境?」
举例来说,如果你大部分时间都在 VS Code 里,那么基于扩展的助手可能比切换到完全不同的开发环境更贴合你的工作流。
同一款工具,根据使用方式的不同,体验也可能截然不同。
对于简单的自动补全,延迟和建议质量可能是最关键的。
而对于更大的任务,上下文处理和代码库感知能力就重要得多。
编程 Agent 是另一个不同的类别。
Agent 不是主要帮助你编写单行代码,而是可以处理涉及多个文件、命令、测试和迭代的大型任务。
最大的区别在于自主程度。
传统的编程助手可能帮助你编写:
function calculateTotal(items) {
// ...
}
而编程 Agent 可能会收到这样的任务:
找出结账测试失败的原因,
定位根本原因,
实现修复,
并运行相关测试。
这极大地改变了开发工作流。
开发者不再是简单地让 AI 生成代码,而是在将软件工程流程的某一部分委托给 Agent。
这也带来了新的挑战:
你应该给 Agent 多大的自主权?
对于小型改动,高自主权可能很方便。
但对于敏感的生产代码、数据库迁移、认证或基础设施变更,你可能需要更严格的审查。
另一个类别是 AI 优先的开发环境。
这些工具将编辑器和 AI 能力相结合,而不是把 AI 作为现有 IDE 的一个小扩展附加上去。
对于每天大部分时间都在写代码的开发者来说,这可以让 AI 交互感觉更加融为一体。
问题变成了:
你想要 AI 成为编辑器中的助手,还是希望编辑器本身围绕 AI 辅助开发而设计?
这没有唯一的正确答案。
有些开发者更喜欢保留现有环境并添加 AI 能力。
有些开发者则更喜欢 AI 深度集成到编辑、导航、生成和重构中的环境。
AI 的作用不仅限于编写代码。
围绕以下方面也有一个不断增长的生态系统:
这些工具对团队特别有价值,因为其价值不一定在于生成更多代码,而在于减少审查和维护这些代码所需的手工工作量。
例如,AI 审查工具可能在人工审查者花费时间浏览整个 Pull Request 之前就识别出一个潜在问题。
一个重要的区分是:这些工具通常应该辅助工程流程,而不是完全取代人工审查。
另一个快速增长的类别是 AI 辅助的应用开发。
允许开发者和非开发者用自然语言描述应用,然后对生成的结果进行迭代。
这些工具对以下场景特别有用:
例如,你可以从以下开始:
Build a dashboard for tracking monthly SaaS revenue.
Add authentication.
Add a PostgreSQL database.
Add a chart showing monthly recurring revenue.
这可以极大地缩短构建初始原型所需的时间。
但有一个重要的权衡:
你对生成的应用实际上理解和控制多少?
对于原型来说,这可能不太重要。
但对于生产系统,这就重要得多。
AI 开发不止于编程助手。
一旦你开始构建 AI 应用,很快就会遇到基础设施问题:
这是我决定不将研究局限于「AI 编程工具」的原因之一。
一个现代化的 AI 应用通常依赖于更大的开发者基础设施栈。
例如,一个 AI 驱动的 SaaS 应用可能涉及:
Frontend
↓
Authentication
↓
Backend API
↓
Database
↓
AI Model
↓
Search / RAG
↓
Observability
↓
Payments
AI 模型本身只是其中一个组件。
这也是为什么随着应用变得越来越复杂,开发者工具的发现变得越来越困难。
如果你在构建自己的 AI 驱动的应用,框架和 SDK 就变得很重要。
这些项目从不同角度切入 Agent 开发。
有些开发者想要高层抽象。
有些开发者更喜欢底层控制。
有些应用需要多 Agent 工作流,而有些则更适合简单的模型 + 工具架构。
正因如此,选择 Agent 框架通常更多取决于你的架构和需求,而不是简单的功能清单。
还有一个类别很容易被忽视。
AI 不一定要生成代码才能提升开发者生产力。
工具也可以帮助:
有时候最大的生产力提升不是来自生成更多代码,而是来自减少在工具之间切换所花费的时间。
Find documentation
↓
Understand API
↓
Write code
↓
Run tests
↓
Debug
↓
Review
↓
Deploy
AI 可以在这个工作流的多个环节提供辅助。
如何选择 AI 开发者工具
在浏览了数百个工具之后,我认为五个问题比单纯看热度更有用。
从问题出发,而不是从工具出发。
I need better code completion
↓
AI coding assistant
I need an agent to modify a repository
↓
AI coding agent
I need automated pull request review
↓
AI code review
I need to build an AI application
↓
AI framework / infrastructure
这听起来很明显,但它避免了一个常见问题:
在明确定义问题之前就选择了工具。
考虑该工具是否能很好地配合:
一款技术出色的工具如果不能融入你的工作流,实际上可能不会提升生产力。
例如,习惯在终端中工作的开发者可能更喜欢面向 Agent 的 CLI。
而另一个开发者可能更喜欢 AI 原生的 IDE。
因此,「最佳」工具对于不同的工作流来说可能是不同的。
这一点变得越来越重要。
以下两者之间存在巨大差异:
Autocomplete
Plan
↓
Modify files
↓
Run commands
↓
Run tests
↓
Review results
↓
Iterate
第二种工作流可以节省大量时间,但也需要更多的信任。
在允许 Agent 进行大的改动之前,思考以下问题:
AI Agent 之所以强大,部分原因是它们能做更多的事情。
这也意味着一个错误的后果可能更大。
在采用 AI 开发工具之前,尤其是用于工作项目,要了解它如何处理:
这可能比基准性能上的微小差异更重要。
一款看起来很出色的工具,可能并不适合安全或合规要求严格的项目。
在使用包含敏感代码或数据的工具之前,务必查看供应商的最新文档和政策。
AI 开发者工具正在极速变化。
今天流行的工工作流一年后可能会大不相同。
在可能的情况下,避免不必要的锁定。
当选项适合你的项目时,优先选择与标准开发流程、可移植代码、开放 API 或可互换组件配合使用的工具。
在选择基础设施时这一点尤为重要。
我构建的一个小型开发者工具目录
在研究这些工具时,我一直遇到同样的问题:
信息分散在产品网站、GitHub 仓库、文档、博客文章和对比文章中。
所以我开始将工具组织成一个可搜索的、面向开发者的目录。
该数据集目前包含 290+ 个工具,涵盖以下领域:
我构建它主要是为了让研究更易于浏览和维护。
你可以在这里探索该目录:
开源精选列表也可以在 GitHub 上获取:
Awesome AI & Developer Tools
目标不是宣称某个单一的「最佳 AI 工具」,而是通过你实际想要构建的东西来更容易地发现工具。
你在使用哪些 AI 开发者工具?
我特别想听听每天都在使用这些工具的开发者们的看法。
你最近开始使用的哪个 AI 开发者工具真正改变了你的工作流?
更重要的是:
它解决什么问题比替代方案更好?
我非常想了解你的经验。
披露:本文在 AI 的协助下撰写,并经作者审阅和编辑。