108 lines
4.1 KiB
Markdown
108 lines
4.1 KiB
Markdown
# 模块 5:常见 AI 幻觉
|
||
|
||
<div class="mt-6 p-4 rounded-xl bg-red-500/10 border border-red-500/30 text-sm">
|
||
|
||
**常见不可信结论:**
|
||
- 若依权限系统很完善
|
||
- 所有接口都有后端校验
|
||
- 按钮权限已经保证安全
|
||
- 操作日志一定完整
|
||
- 代码生成结果可以直接上线
|
||
</div>
|
||
|
||
<!--
|
||
在若依这种项目里,AI 很容易给出看起来正确但不严谨的结论。
|
||
比如“若依权限系统很完善”“所有接口都有后端校验”“按钮权限已经保证安全”“操作日志一定完整”“代码生成结果可以直接上线”。
|
||
这些话都不能直接信。
|
||
要追问:依据文件在哪里?哪个 Controller?哪个注解?哪个权限字符?哪个 AOP?哪个 Service?
|
||
没有依据,就不能写成确定结论。
|
||
-->
|
||
|
||
---
|
||
|
||
# 可信输出四件套
|
||
|
||
<div class="grid grid-cols-4 gap-4 mt-8">
|
||
<div class="text-center p-4 rounded-xl bg-white/5 border border-white/10">
|
||
<div class="text-2xl mb-2">📁</div>
|
||
<div class="font-bold text-sm">文件路径</div>
|
||
</div>
|
||
<div class="text-center p-4 rounded-xl bg-white/5 border border-white/10">
|
||
<div class="text-2xl mb-2">⚙️</div>
|
||
<div class="font-bold text-sm">函数/类/注解</div>
|
||
</div>
|
||
<div class="text-center p-4 rounded-xl bg-white/5 border border-white/10">
|
||
<div class="text-2xl mb-2">🔗</div>
|
||
<div class="font-bold text-sm">调用关系</div>
|
||
</div>
|
||
<div class="text-center p-4 rounded-xl bg-white/5 border border-white/10">
|
||
<div class="text-2xl mb-2">❓</div>
|
||
<div class="font-bold text-sm">不确定点</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!--
|
||
若依案例里,一条可信结论必须包含四件套。
|
||
文件路径:前端哪个 api 文件、后端哪个 Controller。
|
||
函数、类或注解:getInfo、getRouters、权限指令、Controller 方法、权限注解。
|
||
调用关系:登录后先拿 token,再 getInfo,再 getRouters,再生成动态路由。
|
||
不确定点:比如无法确认某个接口是否有数据权限校验。
|
||
四件套不全的回答,不能轻易采纳。
|
||
-->
|
||
|
||
---
|
||
|
||
# 不可信回答示例
|
||
|
||
<div class="mt-6 p-4 rounded-xl bg-red-500/10 border border-red-500/30 text-sm italic">
|
||
「若依已经实现了完整权限控制,用户登录后会自动加载菜单和按钮权限,后端接口也都有权限校验,整体风险较低。」
|
||
</div>
|
||
|
||
<div class="mt-4 text-sm text-gray-400">问题:没有文件路径 · 没有函数名 · 没有调用关系 · 没有不确定点</div>
|
||
|
||
<!--
|
||
这段话看起来很顺,但不合格。
|
||
为什么?没有文件路径。没有函数名。没有说明菜单从哪个接口加载。没有说明按钮权限由哪个指令判断。没有说明后端接口权限在哪里校验。没有列出不确定点。
|
||
这种回答不能进入报告。
|
||
-->
|
||
|
||
---
|
||
|
||
# 可信回答示例
|
||
|
||
<div class="mt-6 p-4 rounded-xl bg-emerald-500/10 border border-emerald-500/30 text-sm italic">
|
||
「前端登录成功后调用 getInfo 获取用户信息和权限字符。随后调用 getRouters 获取动态路由菜单。前端根据返回路由生成侧边栏菜单。可以确认前端存在菜单和按钮权限控制。但仍需检查后端 Controller 权限注解,才能确认接口级权限。」
|
||
</div>
|
||
|
||
<!--
|
||
这个回答更可信。
|
||
它说明了前端登录后的两个关键动作:getInfo 和 getRouters。
|
||
它说明了前端根据返回路由生成菜单。
|
||
同时它没有夸大结论:可以确认前端存在菜单和按钮权限控制,但仍需检查后端 Controller 权限注解,才能确认接口级权限。
|
||
这就是专业表达。
|
||
-->
|
||
|
||
---
|
||
|
||
# 产出:TRAE 输出校验清单
|
||
|
||
<div class="mt-6 text-sm">
|
||
|
||
| 检查项 | 要求 |
|
||
|--------|------|
|
||
| 文件路径 | 必须有 |
|
||
| 函数/类/注解 | 必须有 |
|
||
| 调用关系 | 必须说明 |
|
||
| 前后端区分 | 必须区分 |
|
||
| 不确定点 | 必须列出 |
|
||
| 验证方式 | 必须给出 |
|
||
|
||
</div>
|
||
|
||
<!--
|
||
这一部分的产出是 TRAE 输出校验清单。
|
||
以后 AI 给出若依权限分析时,就按这些问题检查:
|
||
是否有文件路径?是否有函数、类或注解?是否说明调用关系?是否区分前端权限和后端权限?是否列出不确定点?是否给出验证方式?
|
||
没有通过这些检查的内容,不写进报告。
|
||
-->
|