AI影响下的工程开发的提示
-
注重文档的编写和生成
- 因为Agent的特性,只能理解上下文内的东西
- 文档是Agent能快速上手的一个关键的途径
-
vibe
- 不要焦虑,你的工作窗口就是对话框+少量的文档diff
- 不需要去关注所有的文件、代码的实际内容,人不用去看代码、文档,有什么问题就让Agent帮你总结后回答你
-
需要明确的提示
- 所有的任务的前后,一定要说清楚关键的输入,和期望的输出,和中间的明确路径
- 不清楚的地方,可以先讨论,写文档
- 可以要求Agent和你讨论,一直讨论清楚所有的可能的理解问题
-
欠缺比较高层次的设计能力
-
虽然能很好得完成任务,很容易输出一个合格水平,但是不能很好得设计一个功能
-
你给的输入和输出,Agent总是会给出一个可行的解决方法,但是一定不是一个很优秀的设计
-
不能直接设计一个比较创新的、比较优秀的架构设计,抽象,比如
- 一种更合理的编程语言
- 对一堆的规则进行综合思考之后形成少数的几个抽象的原则
- 能修复好复杂多线程程序的内存依赖问题,但是不能设计出一个巧妙的多线程仿真平台
-
从头,从一个小的点子开始,一步步和AI进行对话,讨论出一个比较高层次的概念的抽象,会是一个比较顺利的过程
- 因为AI拥有足够的信息,足够的前后因果,特别是AI直接拿到了最核心的抽象等级
- 如果把这个概念进行实践后,形成代码后,让AI看着已经有的代码来继续工作,就比较困难了,因为AI很难自动理解,抽象出代码里面的核心的,高层次的设计概念。
- 就算是把这个设计概念写成很详细的文档,AI读了之后也不能很清晰得Get到最原始的理念,经常是丢三落四,不自洽。
- 只有像最开始的一步一步的讨论,纠正,设计演进的这个过程才能给AI的上下文有足够的深度理解。
-
改进思路是
- 尽量指导AI一步一步得进行抽象,不要指望一下子把全局都优化了
- 你可能也不知道最好的设计是什么样子,但是可以先提出现在的明显的问题
-
-
一个比较好的初始状态
- 找到一个设计比较合理的工程代码作为AI工作的基础,能比较有效得进行迭代
- 先写文档,把整个设计的文档都写得完整,再开始让AI工作
-
适合AI和人一起写作的环境
-
Python应该是最适合的人机编程语言
- 存在大量的代码,AI生成质量好
- 语法简单,简明,不罗嗦(ts js 非常罗嗦),节省token
- 便于人类阅读
-
vscode
- 作为开发代码的最流行IDE
- 可定制性强,方便AI开发工具,插件系统,配置,设置
-
-
适合AI的工程架构
- 拆分成适合LLM上下文大小的工程独立功能的模块
- 适合LLM工作的流程(中间代码生成,信息格式定义,脚本开发)
-
重要的是设计
- 因为代码能力、工程实现能力已经接近任何领域的高级水平
- 有价值的是整体系统架构的设计、重要的API接口、功能的定义
-
尽量不要让AI进行信息不全的工作
- 不要每一步很大,AI容易脱离原来的设计
- 每次一小步,解决一个小问题
-
架构设计工作的重要性
- 要像一个非常成功的tech leader一样,对AI的工作要求非常的明确,对输出有非常清晰的预期
-
中文能力差
- 在专业的领域问题讨论,经常给的中文但是还是英语的逻辑直接单词翻译后拼凑
- “概念不能变化了“->"概念锁了"
- "xxx作为开头"->"xxx作起首"
- "泛指占位词作槽值" -> 槽 应该是slot直接翻译的,槽值 的描述也很难理解
- "既然主 [P] 没有 closed-set 主-only 了" 主-only 很难理解
- “两者天然互斥,不需要靠 closed-set 维护位置三分。“ 三分???
- “列不完。→ 主 [P] 完全 open。“ 经常使用英语单词直译的方式来表达,汉语不是一个字词能表达完整意思的。
No comments to display
No comments to display