前言
没错兄弟们,AI盛行的时代下,每个人都是奴隶主,在疯狂的鞭策着我们的小奴隶(们?)。可是我们真的知道他们的正确使用方法吗?
如今我经常遇到找我咨询的问题就是
- 我应该如何使用AI
- 为什么他听不懂我说话
- 怎么我的token用的这么快
这类问题太多了,在经过我的嵌入内部调研以及刨根问底的沟通之后,发现了一些很残忍的现实:我们其实也成为了我们最讨厌的那类人-------说不明白自己想要什么的老板。
如何成为一个合格的奴隶主(精准提问)
既然已经明白了问题所在,那我们就开始着手解决问题呗。 问题很简单,其实我自己也不知道我自己想要什么。
或者我们换个说法,我没办法把自己的想法精准的表达出来,我脑子里有一个特别赚钱的想法,但是真到我嘴里说的时候,我巴拉巴拉说一大堆,他们听完就听明白一个事情------“我要挣钱,快去帮我挣钱!”
至于怎么整,我不知道,应该找谁,我不知道,希望得到什么样的结果才算达到“挣钱”的目标,我不知道。
实现新功能应该如何提问
好了,让我们结束这该死的背景介绍,直接进入主题。
AI的提问,说白了也是一门沟通抖音艺术,现在AI的脑力已经可以称之为一个有脑子的高经理牛马了。所以我们沟通的时候需要明确沟通的核心原则:让他少猜你在想什么。
- 我现在想要实现什么功能
- 我现在手里的资源都有什么
- 我希望这些资源通过哪些行为得到什么结果
- 在实现这些的过程中有些注意事项需要遵守,比如:......
拿一个登录功能举例:
- 我想要实现一个登录功能
- 我现在使用的是vue,希望介入谷歌登录,登录所需的ID是*****
- 我希望页面左上角是登录按钮,点击出现登录弹窗,弹窗里是可以选择谷歌登录或者其他登录,点击谷歌登录的话进行对应的登录操作,页面实时监听数据,直到登录完成关闭弹窗。
- 在实现这个的时候我希望可以创建一个独立组件来封装登录功能,尽量避免出现和原有逻辑大量耦合导致代码可读性变差,希望关键节点都进行注释以便我可以快速了解对应功能。
你可以把自己当成一个产品,而你和AI沟通的时候其实就是把你的产品文档告诉他。并且牢记一点不要给开放性的问题!!!
说到底AI知道的东西太多了,你给开放性问题,他的答案会很杂很乱,乱花渐欲迷人眼的那种乱,这时候如果你是一知半解的那种人将会难以取舍,而后在后续的连续追问下逐渐被AI带节奏远离最初的目标,还会消耗大量token。
解决bug应该如何提问
依然是之前的原则,别让他猜。
然后,我们其实有一个很好用的东西就是 @符号引用文件 。 我们可以直接通过@的方法告诉他希望改动的地点在哪里,从而避免每次问问题的时候AI都完全遍历浏览所有文件造成token的浪费。
- 我现在遇到了什么问题
- 期望达到的结果是什么样子的
- 我如今的现状表现是什么样子的
- 我猜测问题大概卡在哪里(不知道的时候可以不说这个)
- 我该如何解决问题/帮我解决一下这个问题
这里有一个点在于可能有多个解法,所以有时候需要先让AI给出问题原因以及解决方案,结合实际来选择最适合的方法并交给他来实施。
- 尽量不要改动或者最小改动原有逻辑
现在比较好的一点在于 如今给出解决方案的时候他会同步的告诉你都改动了哪里,你可以和自己脑子里的想法进行一一印证
如何节省token(提问技巧)
1. 明确问题,不要让AI去猜(就像前面说的那样)
2. 控制上下文长度,不要在一个会话里面一直追问。
因为AI每次沟通的时候都会自动检索上下文来保证精确的理解你的意思。所以如果本次的问题已经沟通完了。下一个问题和上一个问题基本没有关联的时候就新开一个会话,减少token的浪费
3. 尽量使用引用代替粘贴内容。
引用分两种,一种是之前聊到的 @引用符号。
还有一种是选中对应的代码
4. 让AI一次性完成功能
我们沟通的时候经常喜欢“挤牙膏”式的沟通,比如登录功能,我们可能这样一步一步的分开问:
- 帮我在右上角加登录按钮
- AI开始回答并完成
- 点击按钮打开弹窗
- AI开始回答并完成
- 打开弹窗之后我希望弹窗里面是谷歌登录和其他登录这两个按钮
- AI开始回答并完成
- 帮我接入谷歌登录
- AI开始回答并完成
这些问题我们可以一次性直接抛给AI让他来实现,如果我们一次说一句的话,AI就需要不停的联系上下文来校对你的命令。 这会导致两个问题:
- 不停的联系上下文造成token的无用消耗
- 上下文过长可能导致AI理解出现误差
5. 尽量不要上传图片
有一个很经常的情况就是, 如果出现了一些报错等问题,有些人会下意识的去截图然后直接甩给AI让他分析,这是一个非常消耗token的事情!!!
因为解析图片非常的消耗token!!! 这种情况下你的正确操作是:
- 直接复制报错信息粘贴进去
6. 一个“反直觉但有效”的技巧---- 先让AI问你问题。
在实现这个功能前,你先问我3个必要问题,不要直接写代码. 这是为了避免我们在提问的时候说漏了或者没想到某些需要明确的事情。从而导致AI在工作的时候误解需求 导致后面返工!!!
7. 提交自己的propt的时候过一下“速查清单”
- 我有没有写清楚技术栈?
- 有没有限制范围?
- 有没有删掉无关代码?
- 问题是不是太大?
- 能不能拆成两步? 如果都 OK,基本就是“省 token 模式”了