近况III
随笔
Harness
LLM出来之后,相关的新词就是一波接一波。从最开始的few-shot,one-shot,in-context learning,prompt engineering,prompt tuning等,到今天的harness engineering,loop engineering。
有些名词感觉纯纯的炒作,有些感觉还是比较合理的。2026年我觉得确实是一种新范式的只有harness和skill。我一开始觉得skill不就是prompt吗,不就是工具调用吗。skill和工具调用确实有很大的相似之处。因为工具一般是一段脚本,那就是一个固定的工作流。skill一般也被大家用来固定某个工作流。skill可以在对话的任何时候调用,工具也是。那他们到底有啥差别?
一般来说,工具是不涉及LLM的,是启发式的。但是有些工作流会涉及到对非结构化信息的处理,加工等。比如你要分析数据,你不仅要写一点脚本把数据搞出来,还需要判断一下下一步怎么弄。这种可能涉及到逻辑推理,因果分析的判断,适合让LLM来做,但是不适合放在工具里面。否则就变成LLM调用工具,工具再调用一个LLM,会很诡异,不如LLM调用工具再根据经验来判断自然。
因此,简单的工作流,压根不需要Skill,工具就能搞定。只有复杂性稍微高一点的才会需要我们整合一个Skill。
Harness,一般认为包括权限管理,沙箱,hooks,上下文压缩,工具调用,多Agent协作等一系列能力。但是我觉得大部分都是极其同质化的。例如hooks,你还能弄上天不成?所以我觉得真正拉卡差距的主要还是在上下文工程上。上下文工程包括了prompt,压缩,记忆等一系列工作。这个我感觉是核心技术。
AI 提效了吗?
就算是OpenAI这样的公司,Codex也会有大量的bug。这说明了最强的模型+最强的harness,依然不是软件工程的银弹。从我自己的感受上来看,AI仅仅只是提升了我写代码、看代码的速度。对于简单的bug,复杂的需求,他都可以很好的完成,但是不能保证他不侵犯其他的代码(我觉得这个属于memory的一部分)。但是对于复杂的bug,还是需要大量的人的参与才行。对于最后的产出,我感觉提升也就只是在10-20%之间。模型的幻觉现象还是有点严重的。
而且由于AI产生代码的速度非常快,导致我体感上觉得我需要完成的工作比之前更多了。现在一些复杂的功能,过去可能需要花一天的时间来写1000行代码(甚至需要半天来理清需求和写文档),现在我只需要一个模糊的需求,加上一个grill me的skill,加上我自己臆想的一些假设,就可以开始酷酷吐代码了。代码写的快,屎山也就来的更快。
我觉得恐怖的一点是,即使是受过专业训练的人,在AI的帮助下也会渐渐沦为一个不会思考只想许愿的笨蛋。受过专业训练的人会知道什么样的抽象是最好的,但是长久的不主动思考,必然会使得这样的能力慢慢退化。一边是技术平权,一边是技术退步,未来怎么样的人才能算是深度/专业开发者?