从代码规范到智能体实践:Trae 如何自动完成前端代码审查
做前端开发时,代码规范往往是最容易被忽略、却最影响项目质量的部分。随着项目体量增长,仅靠人工 Review 很容易出现遗漏,于是我尝试让智能体来承担这部分工作。本文通过一个真实示例,展示如何让 Trae 的 Agent 自动完成代码规范检测和修复。
一、代码规范问题从哪里开始
在日常开发中,常见的代码规范问题包括:
- 函数命名不统一(如 get_user_info 与 getUserInfo 混用)
- 逗号与分号风格不一致
- console.log 未移除
- 缺少必要注释
- 代码缩进混乱
示例问题代码如下:
function get_user_info() {
let user = {
name: 'ai',
age: 18
}
console.log(user)
return user;
}
get_user_info();
这些问题在小文件中看似微不足道,但在多人协作与大型仓库中会显著降低可维护性。
二、引出核心主题:代码规范检测 Agent
在思考如何更自动化地解决规范问题时,Agent 成为了最佳选择。
要真正理解为什么 Agent 适合这类任务,需要先看清它的本质。
三、Agent 的概念与价值
Agent(智能体)具备以下能力:
- 感知:理解你的输入、代码上下文与需求
- 思考:主动规划任务,而不是等待你逐条指令
- 行动:利用工具执行任务、写文件、处理数据
Chatbot 与 Agent 的关键区别在于:
- Chatbot 是被动的问答系统
- Agent 是主动的行动者,能够解决任务而不是仅回答问题
一句话总结:
Chatbot 是会“聊”,Agent 是会“做”。
四、Agent 的核心组成公式
智能体可以用一个简洁公式表达:
Agent = Prompt Engineering + Tools
- Prompt Engineering:定义角色、规则、能力边界
- Tools:搜索、代码格式化、文件写入、API 调用等
Trae 采用的是 Agent First 架构,也就是说其核心目标就是“完成任务”而不是“回答问题”。
五、实际案例:Trae 智能体的代码审查与自动修复
我为 Trae 配置了一个“前端代码审查专家”智能体,核心 Prompt 如下:
你是一个严格的前端代码审查专家。你的任务是分析我提供的代码,并确保它遵循以下规范:
1. 所有的 JavaScript/Typescript 文件必须符合 Prettier 格式化标准。
2. 所有 CSS 属性必须按照字母顺序排列。
3. 组件文件名必须用大驼峰命名法(PascaleCase),工具函数文件名必须使用小驼峰命名(camelCase)。
4. 禁止代码中使用 console.log。
随后我提供了这段不规范的代码:
function get_user_info() {
let user = {
name: 'ai',
age: 18
}
console.log(user)
return user;
}
get_user_info();
智能体处理后自动修复成:
function getUserInfo() {
let user = {
name: 'ai',
age: 18
};
return user;
}
getUserInfo();
可以看到:
- 函数由下划线命名改为驼峰命名
- 移除 console.log
- 调整缩进
- 添加分号
- 整体符合 Prettier 标准格式
无需任何手工 Review,智能体已自动完成“分析 → 修复 → 输出”。
六、Agent 如何完成复杂任务
以“调研前端框架并生成报告”为例,一个高级 Agent 会自动执行以下步骤:
1. 规划(Planning)
确定要比较的指标,如性能、生态、学习成本等。
2. 使用工具(Tool Use)
自动调用搜索、接口或本地文件工具收集数据。
3. 执行(Execution)
读取资料,筛选信息,整合对比点。
4. 输出(Output)
生成一份结构清晰的报告,可直接发布或写入文件。
这与人类专家的工作流程几乎一致。
七、PRD:代码规范检测 Agent 的核心需求
基于实践经验,可以总结出一份精简版 PRD。
功能需求
- 接收代码输入
- 按规范检测命名、缩进、格式化与 console 相关问题
- 自动修复并返回优化后的代码
- 输出问题报告
- 能在 CI/CD、Git Hook、编辑器插件中使用
非功能需求
- 稳定性高
- 输出格式一致
- 修改可追踪
- 风格与 Prettier 等现有规范兼容
这是一个真正能够落地的工程化智能体。
总结
从一个不起眼的代码规范问题出发,我们逐步扩展到:
- 为什么要做自动代码审查
- Agent 的定义与能力
- Agent 与 Chatbot 的本质区别
- Trae 如何通过 Prompt + Tools 自动完成多步骤任务
- 智能体修复代码的真实案例
- 一个可落地的规范检测 Agent PRD
将这些能力结合起来,就能让智能体真正参与到研发流程中,替你承担重复、耗时且容易出错的工作。