hi~各位开发小伙伴
现在的你
还在为做不完的需求而熬夜加班吗?
还在为写代码出bug而大把掉头发吗?
你也尝试过“自救”
试图用工具提升工作效率
又忍不住吐槽人工智能是“人工智障”吗?
面对那些让人头疼欲裂的语法错误
让人抓狂的性能瓶颈
为了解救各位魔法师
走出水深火热的代码世界
为了让你驯服
给不出有效答案的人工智能
今天飞小码给各位分享
4个智能问答的技巧
1
提问四要素
角色扮演: 明确角色扮演,即您希望回答者扮演的角色或身份
标准: 设定标准,指出答案应达到的质量或详细程度
任务指标: 提供任务指示,说明您希望完成的具体任务
要求: 最后,提出要求,包括任何特别的限制或偏好
2
思维链
日常使用时,可以简单的给出角色扮演、任务指示、要求即可,如果需要使用上下文,可以通过光标快捷选中代码,作为代码上下文来辅助生成,针对没有上下文时,可以使用思维链。
增加step by step描述,模型会结构化,以思维链的方式返回答案,效果上会更好。
3
避免歧义
复杂句很容易有歧义, 比如以下的这个问句, 你怎么理解?不同的人如果断句不同, 就会有不同的理解:
提问
举例问题:QT C++中如何在nativeEvent中处理不同操作系统的消息, 请给出示例?
理解一 QT C++中如何在nativeEvent中处理不同操作系统/的消息,请给出示例?--意思是多个操作系统, 它们之下的消息
理解二 QT C++中如何在nativeEvent中处理不同/操作系统的消息,请给出示例?--意思是某个操作系统下不同的消息
大模型给我们的回答是根据理解二解析的答案:
所以,如果我们想要处理某种操作系统下不同的消息,就需要消除歧义,以下方式都可以得到正确的回答:
1.QT C++中如何在nativeEvent中处理Windows操作系统下不同的消息,请给出示例?
2.QT C++中如何在nativeEvent中处理操作系统下鼠标、键盘的消息,请给出示例?
4
多轮对话
部分情况下是无法一步得到想要的答案,可以通过多轮问答,不断追问, 问题限定更具体, 要求更具体,获取到较好的答案;
*截图为部分内容,非问题代码完全展示
iFlyCode给出的回答是:
这个回答并非我们想要的具体答案,所以可以根据分析结果再次提问:据上一条你的回答给出的建议重构这段代码得到重构的思路和代码。
重构后的代码没有将函数的功能进行拆分,于是可以再次提问:这个钩子函数中的实现是否违背了单一职责原则,如果是,请再次重构。
*截图为部分内容,非结果完全展示
效果确认后将iFlyCode生成的代码直接替换旧代码,再次启动项目,项目可以成功启动,作业列表页面能够正常访问。说明iFlyCode输出的重构代码无业务逻辑错误,可以直接使用。
4个提问技巧分享完了
不会有人还不知道怎么提问吧
没关系,保姆级提问流程总结,请反复学习实践!
01
针对一个问题, 从不同维度提问, 不断增加或者修改约束条件:
请实现一个打开摄像头功能?
请在l i n u x下实现打开摄像头功能?
请在l i n u x下使用c + +实现打开摄像头功能?请在l i n u x下使用ffmpeg实现打开摄像头功能?
02
针对答案不断追问:
上面答案中的target是指哪些?上面的措施具体如何实施?
上面的第三项措施如何用代码实现?
03
给出完整上下文再提问:
请根据上面的类实现( 我们提供的背景信息) , 调用该类实现xxxx?
04
提示发散更多答案:
除了上面的方法, 请给出多种不相同的方法?为了避免xxxx, 有哪些方法可以xxxxx?
就像这位小哥一样