添加新评论

选工具比写代码累

AI工具选型困境

上个月团队开会讨论AI编程工具选型,原本以为半小时能定下来,结果吵了两个半小时。最后谁也没说服谁,散会的时候有人说了一句:"要不先都试试?"

这句话听着像和稀泥,但其实说出了现在的真实处境——工具太多了,多到你不敢轻易押注任何一个。

两年前没这么复杂

2024年的时候,选型很简单:用不用Copilot?用。结束。

现在呢?Claude Code、Cursor、Windsurf、Copilot、Trae、Codex、OpenCode……光叫得出名字的就有一打。每个都说自己最强,每个都有一堆拥趸。

更麻烦的是,这些工具不是静态的。上周Cursor加了个新功能,这周Claude Code又更新了个模型,上周的结论这周可能就作废了。

我们团队十个人,每个人手里至少装着三个AI工具。有人用Claude Code写核心逻辑,有人用Cursor做快速原型,有人用Copilot处理琐碎的CRUD。你问他为什么这么选,他说"习惯了"。

习惯是个很微妙的词。它可能意味着"这个工具确实好用",也可能意味着"我懒得再换了"。

选型的三个陷阱

踩了几个月的坑,我发现选型难不是因为工具差异大,恰恰是因为差异太小。

第一个陷阱:功能趋同。

半年前你还能说"Claude Code的推理能力强,Copilot的生态好"。现在呢?各家都在补能力,你有的我也有,我没有的过两周也会有。10月份我写过一篇文章聊工具同质化,当时还有人反驳说"差异很明显啊"。三个月过去,再看看?

第二个陷阱:评估窗口太短。

我们试过搞一个评估矩阵,列了十几个维度,每个工具打分。搞了两周,矩阵还没填完,工具又更新了。你评估的是昨天的能力,不是明天的。

有个同事花了一周写了个详细的对比报告,结论是"推荐Cursor"。报告交上去的第二天,Cursor宣布对部分用户封号(因为多账号薅羊毛),风向立马变了。

这种速度下,认真做评估反而显得有点傻。

第三个陷阱:把个人偏好当团队决策。

这点最要命。团队里总有几个人是"工具控",什么新玩意都要试。他们试完之后会非常热情地推荐:"这个特别好,我用了一个月,效率提升至少30%。"

但你让团队里其他六七个人跟着换,成本是多少?肌肉记忆要重建,快捷键要重学,之前攒的各种配置和prompt模板要迁移。这些隐性成本,推荐的人从来不提。

我们最后怎么选的

吵了两次之后,我换了个思路。

不再讨论"哪个工具最好",而是讨论"我们团队需要什么"。

这两句话听着像一回事,其实完全不同。前者是技术判断,后者是组织决策。

我们先做了一件事:让每个人写下自己用AI工具最常做的三件事。收上来一看,高度重合——代码补全、解释老代码、写单元测试。

这三件事,说实话,哪个工具都能干。差别没那么大。

然后我们又做了一件事:统计每个人在一个工具上连续使用超过一个月的有几个。结果发现,大多数人的"主力工具"换来换去就那一两个,其他都是试用几天就放弃了。

工具之间的切换成本,远大于它们的能力差异。你不是因为"这个更好"而换,你是因为"新鲜感"而换。

最后我们定了个规矩,不是什么"推荐方案",而是三条底线:

1. 团队共享的配置和prompt模板,必须兼容至少两个主流工具。不把鸡蛋放一个篮子里。

2. 新人入职第一个月用什么都行,但第二个月必须定下来一个主力工具,不能一直飘着。

3. 每两个月做一次"选型复盘",不是评估新工具,而是看看当初选的工具还有没有人在用。没人用的就淘汰,别占着资源。

这个方案听着很没技术含量,但跑了三个月,意外地稳。

选型是个伪命题

回过头来看,我觉得"AI工具选型"这个说法本身就有问题。

它暗示这是一个一次性决策——选对了就一劳永逸,选错了就要付出代价。但现实是,这个领域的变化速度,让任何"一次性决策"都显得天真。

更合理的姿态可能是:承认自己不知道哪个最好,然后建立一个能快速调整的机制。

不是"选对工具",而是"保持能换工具的能力"。

这听起来有点消极,但其实是一种务实。就像我们做架构设计,不会赌某个技术栈永远流行,而是尽量让模块解耦,随时能换。

工具选型也是一样的道理。

一个没想清楚的问题

写到这里,其实我还有个困惑没解决。

工具多了,选择多了,按理说我们应该更高效才对。但我的体感是,团队花在"讨论工具"上的时间越来越多,花在"用工具干活"上的时间反而没增加多少。

这算不算一种新的浪费?

我不知道。可能等这波工具大战尘埃落定之后回头看,才能想明白。也可能永远想不明白,因为下一波工具又会来。

上周跟一个朋友吃饭,他说他们团队干脆不选型了——统一用公司采购的那个,没得选反而省心。

我想了想,这也许才是最优解。但我们是创业公司,没人帮我们做这个决定。

所以还是得自己选。选完之后,还得时刻准备着换。

挺累的。

You voted 2. Total votes: 13