作者gigayaya (gigayaya)
看板Soft_Job
标题Re: [闲聊] AI时代如何保持对软体的热情
时间Sat Apr 25 23:52:55 2026
※ 引述《gigayaya (gigayaya)》之铭言:
: 3.多去学习知识,不论是经典的CS知识或是最新和AI有关的知识
这几天想到一个例子表达我的观点,想分享给大家或许能更好理解我想表达的XD
主要是想表达软体工程师仍然存在且需要有知识,以及AI时代工作型态的转变
(ps.这只是一个展示概念的思想实验例子,希望大家不要对内容太认真)
---
想像一个场景:今天你去一家公司应徵软体工程师,你坐在会议室中
对面面试官给你一台笔电请你现场做live coding面试,你看到画面中的文字题目如下:
Q:
目标为生产一个function解决以下问题->
有一串数字,规则是「後面的数 = 前面两个相加」:
第1个: 0
第2个: 1
第3个: 0+1 = 1
第4个: 1+1 = 2
第5个: 1+2 = 3
第6个: 2+3 = 5
第7个: 3+5 = 8
其中第1个数字固定为0,第2个数字固定为1
给予你一个input数字,请你回传那个位置的数字是多少
约束/规则:
1. 给你的数字范围为2~1000正整数
2. 你只能写prompt给AI,AI的输出即为你的答案,你不能手动修改AI回答的内容
3. 使用的prompt文字越少分数越高
4. 跟AI沟通的次数越少分数越高
5. 程式语言为python (其实这不重要,举例而已)
6. 只能使用我们提供的AI
7. 我们保证我们的AI没有任何的随机性 (意思就是保证存在方法拿到满分)
8. 我们已经测试过我们的AI可以产生出最好的答案 (跟上一则同意思)
9. AI只会回传程式码不会聊天
---
然後面试官手上的正确答案是这样:
```
def fib(n: int):
a, b = 0, 1
for _ in range(n-1):
a, b = b, a + b
return a
```
我们先假设这就是这世界上最好的答案,忽略一下变数名称,错误处理之类的小问题
面试官会将你的答案跟他手上的黄金答案对比,跟答案长的越相同分数越高
---
那在这个情况中你要如何获得高分,意思就是你要如何达成只用最少的prompt就能
产生出面试官手上的正确答案呢?
要能达成这件事情,我觉得你至少需要掌握以下几点:
1.你知道这是一个费式数列问题,所以你跟AI沟通的时候不需要把完整的题目复制贴上,
可以只用四个文字表达你的需求
2.你知道用for loop实作费式数列问题比递回好,因为时间复杂度比较低
3.你知道用两个变数而不是一个list储存内容比较好,因为占用的空间更少
4.你知道如何用最少的字告诉AI你的需求以及设定边界等等的技巧高品质地完成任务
我们先假设2,3点AI还没有被训练这些资料,那如果AI能写出这样的code的话一定是
你prompt要求的
所以如果你的答案被判定为高分的话:
1. 你的CS知识
2. prompt engineering知识(AI使用技巧)
肯定都不差
(举例结束)
---
所以我想表达的意思是:
有了AI之後工程师的任务从『自己用手将脑袋中的code敲到档案里面』变为->
『指挥AI将你脑袋中的code生产出来』
并且通常来说,在同样完成任务的前提下,後者花的物理时间会比前者少很多
(或至少你可以同时平行开许多AI agent去做许多事)
所以工程师的知识以及经验还是有用的,因为你至少要知道你要产生什麽,你头脑中还是
有一个roadmap
并且随着问题的复杂度越高,你就需要越多的AI engineering技巧
於是你从实作function开始外包给AI去写并且你去review,之後是一个class,然後是
一个component,一个module,一个library,一个framework,最後是一个产品
但你都知道你在干嘛,想像你每一轮都在做那个面试,只是你被要求的目标越来越高
至於这样子要干麻?为什麽要这样做?这样做对工程师有什麽好处?
我会在之後的另外一篇文章中比较详细的阐述我的想法(如果没拖稿的话XD
---
最後AI会不会可能想得比我还好?这的确是有可能,所以在正式工作中你可以在决定
内容之前先跟AI多讨论,确定好你觉得没问题後再实作
但你说会不会连一开始第一个问题,第一个方向,人类给出来就是错的比AI差?
哈哈哈我觉得这好像就上升到哲学问题了,我暂时也没有完全肯定答案
但我目前的信念是:
如果要设计给人用的产品,那最後只有人类懂得人类的需求能够满足人类
--
1F:嘘 mmmmO:靠 害我吓到想说啥时有po文07/26 01:40
2F:→ mmmmmO:嫩 我比你长一点07/26 01:42
3F:→ Ommmmm:靠北喔07/26 01:43
4F:→ mmmmmO:6907/26 01:51
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.163.108.32 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1777132390.A.B7F.html
5F:推 zys: 我觉的这样用ai并不能最大化 应该要把它当成一个一起协作的04/26 00:02
6F:→ zys: 人 而不要对他加太多限制 因为你说要让ai把脑中的code实作出04/26 00:02
7F:→ zys: 来 应该是把脑中的想法实作出来04/26 00:02
有道理 但我觉得每个人对 想法/code 的边界可能都不太一样
我觉得单纯只有很high level的想法(例如:帮我实作一个Facebook)就跟我想表达的不太
一样,这样好像变单纯的许愿
我觉得作为软体工程师你还是必须对你的prompt有一个具体的形状,然後这个形状是因
为你是人或是软体工程师,你了解你们产品的需求,你了解有什麽trade off,所以你的
想法是这样子
这也是我觉得目前junior跟senior在使用AI的方式上会有不同的地方
但这不是我文章想要着重的地方
先写code是希望能够先避免这种情况,先把条件写严格一点
8F:→ weiman0702: 我看完签名档就忘了你说啥 04/26 00:04
9F:推 dani1992: 这个最佳标准是什麽?04/26 00:30
10F:→ dani1992: 最低复杂度,那应该用公式解04/26 00:31
11F:→ dani1992: 好理解,我觉得递回比回圈好,有tail optimizaiton下04/26 00:32
12F:→ dani1992: 复杂度也一样 04/26 00:33
所以说先不要纠结在那个答案上啦XD
我的意思是:
你知道code怎麽写(或是大概),你要用AI去写出来而不是你手动敲
这样可以省时间,省下来的时间可以去用在更多需要思考的地方
至於你要怎麽达成这件事情,除了本来就要有的CS知识以外还需要使用AI的知识
13F:推 dani1992: 要更快更精准还有矩阵快速幂跟fast doubling 04/26 00:40
14F:推 dani1992: 恩 我觉得在这个例子上不需要CS知识,知道产品需求比较 04/26 00:52
15F:→ dani1992: 重要,知道需求那空间时间复杂度都交给AI即可04/26 00:54
16F:→ dani1992: 你有假设AI没有训练这点,但大部分情况都是相反吧04/26 00:58
17F:→ dani1992: 工程师知道的比AI少,所以同样自作主张缩减题目不一定04/26 00:59
18F:→ dani1992: 比较好04/26 00:59
19F:推 wulouise: 工程师最需要的是问对的问题,也没错04/26 00:59
20F:嘘 MoonCode:04/26 01:18
21F:推 ku72: 坦白说 我自己应该不会这样招募工程师 目前看到的是 AI在这04/26 01:25
22F:→ ku72: 种单一低复杂度的问题上 都能够很快的给出答案 现在需要的是 04/26 01:25
23F:→ ku72: 工程师能有足够大的逻辑窗口 来帮AI写出的东西做减法 逻辑能04/26 01:26
24F:→ ku72: 力 全局观察能力 整理归纳能力 ... 在後AI时代才是被需要的04/26 01:26
25F:→ ku72: 能在AI产出的一大堆代码内 找出那些是不必要的 那些是可以合04/26 01:26
26F:→ ku72: 并的 那些该开放 那些该封闭 等等 04/26 01:26
这个简单问题只是举例啦... 你今天可以把这个问题的复杂度上升到例如写一个IG
如果今天一个工程师可以只用prompt就写出一个IG,那他除了扎实的CS知识之外肯定也
了解许多AI工程技巧
包含到你说的如何不写出多余的code,如何侦错,如何让AI长时间运行...等等
这部分就是 prompt -> context -> harness engineering 目前这几年大家研究的方向
27F:推 viper9709: 旧时代的知识@@...04/26 01:54
我觉得的确从2025开始software development就进入新时代了
不过为了避免有人反感,已修改文字
28F:→ jeffguoft: 这问题最快解法就是整题贴给AI,一次prompt解决04/26 08:41
这问题的前提是AI不知道最佳解答而你知道,但你不能用手写
29F:→ lazarus1121: 不过只是要考知识干麻还用AI 04/26 09:28
因为这个题目(思想实验)需要的解题能力同时需要CS知识以及AI使用能力
30F:推 openthedidi: 老实说真的要考,还不如订一个实作题,考使用者如何 04/26 10:13
31F:→ openthedidi: 在标准的时间限制内配合ai实作出来。并同时观察使用 04/26 10:13
32F:→ openthedidi: 者的token 用量与审code方式以及如何将架构设计传达 04/26 10:13
33F:→ openthedidi: 给ai。相同时间内,有人需要订阅premium 的方案才能 04/26 10:13
34F:→ openthedidi: 实作出相同品质,有人用20镁就可以生出来 04/26 10:13
感觉未来软体工程师的面试趋势就是类似这样
35F:→ ab4daa: 我脑袋中有code了就直接写就好 04/26 10:17
假设你要写一个module, 有10个class, 每个class 100行, 所以目标是写1000行code
这些code你都已经想好了只差写出来,但是你人的物理极限是1分钟写10行
所以->
方案A: 你人手写1000行完成module, 花费100分钟
方案B: 你指挥AI,AI写出来的code跟你想的完全一样,AI每分钟可以写100行, 花费10分钟
我个人觉得未来的趋势是往方案B靠拢
36F:推 VScode: 我懂你的意思 但你举的例不好 导致一直歪楼XD 04/26 12:36
我...我检讨... 我以为写一大堆但书跟前提大家就会懂我的意思XD...
37F:→ VScode: 所以举例的能力也是很重要的 连人类都很容易误解了 04/26 12:36
38F:→ VScode: 我会在容易误解的地方补上context 让AI理解为何这麽做 能 04/26 12:38
39F:→ VScode: 更精准达成需求 04/26 12:38
40F:推 gino0717: 以後人类插手越多AI就会错的越离谱 以後都让AI自己去讲 04/26 12:56
41F:推 strlen: 我比较悲观 你想想 只有人类能理解人类的需求 <- 这一点 04/26 14:21
42F:→ strlen: 真的合理吗?凭什麽AI没办法将需求端也学起来 XD 04/26 14:21
我的理论(信念)是这样子:
目前的LLM本质是transformer, 是文字模仿, 是文字接龙, 是机率
他能接出下一个正确的文字是因为这些都是『已经存在』的东西, transformer无法创造
他的training data中不存在的东西, 换句话说他无法『凭空』『创造』知识
而创造,则是我认为人之所以为人,智慧的本质
当然你也可以说根据scaling law, AI已经"涌现"出了能够『创造』知识的能力
只是在我看来,只要LLM还是transformer,还是语言接龙,还是鹦鹉学说话模仿
那AI就还不能说是有『智慧』,而人类就还不会被淘汰
就像Steve Jobs曾经提过: "Good artists copy; great artists steal"
AI目前还停留在Good的阶段,所以目前AI没办法创造出下一个相对论,下一个爱因斯坦
但这只是我的信仰,意思就是我没办法提出很强烈的证据支持我的论点
希望能让你不要那麽悲观
回到你下面举例的情况,我觉得更可能的情况是:
->你可以用AI完美复制IG的code,但你无法只用AI创造一个app取代IG在社会中的地位
43F:→ strlen: 老实说 目前人类还能插手的就架构跟需求 但这是目前 04/26 14:21
44F:→ strlen: AI目前在中小型模组上已经稳赢人类的 缺的是大局观 04/26 14:23
45F:→ strlen: 但这个说老实话也不难解决 光是用harness engineering做一 04/26 14:23
46F:→ strlen: 个团队agents 由一个架构师AI指挥底下的sub agents 也可以 04/26 14:24
47F:→ strlen: 做到现在人类能做的事...... 04/26 14:24
48F:→ strlen: 当然目前需求还是由人类开 但哪天AI连需求也都学起来了... 04/26 14:25
49F:→ strlen: 到最後肯定就是 人类只要出一个命题 AI自行分析需求 自行 04/26 14:26
所以最终需求不还是人类提的吗XD 这边需求是request的意思不是requirement
50F:→ strlen: 规划架构 自行指派sub agents实作 自行review 自行迭代... 04/26 14:26
51F:→ strlen: 这是迟早的事 半年内或许就看得到了 唉唉唉唉 04/26 14:27
52F:推 VScode: 连PM跟架构师都失业吗 太惨了.. 04/26 14:34
53F:推 Staker: 同意 04/26 14:43
54F:推 devilkool: 跟客户沟通的经验让我觉得AI应该还是很难学沟通需求 04/26 14:45
55F:推 ian90911: 同意 04/26 15:04
56F:推 viper9709: 觉得AI还是很难跟客户沟通+1 04/26 15:22
※ 编辑: gigayaya (1.163.108.32 台湾), 04/26/2026 15:30:07
57F:推 sarsman: 认同 04/26 16:24
58F:→ sarsman: 以受薪阶级角度来说,仍然有工作需求,但扛锅范围会变广 04/26 16:25
59F:推 wulouise: ai现在通灵context大概还在eng 等级,不能到客户因为产 04/26 16:25
60F:→ wulouise: 品知识不一定够 04/26 16:25
61F:→ ikachann: 客户最厉害的是 他自己想要什麽也说不清 04/26 19:00
62F:→ ikachann: 你还要慢慢引导他 他想要的是什麽 04/26 19:00
63F:推 dream1124: 解析得不错,算是现在难得理性客观讨论的文章,推! 04/27 00:28
64F:→ strlen: 的确是人类提的 但那个人 不一定是你啊 XDDDDD 04/27 01:12
65F:推 pinner: 我是觉得两年前的涌现其实是多层transformer架构下把更高 04/27 13:11
66F:→ pinner: 层次的理解变成单位元素,并实现跨越段落理解,让AI更像 04/27 13:11
67F:→ pinner: 有智商,如果哪一天他们可以再下一步(继续加大模型大小 04/27 13:11
68F:→ pinner: )让一整门学问都成爲单位元素的时候人类所谓的创意也没 04/27 13:11
69F:→ pinner: 有用了。个人感受是创意其实只是不同面向去思考一件事情 04/27 13:11
70F:→ pinner: ,所以当人夸奖你有创意的时候只是说你「想事情的角度跟 04/27 13:11
71F:→ pinner: 他们不一样」。当AI可以自己从各种角度切入的时候,各种 04/27 13:11
72F:→ pinner: 学问被攻略只是时间问题了 04/27 13:11
73F:推 Wishmaster: 我觉得不确定性还是太大了,也可能是我太废了... 04/27 15:23
74F:→ Wishmaster: 想像中你限缩得够好他给的答案会趋近唯一,但问题是 04/27 15:24
75F:→ Wishmaster: 这不是一定 04/27 15:24
76F:推 viper9709: 推楼上 04/27 15:25
77F:推 secrectlife: 我觉得ai够聪明後你这些prompt 根本没差 04/27 19:11
78F:推 Romulus: 那麽霹雳车什麽时候才会实现呢 04/29 10:02
79F:→ superpandal: 思路衍生的创造本来就很有power 不觉得ai能有创意 04/29 21:50
80F:→ superpandal: 想事情角度不同恰恰是事情最终结果差异的起因 04/29 21:52