原创 南乔River 2024-09-04 00:00 北京
日报关键词:?最常用AI编程工具清单(2024);?AI编程能力权威排行榜;?AI Coding 提示词大全;?挖掘 LLM 的编程能力极限;?AI编程工具使用体验与吐槽……点击阅读原文
ShowMeAI
专业◎洞察◎清晰◎实用
用知识加速每一次技术进步!
推荐语
今天日报主题是「AI编程」
Cursor 最近的爆火,说实话有点出乎意料 ?
它不是新产品,没到所谓的「ChatGPT时刻」
更不是 Devin 那种被吹上天的「神级应用」
它是这个赛道开始转向务实的风向标吗?
不过!这的确是 AI Coding 的里程碑事件
让我们重新聚焦这个领域 ?
看看 GPT-4 发布一年半之后
这个被寄予厚望的行业
到底发展到什么程度了 ?
公众号菜单栏底部有星球入口
添加南乔 (AhaNanQiao) 好友进社群!
目前最流行的AI编程工具:LLMs & IDE 插件 & 代码编辑器 & …
我扒了很多工具站、排行榜、测评视频和文章,汇总整理了当下最主流的 AI Coding 工具,并按形式分成了8个类别。
如果你想 Get 当下最好用、最热门的AI编程工具,可以 Follow 下面的清单 ?
需要注意的是,AI编程工具非常非常多!!而且新产品还在源源地不断冒出来。
不过,它们的主要用户仍是程序员,主要目标仍是优化工作流。对于非技术同学来说,上手和实际应用仍有门槛。
LLMs
OpenAI gpt-4
OpenAI gpt-4o
Anthropic claude-3.5-sonnet
DeepSeek Coder V2
Meta llama-3.1
Google gemini-1.5-pro
Mistral Large
Qwen2 72B
Yi-Large
GLM-4
Chatbot
ChatGPT:https://chatgpt.com
Claude:https://claude.ai
DeepSeek:https://chat.deepseek.com/coder
网页工具
Adrenaline AI:https://useadrenaline.com 快速获取编程问题的答案
Devv.ai:https://devv.ai 最懂程序员的新一代 AI 搜索引擎
MutableAI:https://wiki.mutable.ai 为代码库生成高质量的文档
V0 Dev:https://v0.dev/chat 生成UI,提出问题,debug,执行代码等等
在线IDE
Replit AI:https://replit.com/ai
豆包 MarsCode:https://www.marscode.cn (字节跳动)
代码编辑器
Cursor:https://www.cursor.com
Zed:https://zed.dev
插件
Amazon CodeWhisperer:https://aws.amazon.com/codewhisperer
Amazon Q Developer:https://aws.amazon.com/cn/q/developer
AskCodi:https://www.askcodi.com
Codeium:https://codeium.com
CodeGeeX:https://codegeex.cn (智谱)
Codiga:https://www.codiga.io
CodiumAI:https://www.codium.ai
Cody:https://sourcegraph.com/cody
Continue:https://www.continue.dev
Figstack:https://www.figstack.com
GitHub Copilot:https://github.com/features/copilot
JetBrains AI Assistant:https://www.jetbrains.com/ai
Supermaven:https://supermaven.com
Tabnine:https://www.tabnine.com
通义灵码:https://tongyi.aliyun.com/lingma (阿里巴巴)
命令行工具
Aider:https://aider.chat
终端工具
Plandex:https://plandex.ai
Warp:https://www.warp.dev
产品地图 (2023年版)
全网搜索,只找到了2张还算「靠谱」的 AI Coding Tools 产品地图,而且还是2023年版本。
可见,市场在过去一年的时间里,对这个领域的关注度的确不算多。
链接 → https://synaptic.com/resources/the-overflowing-stack-ai-coding-tools
链接 → https://github.com/czelabueno/ai-assisted-coding
高清图放在星球和群里啦
AI Coding 权威排行榜 & 测评站:治好了我的选择焦虑症
社群经常被问的话题之一,就是「到底哪个模型的编程能力更好啊」?
我把大佬们回答里提到最多的排行榜和测评网站,进行了梳理 ?
LMSYS Chatbot Arena Leaderboard
这应该是全网最权威的 LLM 能力排行榜。(没有之一?) 分类详细,排名客观。
选择「Coding」分类,就可以看到当下 136 个编程模型的能力排名。
链接 → https://lmarena.ai/?leaderboard
Aider LLM Leaderboards
Aider 是一个 AI 辅助编程工具。
为了更好地掌握和发挥各家 LLM 的编程性能,Aider 官方进行了专项测评,并公布了排名 ?
如果你想了解各家 LLM 的代码编辑能力、代码重构能力到底如何,可以参照 Aider 网站的排名。
链接 → https://aider.chat/docs/leaderboards/
SWE-bench
SWE-bench 源自普林斯顿研究团队开发的一项评估框架 (数据集),用于测试系统自动解决 GitHub 问题的能力。
SWE-bench 评估框架在不断优化,排行榜也在积极更新,是AI编程能力评估的重要参考!
经常有新产品,依靠在 SWE-bench 优秀的砍分表现而声名鹊起 ? 这个榜单值得常刷 ?
链接 → https://www.swebench.com
Modern Coding
这是一个测评网站。
作者对AI辅助开发工具进行分类后,按照开源、IDE 兼容性、价格、语言兼容性等用户最关心的视角,进行了全方位测评。
以下是对模型&工具的分类维度,覆盖了几十款常用 AI Coding 模型和产品。如果你正在犹豫怎么选,可以逛逛这个页面~
代码自动补全工具
命令行工具
智能终端/Shell工具
视频编辑工具 (?)
变异测试工具
增强型IDE工具
作者好像还在更新,追踪下 → https://zackproser.com/blog/ai-assisted-dev-tools-compared
Gartner Magic Quadrant
Gartner 最近发布了「AI编程助手」的 Magic Quadrant 报告,评估了全球多家技术供应商的市场地位,并给出了详细的评选标准和解读。
鉴于 Gartner 影响力非同一般,这张四象限图值得重视。
尤其,据 Gartner 预测:
到2027年,使用 AI 增强软件开发生命周期各个阶段的工程团队数量,将从 5% 增加到 40%
到2028年,使用AI辅助编程的企业软件工程师,将从 14% 上升到将近 90%
详细报道 → https://www.gartner.com/doc/reprints?id=1-2IKO4MPE&ct=240819&st=sb
2024年程序员最常用的AI工具清单!以及使用心得 (和激情吐槽)
这是国外知名网站 Pragmatic Engineer 面向 200+ 软件工程师进行的一份调研,并在7月份发布了调研结果。
整份调研报告,围绕以下几个核心问题展开:
开发者们都在使用哪些AI工具?
开发流程哪些环节被AI有效增强?
AI在哪些方面确实帮助良多?
AI在哪些方面还存在着问题?
最受开发者欢迎的 AI 工具
ChatGPT 和 GitHub Copilot 是绝对的「人气王」,占比遥遥领先 ?
谷歌 Gemini、Anthropic Claude、JetBrains AI、Tab9、Cursor、Codeium、Cody、CodiumAI 等紧随其后。
可以看到,工程师们除了使用AI编程工具,也在尝试把AI搜索 (Perplexity / Phind / BingAI)、AI文档 (Notion AI) 等工具融入到自己的开发工作流里~
? 帮助很大
在调研问卷中,开发者们非常积极地描述了 AI编程工具给自己带来的震撼和改变。
根据问卷和报告,日报整理了有着10年、20年、30年开发经验的老手们,是如何看待和使用AI的:
? 最实用的编程场景:
将聊天机器人与公司内部文档进行集成
代码 (库) 解释和风格适应
代码生成,尤其是目标明确的场景
自动补全
不同编程语言之间的代码翻译
生成单元测试
? 学习与研究助手:
了解编程概念、语法和用例
搜索相关库、框架、技术信息
探索新的技术领域
作为配对编程工具,帮助寻找解决方案
是可互动的「橡皮鸭」,向AI详尽描述问题,就可以获取灵感和答案
? 帮助启动工作:
构建产品原型/初步版本,完成基础功能展示和测试
构建 POC (proof-of-concepts),验证概念的可行性
生成项目的样板代码或脚手架
理解新的代码库
探讨遇到的问题
? 有待改进
当然,受限于大模型能力、AI工具使用体验等因素,开发者们也有很多「抱怨」:
? 吹得天花乱坠却没能及时实现:
GPT-4 之后一年多的时间里,LLM 技术进步缓慢,改进有限
即便 GitHub Copilot 接受度已经首屈一指,但其编程建议的准确定仍然有待提高
处理简单常规的任务时,表现尚可;处理复杂代码库时,表现差
用例有限,应用场景狭窄,且可能引入了隐蔽错误
构建复杂功能时,尤其费时费力
可靠性一般,生成的代码可能存在缺陷
? AI生成的代码不放心直接用:
AI生成的代码不能直接复制粘贴,必须经过一次人工验证
对新手开发者并不友好。初级开发者没有足够的判断力,很难识别出AI生成结果中的错误
过度依赖AI,可能会削弱年轻一代解决问题的能力
? 学习成本高,上手时间长:
掌握AI工具操作技巧,需要投入大量时间和精力
具备专业知识&明确的目标,才能获得有效的响应
表现时好时坏,准确性不稳定
? 在以下场景里表现更差:
在处理 LLM 训练数据未涉及的场景时,容易出错
难以全面理解自定义技术栈和新颖架构
通常只能关注到文件级别,缺乏对项目整体上下文的把握
不适合用来头脑风暴,生成的想法很难区分哪些对业务真正有帮助
“AI Tooling for Software Engineers in 2024 - Part 1 → https://newsletter.pragmaticengineer.com/p/ai-tooling-2024
Part 2 → https://newsletter.pragmaticengineer.com/p/ai-tooling-part-2
完整且实用 AI Coding 提示词大全:从项目规划、代码生成到测试优化全流程
你也想试试AI的辅助编程能力,或者玩一玩各种 AI Coding 工具,但是不知道从何处下手?? ?
那么!可以看这个系列的文章!!
作者有着丰富的编程经验 & AI使用经验,不仅总结了一套高效实用的「AI Coding Workflow」,还把每一步最常用的 Prompt (提示词) 都分享出来了 ❤
你只需要复制,然后直接套用就好了啦!
AI Coding Workflow
以下就是作者总结的 AI 编程工作流,是经验范围内最有效的AI使用方式:
Part 1: 基础准备
从清晰的规范开始:尽可能清楚地定义想要构建的内容
Part 2: 构建主体
生成初始代码:使用详细的提示词,让 AI 生成初稿
检查并理解:仔细阅读代码,确保理解其各个部分
迭代和细化:向 AI 提问,并寻找优化和替代方案
Part 3: 润色与维护 (作者还在更新中)
测试和调试:使用 AI 生成单元测试并完成调试
优化和重构:代码运行后,使用 AI 提出优化和重构建议
文档:使用 AI 帮助生成清晰的代码文档
Part 1: 基础准备 - 场景&提示词
开发环境准备
启动阶段的常用提示词
项目启动&规划
为AI助手构建知识库
将项目拆分为易于管理的组件
规划项目路线图
项目规划阶段的更多常用提示词
项目架构设计
Think Step-by-Step 提示词的妙用
根据AI的建议进行迭代
将架构决策整理成文档
架构设计阶段的更多常用提示词
Part 2: 构建主体 - 场景&提示词
代码生成
代码生成提示词
代码审查并理解
代码改进与优化
其他常见编程任务的提示词
数据库设计与查询优化
设计数据库架构
架构优化
制定优化查询
其他数据库相关任务的提示词
AI辅助数据库性能调优
制作文档
利用AI生成文档
精炼AI生成的文档,提高准确性
不同类型文档的制作提示词
编写动态文档
部分提示词样例
日报以「代码生成」部分为例,带你看看作者给出的提示词样例。(直接可用!作者赛博神仙!
需要注意的是,作者给出的提示词和说明解释超级完整,所以文章超级长!!
如果需要,可以直接阅读原文,然后 copy 保存~
代码生成
I need to implement [specific functionality] in [programming language].Key requirements:1. [Requirement 1]2. [Requirement 2]3. [Requirement 3]Please consider:- Error handling- Edge cases- Performance optimization- Best practices for [language/framework]Please do not unnecessarily remove any comments or code.
Generate the code with clear comments explaining the logic.
代码审核
Can you explain the following part of the code in detail:[paste code section]Specifically:1. What is the purpose of this section?2. How does it work step-by-step?
3. Are there any potential issues or limitations with this approach?
代码优化
Please review the following code:[paste your code]Consider:1. Code quality and adherence to best practices2. Potential bugs or edge cases3. Performance optimizations4. Readability and maintainability5. Any security concerns
Suggest improvements and explain your reasoning for each suggestion.
实现特定算法
Implement a [name of algorithm] in [programming language].Please include:1. The main function with clear parameter and return types2. Helper functions if necessary3. Time and space complexity analysis
4. Example usage
创建类或模块
Create a [class/module] for [specific functionality] in [programming language].Include:1. Constructor/initialization2. Main methods with clear docstrings3. Any necessary private helper methods
4. Proper encapsulation and adherence to OOP principles
优化现有代码
Here's a piece of code that needs optimization:[paste code]
Please suggest optimizations to improve its performance. For each suggestion, explain the expected improvement and any trade-offs.
编写单元测试
Generate unit tests for the following function:[paste function]Include tests for:1. Normal expected inputs2. Edge cases3. Invalid inputs
Use [preferred testing framework] syntax.
“AI-Assisted Software Development: A Comprehensive Guide with Practical Prompts (Part 1/3) → https://aalapdavjekar.medium.com/ai-assisted-software-development-a-comprehensive-guide-with-practical-prompts-part-1-3-989a529908e0
Part 2/3 → https://aalapdavjekar.medium.com/ai-assisted-software-development-a-comprehensive-guide-with-practical-prompts-part-2-3-02484af85dd7
一起等作者第 3 篇的更新 ⏰
跟着资深算法工程师学AI:50次对话,挖掘 LLMs 编程和研究能力的极限 (附完整 Prompt)
作者 Nicholas Carlini 是一位真真正正的技术大佬!
在 MIT 念完 CS+Math 本科后,又拿到了 MIT 博士学位,随后进入大名鼎鼎的 Google DeepMind 工作担任科学家,研究方向还是自然语言处理!!
他上个月的一篇博文「How I Use "AI"」非常出圈 ? 是他使用 LLM 进行编程和研究的实例分享。
大佬把 LLM 能力玩出了新境界 ?
任务示例
作者给出了每项任务的完整对话过程,对应 ? 上图灰色框中的 User
和 Assistant
(预警:有些对话超级长长长长长!!
日报整理了文章示例所属的任务类型。
作者专门指出,这些互动只是他过去一年 AI 实践的「冰山一角」?
如果你有感兴趣的提示词,或者想看看大佬是怎么玩AI的,强烈推荐阅读原文!
构建一个完整的 Web 应用。作者用 GPT-4 构建了一个在线测试小工具,并获得了超过千万次的页面浏览量。
学习新技术。通过与模型的互动式对话,学习 Docker、Flexbox 和 React 等新技术。
开启新项目。借助AI快速获取新项目或者新论文所需的样板代码,尤其是框架不熟悉的场景里。
简化代码。遇到复杂的大型代码库,用AI进行简化后更容易理解。
单调任务的自动化。把单调且简单的任务交给AI,比如数据格式化等。
提升用户专业度和效率。在AI的帮助下,普通用户也可以像专家那样完成很多工作。
API Reference。通过 AI 获取特定工具或命令的使用信息,不必再翻看查找文档。
搜索。AI搜索效果比传统搜索引擎好很多。
解决一次性的任务。只需要运行一次的小脚本或程序,用AI编写起来省时又省力。
常见任务的解决方案。你遇到的大部分任务,都已经发生并且有解决方案了,而这部分是 LLM 最擅长的。
修复常见错误。编程中遇到问题时,通过 LLM 问答往往比传统搜索更高效。
……
几句掏心窝的话
LLM 不能做的事情很多,但可以做的事情也很多。要把目光更多放在后者。
五年前,最好的 LLM 也只能写出一段似是而非的英语。而现在,LLM 的能力已经有了实质性的巨大飞跃。
这轮 LLM 浪潮有炒作的成分,但已经达到了可用的程度。人类要努力挖掘其中的价值。
作为一个有 20 年编程经验的资深 AI 从业者,作者的生产力在 LLM 的帮助下,得到了显著拉升。以此推测,大部分人都有从AI获益的巨大潜力。
“How I Use "AI" → https://nicholas.carlini.com/writing/2024/how-i-use-ai.html
THE END
转载原创文章请添加微信 AhaNanQiao
↓ 分享·收藏·在看·点赞