XY问题(可以参考酷壳的文章)是软件开发以及团队协作时常见的沟通问题,简单说就是寻找解决方案的时候,求助者往往会问非所需,解答者也就经常答非所问。因为沟通不畅,会在错误的方向上浪费大量资源和时间。场景往往是这样的:

1)有人想解决问题X。
2)他觉得Y可能是解决X问题的方法。
3)但是他不知道Y应该怎么做。
4)于是他去问别人Y应该怎么做?
5)  热心的人们帮助并告诉这个人Y应该怎么搞,但还是觉得有点怪。
6)又经过长时间讨论和折腾,热心的人终于明白,要解决的问题是X。
7)真相大白,Y根本就不是用来解决X的合适方案。

比特币核心开发者Greg Maxwell发现,使用OpenAI Codex的时候,因为你不必担心计算机系统像人那样产生各种误解,你的表达也可以更直接没必要整那么多心理活动,反而避免了XY问题。

举个例子吧,正好酷壳文章和Maxwell都引用了用Shell取字符串后3位的例子。我们先看看典型的XY问题是怎么产生的:

Q) 我怎么用Shell取得一个字符串的后3位字符?
A1) 如果这个字符的变量是$foo,你可以这样来 echo ${foo:-3}
A2) 为什么你要取后3位?你想干什么?
Q) 其实我就想取文件的扩展名
A1) 我靠,原来你要干这事,那我的方法不对,文件的扩展名并不保证一定有3位啊。
A1) 如果你的文件必然有扩展名的话,你可以这来样来:echo ${foo##*.}

而使用OpenAI Codex会怎么样呢?

你会很直接地发现自己的问法不对!

内容中包含的图片若涉及版权问题,请及时与我们联系删除