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

210 lines
6.7 KiB
Markdown

# 模块 2:四类上下文
<div class="grid grid-cols-2 gap-4 mt-6 text-sm">
<div class="p-3 rounded-xl bg-blue-500/10 border border-blue-500/30">
**@workspace:找路** — 找入口、文件、模块
</div>
<div class="p-3 rounded-xl bg-emerald-500/10 border border-emerald-500/30">
**#File:看文件** — 分析文件间调用关系
</div>
<div class="p-3 rounded-xl bg-amber-500/10 border border-amber-500/30">
**#Code:抠细节** — 分析某个方法
</div>
<div class="p-3 rounded-xl bg-purple-500/10 border border-purple-500/30">
**#Web:查外部** — 查框架文档,但必须回代码验证
</div>
</div>
<!--
若依项目比较大,所以更要正确选择上下文。
@workspace 用来找入口,比如找 getInfo、getRouters、按钮权限指令。
#File 用来分析相关文件,比如用户管理页面和用户 Controller。
#Code 用来分析某个方法,比如 handleLogin 或某个权限判断函数。
#Web 用来查框架文档或最佳实践,但不能替代项目代码依据。
-->
---
# 上下文选择决策树
<div class="mt-6 text-sm">
| 你现在的问题 | 优先引用 | 典型指令 |
|---|---|---|
| 不知道入口在哪 | @workspace | 先找相关文件和函数,不要下结论 |
| 已经知道关键文件 | #File | 分析这些文件之间的调用关系 |
| 某个函数行为不清 | #Code | 拆参数、分支、异常和副作用 |
| 项目内没有依据 | #Web | 查框架资料,再回代码验证 |
</div>
<div class="mt-4 p-3 rounded-xl bg-amber-500/10 border border-amber-500/30 text-sm">
<strong>判断原则:</strong>先宽后窄,先找路再聚焦,先项目证据再外部资料。
</div>
<!--
很多学员会一上来就 @workspace 问一个大问题,也有人直接把单个文件给 AI。
这里要训练一个选择顺序。
不知道入口时先用 @workspace 找路;入口明确后用 #File 聚焦;函数细节再用 #Code;外部资料只能补充背景,不能替代项目事实。
-->
---
# @workspace 找路示例
<div class="mt-4 p-4 rounded-xl bg-blue-500/10 border border-blue-500/30 text-sm">
```
@workspace 请找出若依中与"用户登录后菜单路由生成"相关的前后端文件。
要求:标注文件路径 · 标注函数或类名 · 区分事实和推测 · 列出不确定点
```
</div>
<!--
这个 Prompt 适合任务早期。
我们不知道具体文件在哪里,就让 @workspace 先找入口。
它应该帮我们找出前端登录、权限 store、路由守卫、getRouters API,以及后端菜单路由接口相关文件。
但所有结论都必须标注依据。
-->
---
# @workspace 输出验收
<div class="mt-5 text-sm">
| 合格输出 | 不合格输出 |
|---|---|
| 列出文件路径和函数/类名 | 只说“大概在权限模块” |
| 区分前端、后端、配置文件 | 把前后端逻辑混在一起 |
| 标注依据和不确定点 | 直接给安全结论 |
| 给出下一步建议引用哪些文件 | 一次性要求 AI 修改代码 |
</div>
<div class="mt-5 p-3 rounded-xl bg-blue-500/10 border border-blue-500/30 text-sm">
最低证据:至少定位 3 个前端文件、2 个后端文件,以及 1 条权限或日志相关依据。
</div>
<!--
@workspace 的目标不是马上解决问题,而是建立地图。
如果 AI 只给结论,没有路径、函数和不确定点,就说明上下文还没有收敛。
-->
---
# #File 聚焦示例
<div class="mt-4 p-4 rounded-xl bg-emerald-500/10 border border-emerald-500/30 text-sm">
```
#File 请分析这些文件中登录、用户信息、菜单路由的调用关系。
重点:谁调用login · 谁调用getInfo · 谁调用getRouters ·
权限信息保存在哪里 · 路由在哪里动态生成
```
</div>
<!--
当我们找到相关文件后,就用 #File 聚焦。
这时目标不是全局找,而是分析这些文件之间的调用关系。
谁调用 login,谁调用 getInfo,谁调用 getRouters,权限信息保存在哪里,路由在哪里动态生成。
-->
---
# #File 调用链模板
<div class="mt-4 p-4 rounded-xl bg-emerald-500/10 border border-emerald-500/30 text-sm">
```md
#File 请基于已选文件输出调用链:
1. 入口动作:用户点击了什么
2. 前端函数:调用哪个 API 方法
3. 请求接口:method + url
4. 后端入口:Controller 类和方法
5. 业务处理:Service/Mapper 关键方法
6. 权限与日志:注解、拦截器或 AOP 依据
7. 不确定点:哪些文件仍需补充引用
```
</div>
<!--
这个模板适合从文件集合里整理调用链。
它强制 TRAE 按“入口动作、前端函数、请求接口、后端入口、业务处理、权限日志、不确定点”的顺序输出,避免直接跳到结论。
-->
---
# #Code 抠细节示例
<div class="mt-4 p-4 rounded-xl bg-amber-500/10 border border-amber-500/30 text-sm">
```
#Code 请分析 handleLogin 函数。
重点:参数来源 · 调用哪个API · token如何保存 ·
失败如何处理 · loading是否恢复 · 登录成功后跳转哪里
```
</div>
<!--
如果我们只分析登录函数,就用 #Code。
重点看参数来源、API 调用、token 保存、失败处理、loading 恢复和登录成功后的跳转。
这类函数级分析非常适合发现细节风险。
-->
---
# #Code 细节检查清单
<div class="grid grid-cols-2 gap-4 mt-6 text-sm">
<div class="p-3 rounded-xl bg-amber-500/10 border border-amber-500/30">
<div class="font-bold mb-1">输入</div>
<div>参数来源、默认值、空值、权限字符</div>
</div>
<div class="p-3 rounded-xl bg-amber-500/10 border border-amber-500/30">
<div class="font-bold mb-1">分支</div>
<div>成功、失败、取消、异常、无权限</div>
</div>
<div class="p-3 rounded-xl bg-amber-500/10 border border-amber-500/30">
<div class="font-bold mb-1">副作用</div>
<div>token、store、路由、列表刷新、日志</div>
</div>
<div class="p-3 rounded-xl bg-amber-500/10 border border-amber-500/30">
<div class="font-bold mb-1">恢复</div>
<div>loading、弹窗、错误提示、状态回滚</div>
</div>
</div>
<!--
#Code 不是让 AI 重写函数,而是拆细节。
尤其要看失败分支和副作用。
很多页面问题不是主流程错,而是异常后 loading 不恢复、状态不刷新、错误提示缺失。
-->
---
# #Web 使用边界
<div class="mt-6 text-sm">
**可查:** Spring Security 权限实践 · Vue Router 动态路由 · 前端按钮权限最佳实践
**但:** 若依当前实现必须回到代码验证。外部资料只能提供参考,不能替代项目事实。
</div>
<!--
#Web 可以查外部资料,比如 Spring Security 权限实践、Vue Router 动态路由、按钮权限最佳实践。
但若依当前实现如何,必须回到代码里验证。
外部资料只能提供参考,不能替代项目事实。
-->