1、基于GPT的代码review助手开发与应用李明宇 高级工程师/“编程老师傅”中国科学院计算技术研究所 处理器芯片国家重点实验李明宇“编程老师傅”“l 前深信服科技集团云计算首席专家l 中国科学院计算技术研究所高级工程师,开源项目活跃开发者,20 余年编程与软件开发经验,10余年云端系统研发与产业化工作经历。历任国家重点实验室研究组负责人,上市公司事业群技术总监、首席技术专家。l 李老师在理论研究和产业实践均有丰富的经验,为多家知名企业和单位落地云原生和数字化转型项目。荣获中国软件协会“优秀CTO”等多项荣誉,兼任中国新一代IT产业联盟分委会秘书长、全国高校人工智能与大数据创新联盟专家委员、北京
2、开源创新委员会委员。”请插入您的照片讲师简介 背景与痛点 让人又爱又恨的 Code Review 环节 Code-Chat-Reviewer开发历程与实现原理 应用效果与优缺点 最近一个月的新进展 总结与展望目录背景与痛点RHINO目前的PR Review生成效果目前的PR Review生成效果目前的PR Review生成效果目前的PR Review生成效果目前的PR Review生成效果对比:过去(4月份)背景与痛点 让人又爱又恨的 Code Review 环节Pull/Merge Request Review众所周知的重要性:质量!知识共享、持续维护背景与痛点 让人又爱又恨的 Code R
3、eview 环节Reviewer X 2Pull/Merge Request Review众所周知的重要性:质量!知识共享、持续维护但是,没有人喜欢但是,没有人喜欢 PR Review:成本、短期效率成本、短期效率心理和社交压力心理和社交压力核心成员的精力分配与持续成长核心成员的精力分配与持续成长背景与痛点 让人又爱又恨的 Code Review 环节LLM+Reviewer X 1Pull/Merge Request Review众所周知的重要性:质量!知识共享、持续维护但是,没有人喜欢但是,没有人喜欢 PR Review:成本、短期效率成本、短期效率心理和社交压力心理和社交压力核心成员的精
4、力分配与持续成长核心成员的精力分配与持续成长另一个问题:为什么要在 Pull/Merge Request Review环节用LLM?为什么不在其他环节对代码审查中解决?比如VS Code CopilotReview对象不同,上下文、时间点不同对象不同,上下文、时间点不同Code-Chat-开发历程与实现原理ReviewRHINOCode-Chat-Review 开发历程与实现原理Git1.git pushReview-BotContributor2.Webhook3.GET Code Changes 5.POST Review Comments4.Prompts/MessagesGenerat
5、ed Review Commentsv0.1 gpt-3.5gpt-4 API waitlist.Human Reviewer X17.Comment/Approve6.ReviseGPT效果与问题:效果与问题:gpt-3.5效果不理想,挑出来的问题比较琐碎 大家很期待 gpt-4 API的开放Code-Chat-Review 开发历程与实现原理Git1.git pushReview-BotContributor2.Webhook3.GET Code Changes 5.POST Review Comments4.Prompts/MessagesGenerated Review Comment
6、sv0.1 gpt-3.5gpt-4 API waitlist.Human Reviewer X17.Comment/Approve6.ReviseGPT效果与问题:效果与问题:gpt-3.5效果不理想,挑出来的问题比较琐碎 大家很期待 gpt-4 API的开放messages=role:system,content:As an AI assistant with expertise in programming,your primary task is to review the pull request provided by the user.When generating your r