人工智能会取代编程工作还是将程序员变成人工智能经理?
通过编程,你可以编码。有了人工智能,你就可以讨价还价。
在过去十年左右的时间里,当我主要担任全职顾问、专家和专栏作家时,我是一名经理。我职业生涯早期是一名产品营销主管,职业生涯后期是一名出版商。多年来一直有人直接向我汇报。
我管理编辑、销售人员、程序员、制造团队和其他高管。
您想知道我的安可职业生涯中最好的事情之一吗?没有直接报告。我不需要管理任何人。
没有当过经理的人认为,老板们会把时间花在把工作交给下属,而只是对周围的人发号施令。经理们知道,现实情况是他们花了很多时间只是想让为他们工作的人按照指示执行他们的工作职责。
其中一些责任落在经理身上,他可能会也可能不会给出明确的指示。但同样多的挑战落在了直接下属身上,他们误解了指示,被动地、积极地严格遵循指示(这是我的业力回报,因为我对我的老板这样做了),或者只是需要与他们谈判才能做什么需要做。
这是我如此喜欢编程的部分原因。通过编程,计算机也会完全按照你的指示去做。 完全正确。当然,程序遵循指令的精确度通常会导致错误,尤其是在第一次尝试时。但这没关系,因为无论它做错了什么,都在代码中的某个地方。
提出正确的算法或将头脑中的算法和数据结构转换为工作代码可能是一个挑战,但代码就是代码。它是一致且合理可预测的。
然后是人工智能。向像 ChatGPT 这样的人工智能发出指令更像是管理程序员,而不是编程。一切都需要解释和协商。是的,你可以获得结果,有时你可以获得不进行大量编码就无法获得的结果,但仍然存在一定程度的讨价还价、谈判、重新构建请求,并一次又一次地尝试使其正确。
你可以给人工智能提示两次,它会返回两个不同的结果。除非您的代码具有某种随机化函数或严重的错误,否则您可以运行代码两次,它将返回相同的精确结果。
AI会抢走编程工作吗?
我一直在思考这个问题,特别是考虑到我这个周末在写一篇关于高级提示写作的文章时所做的一些提示写作。在那篇文章中,我尝试让 ChatGPT 解决一个非常简单的问题,但我花了几个小时和 20 多次尝试才让它可靠地工作。提示是:
与 devolve 类似且以 B 开头的单词
ChatGPT 不断给我以“D”开头的答案,似乎对其答案充满信心。当我指出它返回的单词不是以“B”开头时,它道歉并犯了同样的错误。一而再,再而三。感觉就像我在和一个特别顽固的员工交谈,试图让他们明白我想让他们做什么。
曾经有一段时间,我管理着一些通过电话销售的销售人员。他们被要求拨打一份相当热情的潜在客户名单并推销我们的服务。我向他们详细描述了如何推销我们的服务,但我们有一位销售人员拒绝遵守脚本。
因此,她打电话的一些人变成了热门线索……直到我们与潜在客户会面,才发现他们对我们提供的服务有错误的想法。她更喜欢她的描述,因为这让预约变得更容易。
但这并不是为了预约。这是为了销售。她在预约时甚至没有得到报酬,但这并不重要。她更喜欢她的方式。
ChatGPT 就是这样。当我花了几个小时试图让它返回一个以 B 开头的单词时,我已经到了想对它大喊大叫的阶段:“好吧,什么才能说服你DEVOLVE 这个词以 D 开头?”
我没有编码。我正在谈判。我周日的大部分时间都在和机器人讨价还价,同时我一直在想,“这就是进步吗?”
我一直对人工智能着迷,而且我们正处于技术接近我梦想的阶段。早在我大学论文的时候,我就一直在研究人工智能和人工智能的影响。然而,几个小时后,我想把头撞到墙上。我真想大声尖叫,把头发扯下来。
所以这很像管理我多年来的一些直接下属——而且,老实说,很像我年轻时老板们管理我的感觉。
我最终确实想出了一个可靠的提示,文章描述了它的工作原理。但我非常清楚,虽然人工智能看起来可能会承担低级编程工作,但人工智能的工作方式与员工非常相似,这一事实可能会为人类工人提供一些保护。
下表显示了在某些任务中进行编码更容易,而在其他任务中使用人工智能更容易。正如您所看到的,两者的结合特别有趣,但使用人工智能当然不会消除对人类技能和专业知识的要求。
Code | AI | |
Getting data | You'll need to find a large dataset and use a specific API to retrieve individual data items | Just describe what you need and the AI will find it somewhere. It's easy to do. |
Accuracy of data | If the data set is accurate and your code runs correctly, the data will be accurate. | There is no provenance to the data you retrieve. It could even be completely made up by the AI. |
Creating instructions | You need to be familiar with how to code and how to design an algorithm, as well as various APIs and language interactions. | If you can describe it, you can generally make it happen by simply telling the AI what you want. |
Following directions | Your code will do exactly what you tell it, including make errors if you haven't fully debugged it. | The AI will roughly interpret what you asked for and will sometimes stubbornly do whatever it wants anyway. |
Executing complex instructions and getting reliable results | You need to be an experienced coder with a full grasp of how to construct algorithms and write code. | You need to be an experienced "prompt engineer" with a full grasp of how to specify problems and how they should be solved. |
Are skills and training required? | Newbie programmers can do some projects, but real work requires deep understanding of how to get the job done. | Anyone can write simple prompts, but solving complex problems requires deep understanding of how to get the job done. |
在 ZDNET 上,我们发表了几篇文章,重点调查了程序员使用生成式 AI 来帮助编写代码的经验。人们普遍的印象是,人工智能可以提高程序员的工作效率,并帮助向更多初级程序员传授新技术。但正如我在大量有关人工智能的编程文章中所表明的那样,代码并不总是有效。
我毫不怀疑人工智能将改变编程工作,并从真人手中夺走一些工作。但是,至少对于当前一代的人工智能引擎来说,真正完成任何事情都需要一定程度的专业知识,无论是编码专业知识、即时写作专业知识,还是更有可能的是两者的结合。再加上一定的耐心。
您可以在社交媒体上关注我的日常项目更新。请务必在 Twitter 上关注我:@DavidGewirtz、Facebook 上:Facebook.com/DavidGewirtz、Instagram 上:Instagram.com/DavidGewirtz 和 YouTube 上:YouTube.com/DavidGewirtzTV。
