DeepSeek 应用开发实战
云阳
某大厂 AI 与容器技术专家
6876 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 32 讲/共 39 讲
DeepSeek 应用开发实战
15
15
1.0x
00:00/00:00
登录|注册

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
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部