※ 引述《Suleika (Suleika)》之铭言:
: 相信对新技术具有敏锐度的各位,
: 在这几个月都有使用过AI来帮忙写code,
: 但在使用过程中不经有一个问题一直回荡在我的脑海中:
: “AI帮我快速生成一个feature的模板,
: 我在修改的过程中就像在做code review,
: 公司还需要找初阶工程师吗?”
: 不晓得各位高手们是怎么看待这个问题的?
先讲结论,软件工程师做的事情以及定义从 1946 年 ENIAC 开始就不断地在改变。
所以接下来改变的还是会是工程师的定义,也许依照人力资源规划还是会有各种
工程师职阶,但是做的事情和现在应该不会一样。
https://imgur.com/abE2zRM
顺带一提,目前的 GPT 其实还没办法完成很多开发工作,所以也许一两年大家都摸清
GPT 的底细之后就渐渐不认为这东西可以被称为 AI,就像是有些可以自动纠错的 IDE
现在可能也不会被称为 AI 一样。所以 AI 的定义也会改变。
对于目前软件开发部门而言,最困难的问题应该是两个
第一个是把公司应该被分类为机密的程式码送进 Copilot 或是 ChatGPT 有没有机密
问题?
第二是要怎么有效率的使用这些工具。
第一个问题有可能透过调整程式码机密等级来处理,举例来说,跑在客户端的东西、
已经有专利保护的部分,可以让客户看到原始码也没关系的东西,或是本来就是GPL
的程式码,这个如果丢进去是没问题的。
如果今天是里面有可能有公司机密,例如营业秘密等级的算法,专案资料夹含有客户
敏感数据之类的,可能就没办法透过目前公有云提供的工具来处理,除非对方声明不会
拿来训练,然后贵公司又有办法证明对方的声明有效。否则在这样的部门中还是会需要
有签NDA的家伙帮忙写程式。
第二个是如何有效率的使用,第二个前面其他人讲了不少,但是目前如何使用其实大家
都是用摸索的,基本上都可以同意用起来像是Review 一个 Junior 的程式码,但是实际
上我认为应该有办法直接让他产生特定风格,也就是直接产生 Senior 的程式码。
要怎么产生可能会变成一种过程,例如你的注解要有三段,包含简单的测资,预期的函式
输出入等等的,有点像是 AI 画图后来一堆人在调参数之类的。
所以工程师的定义会改变,就像是早期工程师会if else就能上工了,后来一阵子不会OO
就好像很落伍,不会 MVC 就注定被谴责一样,那可能只会简单丢问句丢给语言模型而没
有特定的问句格式时会被检讨专不专业这样。
根据日本网友发现,问句如果使用敬语的话,输出品质会提高不少。