#AI编程工具

宝玉
1个月前
《Inside Cursor》这篇文章很有意思,作者 Brie Wolfson 刚在 Cursor “卧底”了 60 天,从她的角度写了她观察到的很多 Cursor 内部的事。 作者早期的 Stripe 和 Figma,这两家都是硅谷“现象级”的公司。 如果你对 Cursor 有兴趣的话,推荐看看。原文内容太长,以下内容为摘要式翻译。 探秘 Cursor:在 AI 时代,下一个“Figma”是如何炼成的? 如果你经历过一家“神级”公司的草创期,你就会对一种“魔法”般的气氛特别敏感。 作者 Brie Wolfson 就是这样的人。她曾在早期的 Stripe 和 Figma 工作,见证过它们如何从粗糙的办公室成长为估值数百亿的巨头。最近,她以一个“临时工”的身份“潜入”了 AI 编程工具公司 Cursor 几个月,结果让她大为震撼——她闻到了同样的味道。 她发现,Cursor 正在用一套极其独特、甚至有些“野蛮”的方式,试图在 AI 时代打造一家“世代相传”的公司。这种文化,你很难在别处看到。 1. “全员恶人”式的招聘:我们不招“岗位”,我们“收集”牛人 在大多数公司里,招聘流程通常是这样的:首先发现公司在某项能力上有缺口,于是发布一个职位,然后寻找一批候选人,再从这些人中挑一些来面试,最终选中一个人,安排好入职,等上几个月,新人终于来了。 Cursor 的招聘是:“发现一个牛人,然后全队扑上去。” 他们的逻辑是,秘诀在于把招聘流程中的基本单元当成是人,而不是某个职位的招聘要求(job spec)。整个过程堪称“不择手段”: 来源不限: 他们发现有个用户在斯德哥尔摩搞 Cursor 研讨会,就把他招来了;发现有个用户大半夜还在疯狂用 Cursor 写代码,也把他招来了。 “蜂群”战术: 一旦在 Slack 频道里锁定一个目标,大家就会蜂拥而上。没有专职 HR,而是由最懂这个人的团队成员去接触。 “骗”来再说: 对方说“我暂时不想换工作”?没问题。Cursor 会说:“那先来做个小项目玩玩?”或者“路过总部时,进来坐坐?” 惊喜面试: 所谓的“进来坐坐”,很可能就是一次“突袭式面试”。等你坐下,相关的人已经“恰好”都在场了。 死磕到底: 为了招一个德国的天才程序员 Lukas,创始人们先是飞到德国,被拒了。过了一年,他们又飞过去一次,这次终于把人带回来了。为了“搞定”另一个犹豫不决的候选人 Jordan,团队打听到她刚搬家,甚至联系了她的室内设计师,最后亲手送上了一台她正想要的浓缩咖啡机。 这套“野路子”的结果是,Cursor 成功地在极早期就聚集起了密度高到吓人的人才。 2. “高手,是不需要扶手的” 招来这么多牛人(全公司有 50 多个前创始人),怎么管? 答案是:不管。 作者提到了一个绝妙的隐喻:Cursor 办公室的楼梯非常陡,但没有扶手。 她问起这事,得到的回答是:“大家知道怎么上楼。” 这就是 Cursor 的核心文化:极度相信个体的能力和自觉。 在这里,“IC”(Individual Contributor,独立贡献者)是地位最高的角色。大家鄙视“PPT 汇报”和“向上管理”。就连创始人 Aman 也是个“骄傲的 IC”,每天缩在办公室角落里,专心致志地写代码。 公司没有开不完的会,作者甚至说 Cursor 有一种“口语文化”。你需要谁的帮助?别发 Slack,直接走过去“拍他肩膀”最有效。 这种环境让有能力的人如鱼得水。一个刚入职的销售说,他在上家公司(也是一家明星创业公司)熬了 30 天才被允许接触客户;在 Cursor,这个时间是 30 小时。 3. “在食堂,没人谈论天气” Cursor 的办公室不在什么高科技园区,而是在旧金山一个老街区。没有公司 Logo,没有团建海报,家具都是淘来的中古货,墙上堆满了书(而且是真的在看的那种)。 公司有个叫 Fausto 的大厨,每周六天为大家做午餐。 重点来了:午餐时,大家在聊什么? 创始人 Sualeh 说,他最担心的公司衰败迹象,就是“大家在吃饭时开始谈论天气。” 在 Cursor,午餐桌上聊的都是工作——项目进展、技术难题、对行业的奇思妙想。大家通过“如何思考”来认识彼此。这种氛围极具传染性。 这也引出了关于 Cursor 最著名的传闻:9-9-6。 作者的观察是:这根本不是公司规定,而是这群人“自发的”。 没人要求你加班,但当你身边的人都因为热爱而疯狂工作时,你也会被卷入这种“兴奋剂”般的节奏里。作者自己也承认,她会在周末和深夜工作,不为别的,只因为“我想,而且我想让我这帮牛逼的同事对我刮目相看。” 4. “像披头士一样吵架,用‘Fuzz’来找茬” 这群“有主见”的牛人聚在一起,怎么协作? 答案是:高强度的“建设性摩擦” (Constructive friction)。 大家会毫不留情地互相“找茬”和“挑刺”。作者形容这是一种“微观上的悲观主义,宏观上的乐观主义”——我们对执行的细节极度挑剔,但对最终的成功深信不疑。 创始人 Michael 甚至用了一个比喻,他希望公司像披头士乐队制作《Get Back》专辑时的状态。 如果你看过那部纪录片,就会懂:一群处于巅峰的大师,把自己关在录音室里,在巨大的压力和紧张的时间下,通过不断的碰撞、争吵、迭代,硬生生“磨”出了一张传世专辑。 这种魔力,不在于战略,而在于**“在过程中感受”**——手指始终放在乐器上,一遍遍地弹,直到它听起来对了为止。 Cursor 把这种“找茬”变成了制度,叫 "Fuzz"。 每次要发布重大更新前,团队会召集所有人(通常是在地下室),“来,咱们一起把它搞垮。” 所有人会花一个小时,像“松露猎犬”一样找出所有 Bug、UI 瑕疵和未考虑到的边缘情况。然后,产品团队会带着这张长长的“找茬清单”,通宵把它改完。 5. “我们不‘降低门槛’,我们‘提高天花板’” 在一个人人都想“AI 民主化”、“赋能所有人”的时代,Cursor 的选择显得非常“傲慢”。 他们明确表示:我们的理想客户,是这个世界上最优秀的那批专业开发者。 别的公司可以去“降低地板”(Lower the floor),让小白也能写代码。而 Cursor 的使命是 “提高天花板” (Raising the ceiling)。 他们相信,只有服务好那些“处在手艺巅峰”的人,被他们拉着走,才能真正“改变”软件的构建方式,而不是做一些“增量改进”。 这种哲学也体现在面试上:他们的编程挑战出了名的难。因为他们认为,“太简单的东西,根本没法让牛人展示自己有多牛。” 6. 为什么这么拼?“奖品”就是使命本身 最后,也是最让作者触动的一点:这群人这么拼,图什么? 作者在 Stripe 和 Figma 早期时,午餐桌上的热门话题是“发财后买什么房”、“环游世界”等等。 但在 Cursor,她惊讶地发现:几乎没人谈论钱。 尽管公司估值飞涨,但没人聊股票、豪宅或退休。 为什么?作者的结论是: “因为他们中的大多数人,就算明天就退休了,他们想做的事,大概率还是他们今天在 Cursor 做的这些事。” 对他们来说,“奖品”不是钱,而是**“完成使命”**本身。 他们真正关心的,是“代码”,是“代码生成作为世界构造的基石”。他们坚信,世间万物(红绿灯、科学发现、医疗记录)都运行在软件之上,而他们正在做的事,是真正提升人类构建这一切的能力。 这,或许就是作者所说的“魔法”的真正来源。 原文:
ginobefun
3个月前
#BestBlogs Claude Code 深度拆解:一个顶级 AI 编程工具的核心架构 | 大淘宝技术 文章深度拆解了 Anthropic 的 AI 编程工具 Claude Code 的核心架构、执行流程与关键技术细节,并介绍了心流团队基于其理念开发的 iFlow CLI 2.0。 摘要: 文章对 Anthropic 开发的终端 AI 编程工具 Claude Code 进行了深度技术拆解。首先,它介绍了 Claude Code 以交互层、执行层和核心引擎为核心的系统架构,并详细阐述了从用户提交命令到结果渲染的完整执行流程。随后,文章深入分析了各个关键组件:交互层如何处理用户输入并渲染 AI 响应;核心引擎如何管理消息、查询 AI 模型和调度工具;强大的工具系统如何通过统一接口与外部环境交互;以及上下文管理如何利用 LRU 缓存、按需加载和结果截断等策略,在有限的上下文窗口内提供最相关的信息。文章还分享了 Binary Feedback 测试机制、MCP 工具分层管理、AI 辅助安全检测、上下文压缩和高效文件系统策略等技术启发。最后,文章介绍了心流团队受 Claude Code 启发,基于 Gemini CLI 改造并融合其特性的 iFlow CLI 2.0,详细说明了其安装方式、多运行模式、SubAgent 功能、开放市场资源以及在代码开发、网站制作和 DeepResearch 等场景的应用。 主要内容: 1. Claude Code 的模块化架构是 AI 编程工具高效运行基石 -- 其交互层、执行层和核心引擎的清晰划分,确保了用户指令处理、AI 模型交互与工具调度的流畅与高效。 2. 上下文管理策略有效应对 LLM 长对话窗口限制 -- 通过 LRU 缓存、按需加载和结果截断等机制,智能管理代码上下文,保障 AI 在复杂项目中的理解力与响应速度。 3. 工具系统与 MCP 分层管理是 AI 编程工具扩展性核心 -- 统一的工具接口及全球/项目级配置管理,使 AI 能灵活调用外部能力,实现复杂任务并促进生态构建。 4. iFlow CLI 2.0 融合 Claude Code 特性提升国内开发体验 -- 基于 Gemini CLI 改造,引入多运行模式、SubAgent、上下文压缩及开放市场,为国内开发者提供高效 AI 辅助。 文章链接:
Barret李靖
3个月前
Andrej Karpathy 将软件发展分为三个阶段,Software 1.0,是通过编写计算机代码来解决问题,标志性产物是 Github;Software 2.0,神经网络扮演了重要角色,编程工作变成了训练和调参,通过调试不同的数据集,来修改神经网络每一层、每个节点的权重,标志性产物是 Hugging Face;而 Software 3.0 最本质的变化是,神经网络变得“可编程”了,且编程语言不再是传统代码,而是提示词,你可以通过自然语言跟大模型交互来找到问题解。 从写代码,到训模型,再到写提示词,软件的本质始终是:寻找让机器解决问题的最优表达方式。 再去看编程范式的变化,在神经网络出现之前,软件属于“确定性编程范式”,if A then B else C,逻辑规规矩矩,一条逻辑解决一个明确问题;而到了 LLM 时代,演进成了“概率性编程范式”,软件输出结果由权重叠加完成,可能性变多了,能解决的问题也更多、更大、更复杂,因此未来大量的长尾需求也会得到好的满足。 回到人机交互这个命题,问题也随之而来,代码过于精确(输入高成本),而自然语言过于模糊(输出低质量)。要做好人机交互,需要有一层规约(Specification),把事情有条理地讲清楚。事实上,我们日常的需求拆解、需求澄清,其实就是在“写 spec”,它的价值不在于文档本身,而在于帮助人类和机器对齐意图。这也是为什么越来越多的 AI 编程工具(如 Kiro Spec、Trae Solo)本质上都在探索新的 spec 模式。 可以预见,当机器拥有更强的“自主意识”、能够解决更复杂的问题后,未来的人机协同、机机协同也会变得频繁,要解决“人-机-机”三方协同问题,软件工程的核心势必会转向定义规则、目标与价值观上。对工程师来说,或许就是,从编码切换到写规则。
池建强
3个月前
我这半年看过最好的 Vibe Coding 技巧 上周 OpenAI 的创始成员 Andrej Karpathy 在 X 上发了一条长长的推文,继续阐述自己在 Vibe Coding 方面的实践。 这次他开门见山的表示,不要幻想有一个万能的 AI 工具能解决所有编程问题,更可行的做法是建立一个三层结构,让不同的工具在不同场景各司其职,像接力赛一样完成开发任务。 1 在 Karpathy 的日常开发中,大约四分之三的时间最依赖的依然是 Cursor 的自动补全。这里面有一个细节很有意思:Karpathy 并不是依赖自然语言提示去驱动 AI 写代码,而是更习惯在代码里写注释、写片段,用“演示”的方式告诉模型你想要什么。这种方式带宽更高、意图更明确,也避免了上下文缺失造成的偏差。不过他也坦言,有时候 Cursor 太“热情”,会补全一大段并不需要的内容,打断思路。所以他会频繁地开关这个功能,就像和一个“话痨搭档”保持距离。 2 当遇到更大块的功能需求,或者不太熟悉的领域,Karpathy 就会把舞台交给 Claude Code 或 Codex。这类工具更适合快速生成一大段可用的代码实现,尤其是在写 Rust、SQL 这样的语言时,可以立刻把复杂的逻辑搭出来,调试和可视化也能很快跑通。这次他提到一个新词——“后代码稀缺时代”。在这个时代,生成和删除代码都变得轻而易举,代码从来不再是稀缺资源,实验和探索的成本被大幅降低。你想尝试一个新思路?直接让 AI 写一版,跑不通就删掉,重新来过。 不过,AI 写出来的代码质量往往“不够优雅”。Karpathy 给的例子很具体:喜欢堆砌复杂的抽象、滥用 try/catch、写得又长又冗余、缺乏工程品味。这种时候,他需要手动清理,像给新人代码做 code review 一样,把那些不符合自己风格的部分剔除掉。更有意思的是,他还尝试让 Claude 在写代码的同时顺便“上课”——解释为什么这么写,或者帮忙做超参数调优,但这根本不起作用——它真的想写代码,而不是解释任何东西。这从侧面也说明,AI 现在很擅长写东西,但讲解和教学还远没到位。 3 当自动补全和 Claude 都不管用的时候,Karpathy 的“终极武器”是 GPT-5 Pro。他的做法很简单:把一整个疑难问题丢进去,让模型“沉思十分钟”,然后再看答案。很多时候,GPT-5 Pro 能给出人工难以发现的 bug 线索,或者在抽象优化和文献综述中提供独到见解。换句话说,这是他的“救火队长”。 这种三层结构的组合,让 Karpathy 的工作流更像一套生态。轻量需求靠自动补全解决,大规模生成交给 Claude 或 Codex,难题交给 GPT-5 Pro。相比依赖单一工具的思路,这更接近真实的开发场景,也更符合 AI 发展的现状。 在这条推文里,他还谈到“后代码稀缺时代”的焦虑。代码不再稀缺,但人的精力依旧有限。工具更新太快,总让人担心自己是不是落伍了,会不会错过了最前沿的可能性。他把这种状态称为“周日胡思乱想”。 这正是当下许多开发者共同的心态。我们既兴奋于生产力的突飞猛进,又害怕自己无法驾驭这匹充满野性的骏马。 对普通开发者和使用 Vibe Coding 的普通用户来说,这里面有几个启示: 首先,要放弃寻找完美工具的幻想,建立自己的工具组合。不同的任务难度需要不同的 AI,像调动一个虚拟团队一样,谁擅长什么就用谁。 其次,要学会用“代码里的意图”而不是“自然语言的空话”去驱动模型,把注释和片段当作沟通语言,这样效率更高。 最后也不要忽视清理的过程。AI 生成的东西往往像半成品,需要你用工程师的直觉和审美去打磨。 写到这儿我想起一句老话:工欲善其事,必先利其器。只是到了今天,器不再是一把锤子、一个 IDE,而是多个快速迭代的 AI 工具。它们不再是静止的工具,而更像一群性格迥异的搭档。我们需要学会和它们合作,学会在噪音里保持判断,学会在洪流中找到自己的节奏。