《高鹏飞-面向复杂软件工程任务的CodingAgent.pdf》由会员分享,可在线阅读,更多相关《高鹏飞-面向复杂软件工程任务的CodingAgent.pdf(39页珍藏版)》请在三个皮匠报告上搜索。
1、面向复杂软件工程任务的Coding Agent高鹏飞|字节跳动高鹏飞字节跳动 Trae Research Team上海科技大学计算机科学与技术工学博士学位,导师宋富研究员。曾访问新加坡管理大学,导师孙军教授。主要研究方向为利用形式化方法保障软件的安全性和可靠性。博士期间共发表高水平论文10篇,包括一作身份发表ACM TOSEM 3篇,IEEE TSE 1篇,OOPSLA 2024 1篇,荣获教育部博士研究生国家奖学金,上海市优秀毕业生,2023年CCF 形式化专委优秀博士论文激励计划等荣誉。在字节跳动MarsCode Research Team,负责 Coding Agent 的前沿探索和落地
2、-开源&闭源模型特性/SWE Agent 模型训练-Agent 算法的优化-Vibe Coding 下的软件工程新范式目 录CONTENTSI.背景II.Bugfix AgentIII.Build AgentIV.Reproduce AgentV.Evaluation AgentVI.总结与展望背景PART 01Agent LLM-based Agent 进行 tool call 环境交互 复杂任务 与 workflow 的区别 是否进行自主决策“Agents are models using tools in a loop”-Hannah Moran,Anthropic面向复杂软件工程任务的
3、 Coding Agent Bugfix Agent Build Agent面向复杂软件工程任务的Coding Agent Reproduce Agent Evaluation AgentBugfix AgentPART 02Bugfix Agent 自动求解 GitHub issue 的 Agent bug fix 是复杂软件工程任务的代表 错误定位 和 缺陷修复 代码仓粒度的代码理解 代码生成:reproduce script 生成&patch生成 命令执行:reproduce script 执行Bugfix Agent 代码检索 Code Knowledge Graph&LSP 动态调试
4、 Reproduce Script 的生成和运行 依赖代码仓运行环境 静态修复 生成修复计划,Symbol 编辑 不依赖代码仓运行环境Evaluation on SWE-bench 12 个 Top Star Python 代码仓 收集 issue description/golden patch/test cases 检验 Agent 生成的 patch 是否能通过 test casesEvaluation on SWE-bench Tech Giant AI Startup AcademiaHow TRAE Achieve#1 on SWE-bench VerifiedHow TRAE A
5、chieve#1 on SWE-bench VerifiedHow TRAE Achieve#1 on SWE-bench Verified1 https:/se- Agent Lessons Learned1 An Empirical Study on LLM-based Agents for Automated Bug Fixing.Xiangxin Meng,Zexiong Ma,Pengfei Gao,Chao Peng,arXiv:2411.10213,2024 高质量 issue description 仍然求解失败 Stack Trace 较深 无法正确识别关联修改 issue
6、描述中存在误导性求解方案 Agent 系统和 Non-Agent 系统求解的差异 Agent 系统探索了过多 fault 位置,导致最终选择错误 Agent 缺乏采样,导致多样性较低 Non-Agent 缺乏多轮对话和工具调用能力,补丁语法错误Bugfix Agent 落地实践 问题修复类型 空指针异常/代码风格/Clean Code 等 线上 crash Patch 接受率达 70%静态求解方案仍是主要手段Build AgentPART 03Build Agent1 https:/ Hu,Ruida,Chao Peng,Xinchen Wang,and Cuiyun Gao.An llm-b