第四期 AI 编程

目标

  1. 如何用 AI 辅助编程,提升工作效率
  2. 如何用 AI 快速应用和学习新技术,扩展职业边界
  3. 通过 AI 编程,洞察 AI 对各个行业的影响
 

趋势

产品与技术的联通+业务视角 =AI 全栈工程师

AI 编程

使用 AI 编程(编程目前是大模型能力最强的垂直领域),除了解决编程问题以外,更重要是建立 AI 意识,形成对 AI 的正确认知 。通过 AI 编程,了解它的能力边界,使用场景,类比出其他领域怎么用好 AI,找到能力边界
示例流程
向 ChatGPT 提需求、ChatGPT 整理需求内容、生成项目代码框架、挨个生成具体需求的代码

适用条件

  1. 技术我懂,不想自己写
    1. 快速完成重复性工作
    2. 知道是怎么回事,但需要费费脑子写出来
  2. 技术不大懂,让 AI 先搞,自己边用边学
    1. 当心 AI 犯错
    2. 当心给的不是最佳方案(可以试试提要求,就要最好的)
本质:提示工程
  1. 想让 AI 做什么,就先给它定义一个最擅长做此事的角色
  2. 用好思维链,结果更准确(大任务非常容易超过 token 数量限制;过程正确有助于结果正确)
  3. 如果可能,用英文撰写核心 prompt。会比中文成功概率更大
  4. 一切技巧,都是为了让 prompt 里的信息更丰富、具体、准确

经验总结

  1. GPT-4 是目前最强的编程大模型,没有之一。第二强是 GPT-3.5,剩下的非不得已不要用
  2. 对话界面
    1. 首选购买 ChatGPT Plus,使用 GPT-4o/GPT-4
    2. 次选 ChatGPT 3.5 + 三个风格的 Bing Chat
    3. 再次选,Copilot Chat。简单任务可优先交给它,体验更好
    4. 别太依赖上下文,尽量在最近 5 轮对话内覆盖所有信息,时不时重新开始对话
    5. 新技术的使用,老实看文档更好
  3. IDE 中首推 GitHub Copilot
    1. 主要用来快速补全代码、注释
    2. 别用写注释出代码的能力,不如把注释当指令丢给 ChatGPT
    3. Copliot 生成测试用例很好用
  4. 国内平替 Copilot, CodeGeeX
 
其它工具
  1. bito,基于 GPT-3.5 的代码补全,免费。CLI 工具挺好
  1. Amazon CodeWhisperer, 代码补全,免费
  2. Cursor,AI- first 的 IDE
  3. Tabnine,代码补全,个人基础版免费

典型使用场景

  1. 给出需求,获得技术选型建议
  2. 完成全局框架搭建,比如:工程框架,类的框架(不建议框架和功能一起完成,容易超过 GPT 处理能力)
  3. 完成局部小型任务。比如:一个函数,正则表达式,全套 try-catch,对某 API 的调用等
  4. 对已有代码改写,比如:加功能、注释、测试用例,让代码更易读、易维护、更安全
  5. 根据错误信息改 bug
  6. 解释代码,辅助阅读代码
  7. 开发工具使用,比如:VSCode 配置,各种命令行参数
  8. 询问技术问题
 
Code Interpreter(内置 Python 虚拟机) 是目前制高点
  1. 它能自我修正代码
  2. Python 项目可以狠狠依赖它
  3. 其它项目可以先让它用 Python 写,然后翻译成别的语言
 

看未来

  1. GPT Engineer
给出想让 GPT 构建的内容,AI 会反问以澄清、得到具体的内容,最后进行构建
安装与使用方式:
pip install gpt-engineer
vim prompt
gpt-engineer .
核心 prompts:https://github.com/gpt-engineer-org/gpt-engineer/tree/main/gpt_engineer/preprompts
评价:啥都能干,就是不精
  1. GPT Web App Generator
源代码: 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
评价:限定了框架,用参数做配置,提供框架代码,成品率高
  1. MetaGPT: 多智能体元编程框架
使用 GPTs 组成软件公司,协作处理更复杂的任务
官方说明:
  • MetaGPT 输入一句话的老板需求,输出用户故事、竞品分析、需求、数据结构、APIs、文件等
  • MetaGPT 内部包括产品经理、架构师、项目经理、工程师,它提供了一个软件公司的全过程与精心调配的 SOP
会写代码、文档、画图等
核心 prompts:https://github.com/geekan/MetaGPT/tree/main/metagpt/prompts
评价:agent 模拟岗位的思路挺好玩

从 AI 编程看 AI 当前上限

  1. 能解决很多问题,但也会有误导
  2. 不稳定持续存在
  3. 人工确认必不可少
所以:
  1. 客观看待 AI,别神化
  2. 合格的确认官很重要
posted @ 2024-07-16 23:44  山上有风景  阅读(36)  评论(0编辑  收藏  举报