专栏名称: 海外独角兽
研究科技大航海时代的伟大公司。
目录
相关文章推荐
海外独角兽  ·  专访张祥雨:多模态推理和自主学习是未来的 ... ·  21 小时前  
百度智能云  ·  百度沈抖:全栈自主可控,为应用而生 ·  2 天前  
白鲸出海  ·  半年冲刺500万美元ARR,华裔00后打造永 ... ·  2 天前  
51好读  ›  专栏  ›  海外独角兽

5 万行代码 Vibe Coding 实践复盘:最佳实践、关键技术,Bitter Lesson

海外独角兽  · 公众号  · 科技公司  · 2025-06-05 20:00

正文

请到「今天看啥」查看全文


prompt:你是一个 ai coding 助手,你将根据用户任务编写爬虫程序,你的重要信息来自于 memory.txt 中的 html dom 信息,请你必须遵守 dom 信息来写爬虫。


Cline 开始一次执行每一个 domain sop 中的 task。这里的 task 其实对应的是 Cline 现有架构中的 user task。新架构相当于在更高维度抽象出来了 task 结构。在现有架构下,Cline ai 处理一个用户的端到端任务,而在新架构下,每一个 ai 只处理属于它的那部分 task,多个 ai 组合起来完成用户任务,这就是 multi agent 架构!


Cline 执行完成 task1 之后,让 ai 执行 task_completion 工具,然后新架构自动选中下一个 task2 开始执行,直到最后一个 task 执行完成为止。


请你在实现新架构的时候:

不要修改 Cline.ts,这个文件太大了,你改不动。如果要修改,请你给我建议,我来手动修改。


新增一个 domainsop 文件夹,把新架构文件放到里面去。不要修改任何现有的文件!尽可能通过新增文件实现新功能。


注意模块化,每一个文件尽可能小,单一原则。


尽可能向后兼容,新架构与旧架构用一个开关可以自由切换

利用好 Cline 现有的处理 user task 的大逻辑,不要绕开它去与 ai 交互。Cline 旧架构的 user task 逻辑,要映射成为新架构中 domain sop 下的一个 task。


请你一步一步来,不要尝试一次性输出所有代码。


第一步任务:先把现有的 Cline 的 tools 抽象出来,变成可以动态插拔注册。等你完成 tools 抽象,再实现 sop 和 task 的抽象。



滑动查看全部内容


AI Coding 最佳实践


要充分发挥 coding agent 的潜力,并使其真正成为提升工作效率的得力伙伴,掌握正确的使用方法和培养积极的心态至关重要。


实践出真知: 这是学习和掌握任何新工具不变的真理。只有亲身实践,才能深刻理解 coding agent 的特性、优点和局限性。建议从实际工作中的小任务开始尝试,逐步挑战更复杂的场景。


理论联系实践: 读一读 Cline 的源代码,单步调试一下核心的流程,打印一次 api 调用中 AI 的 input 和 output message 分别是什么,会非常有助于你理解 coding agent 的原理,从而更好地指导你的实践。其中, system.ts src/core/task/index.ts 2 个文件是必读的


选用最强模型: 在条件允许的情况下,尽量选择当前能力最强的 AI 模型。例如,在 Cursor 中,优先使用 Claude 3.7 Max 或 Gemini 2.5 Pro Max 等顶级模型,它们通常能提供更准确、更智能的辅助;


提供充分的上下文: 与 coding agent 交流,本质上与人沟通类似。当遇到 AI 执行任务失败或结果不理想时,首先应反思是否提供给 AI 的上下文信息不够充分或存在歧义。清晰、完整、准确的上下文是获得高质量输出的关键;


拥抱“Agent 模式”: 如下文所述,务必开启并坚持使用 Agent Mode。这能让你体验到 coding agent 工具的核心功能,并在实践中积累宝贵的经验。


培养积极的协作心态: 关键在于思考“如何才能让 AI 更好地为我所用?”,而不是试图证明“AI 在某些方面不行”。要找出 AI 的不足之处很容易,每个人都能举出很多例子,但这种做法对于提升认知和解决问题并无益处。更有效的方法是分析 AI 失败的原因,并尝试配合 AI 一起解决问题。




02 .


Coding Agent

的关键技术


Coding Agent 的代表有 Cursor,Cline,GitHub Copilot,Windsurf(刚被 OpenAI 收购)等。注意:有些 coding agent 产品默认并没有开启 Agent 模式,请根据使用方式来区分你是否真的在使用这些产品的 agent 能力。



强烈建议大家在实践中开启并坚持使用 Agent 模式。 虽然初期可能需要一定的适应和学习,但这种投入对于掌握未来编程范式而言是值得的。其中,Cline 本身就是 Agent 模式,不用选择模式,直接用就可以,GitHub Copilot 和 Cursor 则需要专门设置。


GitHub Copilot 打开 Agent 模式:vscode- settings,在搜索栏里输入 agent,在出现的选项中,把 Agent:Enabled 打勾


Cursor 打开 Agent 模式:很简单,在输入窗口下拉中直接选择模式


我个人判断:Coding Agnet 关键技术是:Model, Context 和 Tools。


为什么我认为这三点最重要? 可以将 Coding Agent 类比为一个公司,而其背后的 AI 模型则是一位员工。


一个公司要让员工发挥最大价值,通常需要:招聘最强的员工,在布置任务时提供“充分且必要,外加反馈闭环”的上下文信息,并为其配备一套强大的工具链。


以上是“公司如何发挥人类员工最大价值”的答案,Coding Agent 的关键技术也遵循同样的逻辑:


AI 的“大脑”:模型(Model)


越聪明越好,目前最强的编程模型是 Cursor 官方调教的模型:Claude 3.7 Max(作者注:本篇文章写于 2025 年 5 月初),以及 Gemini 2.5 Pro Max,两者都在 Cursor 收费版中可以使用。


AI 的“工作记忆”:上下文(Context)


对于 AI 来说,Context 相当于是 AI 看到的信息全集,context 由很多部分组成:


1. System prompt:告诉 AI,你是什么角色,你有什么工具(write to file, read file, shell,browser use)可以使用,Cline 的 system prompt 有 1000 多行,节选如下:



2. User prompt:用户输入的任务,用户临时给的反馈,等。


3. Feedback loop:每一次 tool 使用的 result,用户的反馈等,Cline 的 user prompt 节选如下,assistant 代表 AI 说的话和做的事情,user 代表用户给 AI 的反馈:



AI 的“工具链”:工具(Tools)

常规的 tool 比如 write to file, read file, execute shell 等,是各大产品的标配。但有一些 tool 是各自的特色,也是各种 Coding Agent 之间能力的本质区别,比如:


1. Cursor 自带了互联网搜索工具: web_search 当你想要 Coding Agent 处理一个非常新的技术(比如 MCP),AI 模型有可能没有 pre-train 这个知识,于是他会胡乱回答。这时候你可以让他搜索互联网确认最新的技术文档和最新的开源代码,他会迅速掌握这个新知识,接下来就可以写出正确的代码了。


2. Cursor 拥有语义搜索工具: codebase_search 这是 Cursor 能够驾驭 10w 行代码以上大型工程的核心能力之一。


3. MCP:各家都支持,但是有优劣,Cline 支持最好,Cursor 其次,GitHub Copilot 有待优化。


4. Cline 自带 browser use 工具:browser action 工具让 Cline 可以访问互联网,基于浏览器进行工作,底层基于 puppeteer。


理解这三个核心组成部分(强大的模型、充分的上下文以及高效的工具)是掌握和有效利用 coding agent 的关键。


接下来我会展开讲一下 Coding Agent 的几个关键的 tool:语义搜索 和 MCP


语义搜索工具:codebase_search


AI 要掌握一份中大型代码,搜索是一个很重要的能力。在编程领域,代码搜索大致分两种技术:关键词搜索和语义搜索。


关键词搜索就是大家今天每天都在用的搜索方式,我们可以在 Vscode 或者 Cursor,点击搜索按钮,输入关键字进行搜索。但假设我们要在上万行的 Cline 代码中查找“Cline 的浏览器配置是什么?”,如果直接输入这个查询语句,vscode 无法返回任何结果:



与关键词搜索不同,语义搜索侧重于理解用户查询背后的上下文含义和意图,而不仅仅是匹配关键词 。


它力求像人一样理解查询的深层含义,从而提供更相关的结果。例如,当用户搜索“什么 AI 可以做视频通话?”,搜索引擎返回的结果并非基于“视频通话”的字面完全匹配,而是理解了用户的真实需求。


搜索引擎用的就是语义搜索技术,如果我们用 Google 搜索:“什么 AI 可以做视频通话?”,结果如下:



Cursor 的语义搜索工具


Cursor 总共给 AI 配置了 5 个 search 工具:



其中本地文件搜索的主要是 2 个:


语义搜索工具 codebase_search(Cline 没有这个工具)

传统的文本搜索工具 grep_search(Cline 拥有类似的工具)


Cursor 的语义搜索有什么用?


做一个简单的测试,用 Cursor 打开 Cline 的源代码,index 完毕后,提出一个纯语义的模糊指令“我想请你搜索一下:Cline 的浏览器参数是如何指定的?”


Cursor 直接调用了 codebase_search 工具,输入的参数是纯语义级别的模糊自然语言“How are Cline browser parameters specified or configured?”,Cursor 返回了相关的语义级别的代码片段给 AI 看,然后 AI 总结出了答案,如下:








请到「今天看啥」查看全文