转载于
https://www.zhihu.com/question/1962108177664447513/answer/1970065347844482732
这篇文章无 ai 成分,均为真人编写。
大模型改变了我的开发习惯。
当去修一个 issue, 或者完成一个需求的时候,一般都是更改已有的代码库。
需要了解代码库的结构,要修改的位置,如何更改。最后加一个测试作为 regression test。
有一个典故叫做,改这一行只需要 1 分钟。但是知道在哪里改,为什么要这么改,就不止这 1 分钟。
而在这步,llm code agent 会花非常多的上下文进行 plan(数据来源:交了 20+ 个 pr 观察出来的结论)
人在工作的时候有两个东西很重要,context (上下文)。attention (注意力)。
上下文决定了你在工作时能够记得多少背景知识,有多少进入了你的活跃记忆。注意力则是能保证你能够专心看着在改的那一块。
大模型的上下文比人要大,特别是对于比较新的代码库,能在较短的时间内,把大量代码塞入自己的上下文,然后用工具(rg,ast-grep)找哪里需要更改,然后改。所以大模型在这方面的速度比人快。
人写代码的时候,一般都会用一个编辑器去写。编辑器提供了高亮以及错误诊断,主机提供了编译环境。确保代码能够运行以及通过测试。