其实这和用google一样,很多人是真的就是不会,所谓的“搜商”讲的就是搜索的能力,你必须要教他才行。
更深一层是99%的人必须要流程化sop这样教他,他才能学会使用新工具,智商是不如ai的,这不是什么暴论,是一个非常现实的情况。
我这里说几点大幅改善各位的ai体验的办法:
o3 high的上下文严重不足,以至于很难去一次性理解所有代码,而且o3 high很容易漏掉很多部分,所以对代码的分析必须要使用gemini pro,让gemini去做大规模的分析,然后用o3去继承这个上下文,去给出每个小问题的解决方案,每个大问题本质上都是小问题的某种集合。
刻意不让gemini pro写代码,gemini喜欢动不动就大规模改代码,对的也容易改成不对的,而且一次性改的范围太大,输出的代码太多,会导致有问题很难发现。应该只使用gemini pro的分析能力,尽可能把大规模的问题步骤化去解决,不要总想着一步到位。
针对每个小问题,都要让o3 todolist一下,而不能一直跑一直改,不todolist的话他会被输出token限制导致输出不足,没有todolist他会做了前面就忘了后面,做了后面又忘了前面,最后按着todolist写代码的可以是o3也可以是o4mini high,todolist完就一直continue就好了。
代码库重构规模比较大的话,要把o3的针对性解决方案开一个新的上下文输进去,每次o3就解决一个小问题,刻意去控制他的上下文。事后可以用新的上下文换回gemini做一模一样的第二次分析,保证o3没有遗漏。
还有就是不要总是逼着ai怎么怎么做,要首先问ai怎么做比较好,然后有问题再修正他,让他充分思考和grep完应该grep的部分,不然他没有足够的上下文,很难理解你的意图。
比如你不要一开始就让他你这部分改成这样那样,而是应该问他,我现在希望这个程序要首先考虑查错效率,你觉得这部分可以怎么改?其实你是知道应该怎么改的,但是这一步至关重要,等于给他一个充分的上下文,因为同一个chat他的所有回复都会一直被这个上下文影响。
o3 high改代码的时候要珍惜上下文,没有意义的上下文可以回退但是without revert,让他尽可能一直接着对他下个问题最相关的上下文去回答。
事实上我认为ai写代码反而是一个检验代码质量的标准,因为如果你本身代码是模块化的,脱离了其他部分,给他输入也一样能跑的,ai是能很好处理的。
但是如果你的代码都是屎山,错综复杂,那别说ai了,人也没法处理,只能重写。
o3 high的智商是非常高的,他能深入理解一些资深程序员都不一定能发现的问题,他的核心弱点在于上下文的限制,所以要小心翼翼的控制问题的规模和范围,充分发挥他的智商。