docs: 更新TRA编程培训课程材料、课件与AI技能交付包

- 新增全套考试卷、评估卷、参考答案与考试培训包模板
- 修正slidev培训课件:调整模块标题、链路图缩放,替换工单示例为通用业务对象
- 修正课堂红线表述为证据红线,将小组作业调整为个人作业要求
- 新增权限、状态流转、审计日志、看板指标四类可复用业务规则块
- 整理AI工程技能交付包,迁移旧资产至客户专属交付包并统一术语
- 新增考试输出模板与TRAE使用记录文档
This commit is contained in:
smart
2026-08-08 11:00:36 +08:00
parent e7d6db93c3
commit 67837df8d0
169 changed files with 6618 additions and 2887 deletions
+121
View File
@@ -0,0 +1,121 @@
# 模块 9:Agent 的权限与停止边界
<div class="mt-6 text-sm">
给 Agent 更多工具,不会让结论更可靠,只会扩大它可能造成的影响。
角色、上下文和工具权限必须同时收敛,才能让一份 Agent 资产在不同任务中保持可控。
</div>
<div class="grid grid-cols-3 gap-4 mt-8 text-sm">
<div class="p-4 rounded-xl bg-blue-500/10 border border-blue-500/30 text-center">角色<br><span class="text-xs op-70">允许承担什么判断</span></div>
<div class="p-4 rounded-xl bg-emerald-500/10 border border-emerald-500/30 text-center">上下文<br><span class="text-xs op-70">允许读取什么材料</span></div>
<div class="p-4 rounded-xl bg-red-500/10 border border-red-500/30 text-center">工具<br><span class="text-xs op-70">允许产生什么副作用</span></div>
</div>
<!--
逐字稿:给 Agent 更多工具,不会自动提高结论质量,反而会扩大错误操作的影响。可靠的 Agent 必须同时收敛三件事:它承担什么角色、能读取哪些材料、可以产生哪些副作用。最小授权不是使用时的提醒,而是 Agent 定义的一部分。
自定义 Agent 的工具集是 Trae 可配置字段,因此权限不是课后补充项,而是 Agent 定义的一部分。这里把“最小授权”落在编写 Agent 时,而不是只靠使用者记住。
-->
---
# 按风险选择最小工具集
<div class="mt-5 text-xs">
| Agent 类型 | 典型职责 | 最小能力方向 | 不应默认拥有 |
|---|---|---|---|
| 代码理解 Agent | 定位入口、调用链与事实 | 代码搜索、文件读取 | 写文件、执行发布 |
| 方案审查 Agent | 比较方案与范围风险 | 读取源码、diff、规则 | 直接修改业务代码 |
| 测试设计 Agent | 生成测试点与验证方案 | 读取需求、代码、测试 | 宣称测试已经通过 |
| CI 分析 Agent | 分层解释失败日志 | 读取日志、配置、diff | 修改环境或密钥 |
| 实施 Agent | 在确认范围内生成变更 | 受控编辑与验证 | 自行扩大任务范围 |
</div>
<div class="mt-6 p-3 rounded-xl bg-emerald-500/10 border border-emerald-500/30 text-sm">
先定义角色,再分配最少工具;不要先打开全部权限,再期待提示词自己约束行为。
</div>
<!--
逐字稿:工具权限要从职责反推,而不是先把所有能力打开。代码理解 Agent 只需要搜索和读取,方案审查 Agent 不应直接改代码,CI 分析 Agent 不应碰环境和密钥,实施 Agent 也只能在确认范围内编辑和验证。角色越具体,授权就越容易解释和审查。
表格讨论的是权限设计原则,不绑定 Trae 某个工具 ID。实际配置时按当前工具选取器中可用的读、写、终端和 MCP 能力选择,并遵守项目已有安全规则。
-->
---
# 用真实案例设计一个只读审查 Agent
<div class="mt-5 text-xs">
```text
角色:状态变更审查 Agent
输入:变更目标、入口与 Service 源码、状态定义、相关测试或 diff
可读材料:页面/API、权限与审计入口、状态写入代码、测试结构
输出:事实表、影响链路、最小改动建议、验证清单、待确认项
禁止:修改代码、执行发布、把前端必填当作最终业务保护
停止:缺少状态写入点、关键规则冲突、验证证据缺失
```
</div>
<div class="mt-6 p-3 rounded-xl bg-blue-500/10 border border-blue-500/30 text-sm">
公务用车案例在这里只贡献“状态变更要先取证”的素材,不把任何字段名或接口路径固化为通用规则。
</div>
<!--
逐字稿:这个只读审查 Agent 是案例中真正值得沉淀的部分。它读取页面、接口、权限、审计、状态写入和测试结构,交付事实表、影响链路和验证清单;但它不修改代码,也不把前端必填当成最终保护。保留下来的是“状态变更先取证”的判断框架,而不是某个字段或接口路径。
这是本课程的真实案例如何进入 Agent 资产:只抽取“状态写入前的必要信息保护”这一判断框架,不把 cancelReason、Controller 路径或权限码固化进去。
-->
---
# Stop Conditions 是 Agent 的安全阀
<div class="mt-5 text-xs">
| 停止信号 | Agent 应输出 | Agent 不应做 |
|---|---|---|
| 缺少入口或关键 Service | 缺失材料清单 | 补猜调用链 |
| 状态规则与需求冲突 | 冲突来源与待确认问题 | 自行选择业务规则 |
| 请求超出角色权限 | 范围风险与转交建议 | 临时取得写入或发布权限 |
| 验证记录不完整 | 待执行验证项 | 写成“已通过” |
| 需要外部系统事实 | 所需日志、接口或外部确认项 | 将源码推断包装成运行结论 |
</div>
<div class="mt-6 p-3 rounded-xl bg-red-500/10 border border-red-500/30 text-sm">
可靠 Agent 的表现不是总能继续,而是知道何时不能再继续。
</div>
<!--
逐字稿:停止不是失败,而是 Agent 的安全能力。缺关键源码、规则与需求冲突、请求超出权限、验证记录不完整,或者需要外部事实时,Agent 应交付缺口与下一步,而不是补猜调用链、临时扩大权限或把推断写成通过。可靠性来自知道何时不能继续。
Stop Conditions 应同时写进 Agent 指令和 Skill 工作流。对于只读 Agent,停下来并提出缺口是正确结果;它不应为了给出结论而越权调用工具或编造外部事实。
-->
---
# 自定义 Agent 的验收标准
<div class="grid grid-cols-4 gap-3 mt-8 text-sm">
<div class="p-3 rounded-xl bg-blue-500/10 border border-blue-500/30">职责清楚<br><span class="text-xs op-70">知道何时选择它</span></div>
<div class="p-3 rounded-xl bg-emerald-500/10 border border-emerald-500/30">权限收敛<br><span class="text-xs op-70">只拥有必要工具</span></div>
<div class="p-3 rounded-xl bg-amber-500/10 border border-amber-500/30">输出稳定<br><span class="text-xs op-70">可被后续 Skill 或 Review 使用</span></div>
<div class="p-3 rounded-xl bg-red-500/10 border border-red-500/30">会正确停止<br><span class="text-xs op-70">证据不足不虚构</span></div>
</div>
<div class="mt-8 text-sm text-center op-75">
不能说明“为什么需要这个角色、为什么给这些工具”的 Agent,不应进入共享资产库。
</div>
<!--
逐字稿:验收一个自定义 Agent,不能只看它能否回答问题。还要确认职责是否清楚、工具是否收敛、输出是否可以被下游使用,以及证据不足时会不会正确停止。无法解释为什么需要这个角色、为什么给这些工具的 Agent,不应进入共享资产库。
这页是自定义 Agent 的质量门禁。每一项都可以通过代表性任务试跑检查:正常任务是否交付,缺失材料是否停下,越权要求是否拒绝,输出是否可被下游资产消费。
-->