首页 > 其他分享 >对提问方式的思考

对提问方式的思考

时间:2024-02-18 16:11:22浏览次数:18  
标签:方式 ai 问题 搜索 思考 内容 尽量 提问

提问的智慧  https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md

  在阅读这篇文章以后,总体来说,我希望我尽量能够做到上面所提醒的内容。关于提问,我觉得要获得解答,首先需要让对方完全理解自己的疑问,要做到这一点,应该学会站在别人的角度预设:假设此时是自己遇到了别人的提问,在完全不了解情况的背景下,都可能需要哪些信息;然后,自己在提问时再尽量描述得完整清晰。提问的智慧里提到了一个很好的说法,就是“提前想象别人可能会怎么反问你”,提前写好可能需要的回答,我希望我一直以来也都坚持这么做了。一般情况下,计算机类的问题不只是需要描述自己当前遇到的事件,还需要把一些必要的背景也一并描述。在计算机方面,一个bug未必就是由一个表面问题导致的。  

  其次,描述问题时应该尽量做到言简意赅,描述精准,不要问一些没意义的主观性内容,比如“我觉得这个设计不好”、“今天天气不错”这样的话。描述清楚自己的问题,表达一下自己的推测,这样的内容就足够了。对于蠢问题,我的一般反应是跳过不看,或者看心情回答几个。我和作者的想法不太一样,我觉得蠢问题也是提问的一环。特别是在一个社区里面,蠢问题也有存在的必要。把解答过的蠢问题做成合集,至少可以避免更多一样的问题反复出现。此外,只要是和主题相关,那解答一次也无甚大碍,因为我觉得人不能保证自己永远不会卡在弱智问题上。

  此外,在提问前先尽量自己在网上查找资料也是必要的,一些常见问题,比如环境搭配、安装教程,网上一般已经有比较全的内容了,没有必要为此去询问别人,毕竟,除了顾问,没人有义务为别人解决问题。在查找网络资料时也有技巧:首先,尽量不要使用百度,百度搜索现在已经可以称为残废了。我不知道是因为各个网络服务商都禁止搜索引擎爬取资源、法律法规限制还是因为百度技术倒退,但百度使用体验极差这件事是真实发生的,用百度基本只能搜索到贴吧、csdn和知乎的内容,就连博客园都很难看到,甚至连贴吧内容都很难匹配得到,至于一些个人博客就更不用说了。作为一个程序员,甚至说作为一个使用电脑的人,都应该有一定的英语基础,学会怎么使用谷歌。哪怕是用翻译软件一点点翻译网页,或者是用谷歌去搜索中文内容,你就会发现搜索体验瞬间就强了不少。此外,学会使用git常用操作,学会在github上提issue,学会看stackoverflow等网站,这些技巧对于一个合格的工程师来说真的很重要。

  关于社区,至少我个人认为,国内的计算机相关论坛基本上堪称荒凉。要么是在大论坛里分了一个子版块,少有深度话题,比如贴吧和NGA;要么就隐藏的很深,或者限制注册,比如看雪等。对于一个要求专业性的论坛,持续有新鲜血液流入才能保证内容更新,否则只能讨论一些粗浅内容,或者慢慢荒芜。但是国内论坛方面似乎在慢慢收紧,这一方面可能很难再诞生出更好的社区了。对于已有的论坛,我的个人理解是在论坛提问时尽量让问题和答案公开,避免重复问一样的问题。如果有类似的情况,应该考虑在帖子里继续跟帖而不是另开帖子。同时如果有必要的话,尽量附上能辅助理解的图片和报错信息。

  除过直接问人和查阅手册,在22年底chatgpt发布以后,一些常见的问题直接问gpt也是挺不错的选择。因为ai不会生气,永远有耐心,常见问题直接问它会方便的多。虽然以目前的神经网络这种模型来看,ai经常产生“幻觉”,经常信口雌黄,但是搭配搜索、数学等插件以后效果就明显好了不少,此时模型的回答依赖的是搜索到的结果而不全是自身的梯度参数。实际体验已经可以代替人去一条条搜索了。除此之外,模型本身就可以堆搜索结果进行总结,这也更加方便使用。  

  除过这种用法,还可以利用ai学习构建自己的知识库。在本地部署开源模型,把常用的手册收录进去,让ai来根据知识库进行回答也是一个不错的方法。当然,ai不能完全代替人类。在我长时间的使用中,我发现当前的ai实际上对提问方式和提问内容更加敏感。 prompt中最好仔细认真地描述自己的问题,同时尽量带上错误信息和问题背景,这样能显著提高正确答案的生成概率。此外,gpt对双关词、上下文省略等方面识别效果还明显不如人类,再加上有最大长度限制,所以遇到问题还是问人类更靠谱一些。但常见问题,包括诸如怎么部署一个环境、编译器的常规报错这些内容,目前的ai完全可以解决,甚至可能比人做的更好。另一个方面,和ai对话,学习写有效的prompts,其实也是在锻炼一个人的提问能力。

  最后再说一点别的,提问需要智慧,回答也需要。我觉得,一个人总是会有着急上火或者犯蠢卡住的时候,每个人也不是生下来就会正确提问的。如果别人的提问没有冒犯别人,那礼貌性地说一句,指点一下,让提问者学会先自己想办法,然后再询问别人。或者选择视而不见都行。直接摆出一副臭脸骂人确实像是没情商的人才会干的事。

标签:方式,ai,问题,搜索,思考,内容,尽量,提问
From: https://www.cnblogs.com/namezhyp/p/17989646

相关文章

  • Splunk ES 接入 log 的方式
    SplunkES接入log的方式主要有两种:使用SplunkUniversalForwarder(UF)UF是一个轻量级的代理,可以安装在各种操作系统和设备上。它可以收集各种类型的日志文件,并将它们发送到SplunkES进行索引和分析。使用HTTPEventCollector(HEC)HEC是一个RESTfulAPI,可以......
  • 走出精神内耗最好的方式是什么?
      叔本华说:“人性有一个最特别的弱点,就是在意别人如何看待自己。”生活中,很多人之所以不快乐,就是因为太在乎周围人的反应。同事无意间的一个眼神,会让心情失落许久;朋友不经意的一句话,会默默纠结半天。太过在意别人的看法和评价,后果往往是,在敏感和讨好中委屈了自己。你要明白,生活......
  • 关于动态规划(Dynamic Programming)的若干思考 ------ [2.线性dp]
    线性dp的两个经典题目:最长上升子序列(LIS)and最长公共子序列(LCS)1.LIS核心代码#include<bits/stdc++.h>usingnamespacestd;constintmaxn=2024;intcnt=0,ans=1;intf[maxn],a[maxn],c[maxn];voidout(intx){ if(x==0)return; out(c[x]); cout<<a[x]<<......
  • 关于动态规划(Dynamic Programming)的若干思考 ------ [1.背包dp]
    背包dp;1.01背包(1)领域展开#include<bits/stdc++.h>//simpleusingnamespacestd;constintmaxm=2024;intn,m;intw[maxm],v[maxm],f[maxm][maxm];intmain(){ cin>>n>>m; for(inti=1;i<=n;i++) cin>>v[i]>>w[i]; for(i......
  • Spring常见三种注入方式
    1、field注入(字段注入)1@Controller2publicclassFooController{3  @Autowired4  privateFooServicefooService;5  6  //简单的使用例子,下同7  publicList<Foo>listFoo(){8    returnfooService.list();9 }10}最......
  • [学习笔记]换根 DP 的常用处理方式
    [学习笔记]换根DP的常用处理方式换根DP,又称作二次扫描法,通常用于“对每个根求出树形DP的答案”。以每个点作为根节点进行一次树形DP的代价通常无法承受,因此我们会使用两次DFS:第一次DFS指定一个点为根节点,运行一次常规的树形DP。第二遍DFS进行换根DP,得到将根转移......
  • Scanner—使用next方式接收
    packagescanner;importjava.util.Scanner;publicclassnext{publicstaticvoidmain(String[]args){//1.创建一个扫描器对象,用于接收键盘数据Scannerscanner=newScanner(System.in);//输入newScanner(System.in)Alt+回车System.ou......
  • Scanner—使用nextLine方式接收
    packagescanner;importjava.util.Scanner;publicclassnextLine{publicstaticvoidmain(String[]args){//1.创建一个扫描器对象,用于接收键盘数据Scannerscanner=newScanner(System.in);//new.Scanner(System.in)Alt+回车System.......
  • C#实现异步编程的常用方式总结
    随着现代软件对性能和响应速度的要求越来越高,异步编程已经成为许多开发者必须掌握的技能。C#提供了多种实现异步编程的方式,每种方式都有其特定的适用场景和优缺点。本文将详细介绍C#中实现异步编程的常用方式,帮助读者更好地理解并选择合适的异步编程方法。一、Task和TaskC#......
  • TCP和UDP面试题提问
    @目录TCPUDP总结应用TCP(传输控制协议)和UDP(用户数据报协议)是两种计算机网络通信协议,它们在网络通信中起着不同的作用。TCPTCP是面向连接的协议,它在数据传输之前需要在发送端和接收端建立一条连接。TCP提供可靠的数据传输,它使用确认和重传机制来确保数据的可靠性和完整性。T......