1、TRAE 在代码编辑中的实践演讲人:冯绪TRAE/架构师目录010203Agent 在 AI 编程助手中的价值从代码补全到 Agentic Edit 的探索01020304TRAE 编程助手的发展阶段总结和展望Agent 在 AI 编程助手中的价值Agent 在 AI 编程助手中的价值AI 编程助手正经历从 辅助工具 到 自主智能体 的深刻变革Q 代码编辑能力定位文件的编辑位置,准确完成文件的修改项目感知与上下文理解理解项目结构、文件依赖和业务逻辑,超越当前文件的局部视角代码验证与测试生成自动生成测试用例,验证修改的正确性,减少人工测试工作自主定位文件与代码改动通过对项目结构的理解和语义分析,
2、自主识别相关代码文件和修改位置变更矫正与迭代优化通过测试和分析自主识别问题,生成新修改方案进行迭代自动规划与执行将复杂任务分解为可执行子任务,制定详细执行计划并自主执行核心价值关键能力Agent 自主智能体辅助工具智能辅助Agent 在 AI 编程助手中的价值AI 编程助手正经历从 辅助工具 到 自主智能体 的深刻变革Q 代码编辑能力定位文件的编辑位置,准确完成文件的修改项目感知与上下文理解理解项目结构、文件依赖和业务逻辑,超越当前文件的局部视角代码验证与测试生成自动生成测试用例,验证修改的正确性,减少人工测试工作自主定位文件与代码改动通过对项目结构的理解和语义分析,自主识别相关代码文件和修改
3、位置变更矫正与迭代优化通过测试和分析自主识别问题,生成新修改方案进行迭代自动规划与执行将复杂任务分解为可执行子任务,制定详细执行计划并自主执行核心价值关键能力Agent 自主智能体辅助工具智能辅助准确的文件定位和代码编辑能力文件定位能力有限传统 AI 助手需要用户手动指定文件或代码块,无法自主识别相关代码文件 和修改位置跨文件修改困难处理跨文件、跨模块的复杂修改时,传统 AI 助手自动化能力有限,需多次干预存在的挑战TRAE 编程助手的发展阶段TRAE 编程助手的发展阶段用户体验:经用户选中的代码块自动应用,一次性修改补全&ChatChat ApplyBuilder&Cue编辑能力:代码续写,
4、Chat 提供代码片段,需要手动插入用户体验:基础交互,效率提升有限编辑能力:根据代码块编辑文件,具备一定的文件定位能力编辑能力:Cue 提供即时的文件改写、删除、续写等体验;Builder 自动规划和查找要变更文件,自动完成变更和迭代用户体验:自动化的开发体验,大幅提升开发效率补全&Chat :基础交互的建立:基础交互的建立用户提问ChatAI 生成代码手动复制粘贴集成到项目代码补全用户编辑代码AI 给出续写建议Chat Apply:自动化编辑AI 生成修改代码AI 编辑目标文件用户确认采用AI 识别目标文件Builder&Cue:智能化编辑智能化编辑 Cue多行编辑、智能改写、光标预测 B
5、uilder项目上下文感知、自主规划、多文件编辑编辑能力的逐步增强Builder&Cue补全&ChatChat Apply代码续写简单的替换根据目标代码自动改写原文件具备一定的文件定位能力Agentic Edit智能的、自主的文件编辑能力从代码补全到 Agentic Edit代码补全代码补全 通过 FIM、最近打开文件等优化手段提升效果 局限性:只能编辑光标所在位置的代码 让模型续写编辑器中的代码,是模型最擅长的能力Apply 让 Chat 更有用武之地Chat 模型输出的代码块的特点Apply 只输出关键的代码,不输出所有的内容 其他无变更的代码使用缩略格式表示为什么要求 Chat 模型输出
6、这样的格式呢Apply 节省 Token 上下文窗口不足以让模型输出全文 为什么不输出 Diff 格式呢 Chat 模型并不擅长输出 Diff 格式 准确性不尽如人意 Diff 格式对于用户的阅读体验较差Apply 要解决的问题 根据模型输出的代码正确地编辑原文件Apply原始文件def calc_sum(a,b):return a+bdef calc_min(a,b):Chat 模型输出(Plan)#existing codedef calculate_sum(num1,num2):return num1+num2#existing code+=def calculate_sum(num1,