AI编程:提升效率与扩展职业边界的新工具
AI编程:提升效率与扩展职业边界的新工具
AI编程是目前大模型能力最强的垂直领域之一,通过AI编程,开发者不仅可以提升工作效率,还能快速学习新技术,扩展职业边界。本文将详细介绍如何使用AI辅助编程,以及AI编程的未来发展方向。
目标
- 如何用AI辅助编程,提升工作效率
- 如何用AI快速应用和学习新技术,扩展职业边界
- 通过AI编程,洞察AI对各个行业的影响
趋势
产品与技术的联通+业务视角 = AI全栈工程师
AI编程
使用AI编程(编程目前是大模型能力最强的垂直领域),除了解决编程问题以外,更重要是建立AI意识,形成对AI的正确认知。通过AI编程,了解它的能力边界,使用场景,类比出其他领域怎么用好AI,找到能力边界
示例流程:
向ChatGPT提需求、ChatGPT整理需求内容、生成项目代码框架、挨个生成具体需求的代码
适用条件
技术我懂,不想自己写
- 快速完成重复性工作
- 知道是怎么回事,但需要费费脑子写出来
技术不大懂,让AI先搞,自己边用边学
- 当心AI犯错
- 当心给的不是最佳方案(可以试试提要求,就要最好的)
本质:提示工程
- 想让AI做什么,就先给它定义一个最擅长做此事的角色
- 用好思维链,结果更准确(大任务非常容易超过token数量限制;过程正确有助于结果正确)
- 如果可能,用英文撰写核心prompt。会比中文成功概率更大
- 一切技巧,都是为了让prompt里的信息更丰富、具体、准确
经验总结
GPT-4是目前最强的编程大模型,没有之一。第二强是GPT-3.5,剩下的非不得已不要用
对话界面
- 首选购买ChatGPTPlus,使用GPT-4o/GPT-4
- 次选ChatGPT3.5+三个风格的BingChat
- 再次选,CopilotChat。简单任务可优先交给它,体验更好
- 别太依赖上下文,尽量在最近5轮对话内覆盖所有信息,时不时重新开始对话
- 新技术的使用,老实看文档更好
IDE中首推GitHubCopilot
- 主要用来快速补全代码、注释
- 别用写注释出代码的能力,不如把注释当指令丢给ChatGPT
- Copliot生成测试用例很好用
国内平替Copilot,CodeGeeX
其它工具
- bito,基于GPT-3.5的代码补全,免费。CLI工具挺好
- AmazonCodeWhisperer,代码补全,免费
- Cursor,AI-first的IDE
- Tabnine,代码补全,个人基础版免费
典型使用场景
- 给出需求,获得技术选型建议
- 完成全局框架搭建,比如:工程框架,类的框架(不建议框架和功能一起完成,容易超过GPT处理能力)
- 完成局部小型任务。比如:一个函数,正则表达式,全套try-catch,对某API的调用等
- 对已有代码改写,比如:加功能、注释、测试用例,让代码更易读、易维护、更安全
- 根据错误信息改bug
- 解释代码,辅助阅读代码
- 开发工具使用,比如:VSCode配置,各种命令行参数
- 询问技术问题
CodeInterpreter(内置Python虚拟机)是目前制高点
- 它能自我修正代码
- Python项目可以狠狠依赖它
- 其它项目可以先让它用Python写,然后翻译成别的语言
看未来
给出想让GPT构建的内容,AI会反问以澄清、得到具体的内容,最后进行构建
安装与使用方式:
pip install gpt-engineer
vim prompt
gpt-engineer .
核心prompts:https://github.com/gpt-engineer-org/gpt-engineer/tree/main/gpt_engineer/preprompts
评价:啥都能干,就是不精
源代码:https://github.com/wasp-lang/wasp/tree/wasp-ai
用Wasp,React,Node.js和Prisma生成全栈Web应用程序。
纯在线操作,跟着提示下载到本地执行。
核心prompts:https://github.com/wasp-lang/wasp/blob/wasp-ai/waspc/src/Wasp/AI/GenerateNewProject/Operation.hs
评价:限定了框架,用参数做配置,提供框架代码,成品率高
- MetaGPT:多智能体元编程框架
使用GPTs组成软件公司,协作处理更复杂的任务
官方说明:
- MetaGPT输入一句话的老板需求,输出用户故事、竞品分析、需求、数据结构、APIs、文件等
- MetaGPT内部包括产品经理、架构师、项目经理、工程师,它提供了一个软件公司的全过程与精心调配的SOP
会写代码、文档、画图等
核心prompts:https://github.com/geekan/MetaGPT/tree/main/metagpt/prompts
评价:agent模拟岗位的思路挺好玩
从AI编程看AI当前上限
- 能解决很多问题,但也会有误导
- 不稳定持续存在
- 人工确认必不可少
所以:
- 客观看待AI,别神化
- 合格的确认官很重要