27|如何根据代码库代码生成新的代码?
邢云阳

你好,我是邢云阳。
上节课,我们针对如何生成 Models 代码,做了两个阶段的设计和改造。
第一阶段,我们考虑到直接在提示词中编写待生成的 Models 以及字段描述是不合适的。因为字段太多会导致提示词很长,所以我们引入了 Agent tool,然后根据提示词,由大模型判断是否需要生成模型代码。如果需要则调用 Agent tool,按提示词中的“用户”“User”等关键字 pipe 代码。
而第二阶段呢,我们考虑到第一阶段的做法也有问题,那就是如果将提前写好的 models struct 都放到工具函数里,则工具函数也很长,此外能否精准匹配到也是个问题。因此我们索性就使用了 RAG 技术,将数据字典文档存入到向量数据库,然后由大模型根据用户提示词的关键词来检索,之后生成 struct。
最终测试结果也是非常理想的。由于我们的文档写的是数据表风格的,而且字段描述得很清楚,因此生成的代码,甚至连 gorm 注解都写好了,完全是“买一赠一”的惊喜。
Ok,那有了上节课的基础,这节课,我们再来思考另一件有意思的事,那就是历史代码的复用与借鉴。
历史代码复用思路
在日常开发中,尤其是维护公司项目时,我们经常会扮演 “CV 工程师”的角色——从旧项目中复制所需代码,稍作修改后粘贴到新项目中。这种重复性工作能否通过 AI 来完成呢?答案是肯定的。以 Golang Web 后端添加中间件函数为例,我来讲解具体的实现思路。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结

1. 使用RAG技术生成模型实体类代码,提高开发效率和代码风格的一致性。 2. LangChain + Qdrant实现文件切分入库,为后续代码生成提供基础。 3. 设计Agent tool,让大模型调用历史代码生成新的代码,提升开发效率。 4. 通过向量相似度匹配找到最相关的历史代码,实现历史代码的复用与借鉴。 5. 优化代码生成的提示词和工具描述,简化工具使用流程,提高工具的易用性和效率。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《DeepSeek 应用开发实战》,新⼈⾸单¥59
《DeepSeek 应用开发实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论