Skip to main content

AI影响下的工程开发的提示


  1. 注重文档的编写和生成

    1. 因为Agent的特性,只能理解上下文内的东西
    2. 文档是Agent能快速上手的一个关键的途径
  2. vibe

    1. 不要焦虑,你的工作窗口就是对话框+少量的文档diff
    2. 不需要去关注所有的文件、代码的实际内容,人不用去看代码、文档,有什么问题就让Agent帮你总结后回答你
  3. 需要明确的提示

    1. 所有的任务的前后,一定要说清楚关键的输入,和期望的输出,和中间的明确路径
    2. 不清楚的地方,可以先讨论,写文档
    3. 可以要求Agent和你讨论,一直讨论清楚所有的可能的理解问题
  4. 欠缺比较高层次的设计能力

    1. 虽然能很好得完成任务,很容易输出一个合格水平,但是不能很好得设计一个功能

    2. 你给的输入和输出,Agent总是会给出一个可行的解决方法,但是一定不是一个很优秀的设计

    3. 不能直接设计一个比较创新的、比较优秀的架构设计,抽象,比如

      1. 一种更合理的编程语言
      2. 对一堆的规则进行综合思考之后形成少数的几个抽象的原则
      3. 能修复好复杂多线程程序的内存依赖问题,但是不能设计出一个巧妙的多线程仿真平台
    4. 改进思路是

      1. 尽量指导AI一步一步得进行抽象,不要指望一下子把全局都优化了
      2. 你可能也不知道最好的设计是什么样子,但是可以先提出现在的明显的问题
  5. 一个比较好的初始状态

    1. 找到一个设计比较合理的工程代码作为AI工作的基础,能比较有效得进行迭代
    2. 先写文档,把整个设计的文档都写得完整,再开始让AI工作
  6. 适合AI和人一起写作的环境

    1. Python应该是最适合的人机编程语言

      1. 存在大量的代码,AI生成质量好
      2. 语法简单,简明,不罗嗦(ts js 非常罗嗦),节省token
      3. 便于人类阅读
    2. vscode

      1. 作为开发代码的最流行IDE
      2. 可定制性强,方便AI开发工具,插件系统,配置,设置
  7. 适合AI的工程架构

    1. 拆分成适合LLM上下文大小的工程独立功能的模块
    2. 适合LLM工作的流程(中间代码生成,信息格式定义,脚本开发)
  8. 重要的是设计

    1. 因为代码能力、工程实现能力已经接近任何领域的高级水平
    2. 有价值的是整体系统架构的设计、重要的API接口、功能的定义
  9. 尽量不要让AI进行信息不全的工作

    1. 不要每一步很大,AI容易脱离原来的设计
    2. 每次一小步,解决一个小问题