Files
TARE-Learn/slidev/pages/day1/m1-trae-positioning.md
T
smart 67837df8d0 docs: 更新TRA编程培训课程材料、课件与AI技能交付包
- 新增全套考试卷、评估卷、参考答案与考试培训包模板
- 修正slidev培训课件:调整模块标题、链路图缩放,替换工单示例为通用业务对象
- 修正课堂红线表述为证据红线,将小组作业调整为个人作业要求
- 新增权限、状态流转、审计日志、看板指标四类可复用业务规则块
- 整理AI工程技能交付包,迁移旧资产至客户专属交付包并统一术语
- 新增考试输出模板与TRAE使用记录文档
2026-08-08 11:00:36 +08:00

244 lines
9.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 为什么选若依作为案例?
<div class="mt-6 text-sm">
**若依适合训练:** 陌生代码库理解 · 前后端分离结构 · 登录认证链路 · 动态菜单与路由 · 角色与权限 · 按钮权限 · 数据权限 · 操作日志 · 代码生成
- 足够**真实** — 不是 demo,是完整后台管理系统
- 足够**典型** — 很多企业内部系统都有这些模块
- 足够**复杂** — 前后端分离、多模块、多层级
</div>
<!--
我们为什么选若依?
第一,若依足够真实。它不是 demo,而是一个完整后台管理系统。
第二,它足够典型。很多企业内部系统都有用户、角色、菜单、权限、日志、字典、代码生成这些模块。
第三,它非常适合讲 AI 辅助代码理解。因为若依既有前端也有后端、既有页面也有接口、既有权限也有日志、既有业务模块也有基础框架能力。
今天大家不是要记住若依所有代码,而是要学会一种方法:拿到一个陌生系统,如何让 TRAE 帮我们从结构、模块、链路和证据四个层面快速建立理解。
-->
---
# AI 编程不只是写代码
<div class="mt-6">
更重要的是:**读代码 · 找入口 · 追链路 · 查风险 · 写测试 · 生成文档 · 沉淀经验**
<div class="mt-6 p-4 rounded-xl bg-white/5 border border-white/10 text-sm">
AI 对研发的价值,不只是让某个人写得快一点,而是让团队更快理解系统、更快交接、更快定位风险。
</div>
</div>
<!--
AI 编程早期给大家的印象,可能是补全代码、生成函数、写几个工具方法。
但在企业研发中,真正耗时的往往不是写几行代码,而是理解历史代码、追踪业务链路、判断影响范围、确认权限边界、补充测试和沉淀文档。
AI 对研发的价值,不只是让某个人写得快一点,而是让团队更快理解系统、更快交接、更快定位风险。今天的重点不是"AI 会不会写",而是"AI 能不能帮我们更快读懂一个真实项目"。
-->
---
# AI 能效理念
<div class="grid grid-cols-2 gap-8 mt-6">
<div class="p-4 rounded-xl bg-red-500/10 border border-red-500/30">
**不是只看:** 代码写得更快
</div>
<div class="p-4 rounded-xl bg-emerald-500/10 border border-emerald-500/30">
**更要看:**
- 理解更快 · 交接更快
- 定位更快 · 风险更早暴露
- 团队知识沉淀更快
</div>
</div>
<!--
这里讲一个关键词:能效。在企业里,研发能效不是单点速度,而是整个研发链条的效率。
如果新人接手若依这样的后台系统,以前可能要花很多时间搞清楚登录在哪里、权限从哪里来、菜单怎么生成、按钮怎么控制、后端接口如何校验。
如果 TRAE 能帮我们快速定位这些文件和调用关系,它带来的价值就不是少写几行代码,而是降低理解成本、交接成本和维护成本。这就是我们第一天从陌生代码库理解开始的原因。
-->
---
# AI 替代人的现实判断
<div class="grid grid-cols-2 gap-8 mt-6">
<div>
**AI 会替代:** 重复性、低上下文、低判断含量的工作方式
</div>
<div>
**人必须负责:** 业务规则 · 权限边界 · 安全责任 · 架构取舍 · 上线决策
</div>
</div>
<!--
今天有管理层也有工程师,所以可以坦诚谈一下 AI 替代人的问题。
AI 会替代一部分重复性、低上下文、低判断含量的工作方式,但不能替代所有工程判断。比如若依里一个按钮是否应该对某个角色开放,这不是 AI 单独决定的。AI 可以帮我们找出权限字符在哪里配置、前端如何判断、后端如何校验,但业务上谁应该拥有这个权限,必须由人判断。
未来真正的差距,不是用不用 AI,而是能不能把 AI 放进标准研发流程,让它帮助我们找证据、提效率,而不是让它替我们承担责任。
-->
---
# 陌生项目分析的四个动作
<div class="grid grid-cols-4 gap-4 mt-8">
<div class="text-center p-4 rounded-xl bg-blue-500/10 border border-blue-500/30">
<div class="text-2xl mb-2">🏗️</div>
<div class="font-bold">看结构</div>
</div>
<div class="text-center p-4 rounded-xl bg-emerald-500/10 border border-emerald-500/30">
<div class="text-2xl mb-2">🔍</div>
<div class="font-bold">找入口</div>
</div>
<div class="text-center p-4 rounded-xl bg-amber-500/10 border border-amber-500/30">
<div class="text-2xl mb-2">🔗</div>
<div class="font-bold">追链路</div>
</div>
<div class="text-center p-4 rounded-xl bg-red-500/10 border border-red-500/30">
<div class="text-2xl mb-2">✅</div>
<div class="font-bold">查依据</div>
</div>
</div>
<div class="mt-6 text-center text-sm text-gray-400">最终产出:若依权限与菜单模块代码理解报告</div>
<!--
今天不是学几个 Prompt,今天训练四个动作。
第一,看结构。看若依前后端目录、模块分层、启动方式、技术栈。
第二,找入口。找登录入口、用户信息接口、菜单接口、权限判断入口。
第三,追链路。从登录开始,一路追到动态路由和按钮权限。
第四,查依据。AI 的每个关键结论,都要能回到文件、函数、接口或调用关系中验证。
今天最后的产出,是一份"若依权限与菜单模块代码理解报告"。
-->
---
# 模块 1:TRAE 的定位
<div class="grid grid-cols-2 gap-6 mt-6">
<div class="p-4 rounded-xl bg-emerald-500/10 border border-emerald-500/30">
**适合:** 检索代码 · 解释函数 · 梳理结构 · 生成链路初稿 · 生成文档初稿
</div>
<div class="p-4 rounded-xl bg-red-500/10 border border-red-500/30">
**不能直接替代:** 业务判断 · 权限决策 · 安全判断 · 上线决策
</div>
</div>
<!--
我们先给 TRAE 定位。TRAE 不是替代工程师的工具,而是研发辅助工具。
在若依项目里,TRAE 很适合帮我们找登录接口、找用户信息接口、找菜单加载逻辑、找权限判断指令、解释后端 Controller 和 Service 的职责。
但它不能替我们决定某个角色应该拥有什么权限,也不能替我们判断某个接口是否可以上线。AI 可以帮我们找到代码事实,但不能替代业务和安全责任。
-->
---
# 代码事实 vs 业务事实
<div class="grid grid-cols-2 gap-8 mt-8">
<div class="p-4 rounded-xl bg-blue-500/10 border border-blue-500/30">
**代码事实:** 代码现在怎么写
TRAE 擅长发现代码事实
</div>
<div class="p-4 rounded-xl bg-amber-500/10 border border-amber-500/30">
**业务事实:** 业务应该怎么规定
人工必须判断业务事实
</div>
</div>
<!--
在若依案例里,这个区分非常重要。
比如 TRAE 可能发现某个按钮使用了权限字符 system:user:edit,这是代码事实。但哪些角色应该拥有 system:user:edit,这是业务事实。
再比如,后端某个接口加了权限注解,这是代码事实。但这个接口权限设计是否合理、是否符合公司安全要求,这是业务事实。
所以我们用 TRAE 时,要明确它帮我们发现的是"当前系统怎么写",不是"业务上一定应该这样"。
-->
---
# 适合 TRAE 辅助的任务
<div class="mt-6 text-sm">
- 理解前后端目录
- 查找登录入口
- 查找菜单接口
- 分析动态路由生成
- 解释按钮权限
- 梳理角色权限关系
- 生成代码理解报告初稿
</div>
<!--
若依项目里,有很多任务适合 TRAE 辅助。比如理解前后端目录结构、查找登录入口、查找获取用户信息和路由菜单的接口、分析前端动态路由生成逻辑、解释按钮权限如何生效、梳理角色、菜单、权限字符之间的关系。
这些信息主要都在代码库里,可以通过文件、函数、接口验证。所以我们可以让 TRAE 先生成初稿,再人工校对。
-->
---
# 必须人工判断的任务
<div class="mt-6 text-sm">
- 角色权限是否合理
- 数据权限范围是否正确
- 接口是否应该开放
- 敏感操作是否必须审计
- 代码生成结果能否上线
- 权限变更是否影响生产
</div>
<!--
有些任务不能直接交给 TRAE 决定。
比如某个角色是否应该拥有用户删除权限,某个部门的数据权限范围是否正确,某个接口是否应该开放,修改角色权限是否会影响生产用户。
这些涉及业务规则、安全边界和上线风险,必须人工判断。TRAE 可以帮助我们列出当前权限链路和风险点,但不能直接给最终决策。
-->
---
# 产出:TRAE 使用边界清单
<div class="mt-6">
| 分类 | 说明 |
|------|------|
| 适合 TRAE 辅助 | 查找登录接口、分析调用链路 |
| 可生成初稿但必须人工复核 | 判断角色权限是否合理 |
| 不建议直接交给 TRAE 决定 | 判断能否上线 |
</div>
<!--
第一个实操是生成 TRAE 使用边界清单。
请大家围绕若依项目,列出哪些任务适合 TRAE 辅助,哪些可以让 TRAE 生成初稿但必须人工复核,哪些不建议直接交给 TRAE 决定。
例如"查找登录接口"适合 TRAE 辅助;"判断角色权限是否合理"可以生成初稿但必须人工复核;"判断能否上线"不建议交给 TRAE 决定。
-->