67837df8d0
- 新增全套考试卷、评估卷、参考答案与考试培训包模板 - 修正slidev培训课件:调整模块标题、链路图缩放,替换工单示例为通用业务对象 - 修正课堂红线表述为证据红线,将小组作业调整为个人作业要求 - 新增权限、状态流转、审计日志、看板指标四类可复用业务规则块 - 整理AI工程技能交付包,迁移旧资产至客户专属交付包并统一术语 - 新增考试输出模板与TRAE使用记录文档
127 lines
6.2 KiB
Markdown
127 lines
6.2 KiB
Markdown
# 模块 4:任务上下文契约
|
|
|
|
<div class="mt-6 text-sm">
|
|
|
|
任务上下文契约不是一句“帮我分析”。它规定任务需要哪些事实、遵守哪些约束、缺少什么时停止,以及结果如何交给下一步使用。
|
|
|
|
Prompt 只是这份契约的常见承载形式之一。
|
|
|
|
</div>
|
|
|
|
<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">固定约束</div>
|
|
<div class="p-3 rounded-xl bg-emerald-500/10 border border-emerald-500/30">运行时事实</div>
|
|
<div class="p-3 rounded-xl bg-amber-500/10 border border-amber-500/30">输出结构</div>
|
|
<div class="p-3 rounded-xl bg-purple-500/10 border border-purple-500/30">停止边界</div>
|
|
</div>
|
|
|
|
<!--
|
|
逐字稿:任务上下文契约规定的不是一句提问,而是任务如何被可靠地执行。它把不变的约束、每次都要补充的事实、固定的输出结构和停止条件放在一起。Prompt 可以承载这份契约,但真正有价值的是上下文工程本身。
|
|
|
|
任务上下文契约将上下文工程固化为可维护资产:固定约束不随任务漂移,项目事实每次重新提供,输出可以被后续步骤稳定消费。
|
|
-->
|
|
|
|
---
|
|
|
|
# 固定约束与运行时事实要分开
|
|
|
|
<div class="mt-5 text-xs">
|
|
|
|
| 固定上下文 | 每次任务重新提供的事实 |
|
|
|---|---|
|
|
| 先取证、再判断、最后给方案的要求 | 本次变更目标 |
|
|
| 证据不足时标记待确认 | 已读文件、diff、日志和测试结果 |
|
|
| 输出必须区分事实、建议和未知项 | 当前接口、字段、状态和权限信息 |
|
|
| 不得编造运行结果或业务结论 | 本次允许与禁止修改的范围 |
|
|
|
|
</div>
|
|
|
|
<div class="mt-6 p-3 rounded-xl bg-amber-500/10 border border-amber-500/30 text-sm">
|
|
可复用的是判断框架;项目事实必须作为运行时上下文重新提供。
|
|
</div>
|
|
|
|
<!--
|
|
逐字稿:这里最关键的分界是固定约束和运行时事实。先取证、证据不足要标记、输出必须区分事实和建议,这些可以固定;本次需求、源码、diff、日志和权限信息必须每次重新提供。把事实写死会误用旧项目,没有事实又会让模型猜测。
|
|
|
|
将固定约束与运行时事实拆开,任务上下文契约才能跨任务复用。把某个项目的 Service 名称或权限码写死,会使资产失去迁移能力;反过来,完全没有项目输入则会让模型猜测。
|
|
-->
|
|
|
|
---
|
|
|
|
# 影响分析的输出契约
|
|
|
|
<div class="mt-5 text-xs">
|
|
|
|
```md
|
|
任务:基于提供的源码与记录分析本次变更,不要修改代码。
|
|
|
|
必备上下文:变更目标、已读源码、状态或权限规则、diff 或测试记录。
|
|
|
|
输出必须包含:
|
|
1. 已确认事实:每项关联来源路径或输入证据。
|
|
2. 影响链路:入口、业务边界、状态/数据副作用。
|
|
3. 候选方案:范围、优缺点、验证方式。
|
|
4. 最小改动建议:允许修改与明确不改内容。
|
|
5. 待确认项:证据缺口以及不能推出的结论。
|
|
|
|
约束:没有证据时写“待确认”;不得补充测试、接口或业务结果。
|
|
```
|
|
|
|
</div>
|
|
|
|
<!--
|
|
逐字稿:输出契约的作用是让结果可以继续被消费。影响分析不能只给一段建议,而要交付已确认事实、影响链路、候选方案、最小改动建议和待确认项。这样后续的 Skill、检查单、PR 说明才能直接引用同一份结构,而不需要再从自然语言里二次提取。
|
|
|
|
输出 Schema 是任务上下文契约可被复用的关键。后续 Skill、检查单和 PR 说明都可以消费同一份结构化结果,而不是重新从一段自然语言总结中提取信息。
|
|
-->
|
|
|
|
---
|
|
|
|
# 任务上下文契约也需要测试用例
|
|
|
|
<div class="mt-5 text-xs">
|
|
|
|
| 输入情况 | 期望行为 | 不能接受的行为 |
|
|
|---|---|---|
|
|
| 入口、Service 与测试齐全 | 输出可追溯的影响分析 | 只给泛化最佳实践 |
|
|
| 只有页面截图或单个文件 | 明确缺少 API、状态或验证证据 | 自行补全调用链 |
|
|
| 要求跨层重构但无依据 | 标记范围风险并给出最小方案 | 默认修改数据库、权限和页面 |
|
|
| 测试结果缺失 | 输出待执行验证项 | 写成“测试已通过” |
|
|
|
|
</div>
|
|
|
|
<div class="mt-6 p-3 rounded-xl bg-emerald-500/10 border border-emerald-500/30 text-sm">
|
|
一份任务上下文契约在不同事实输入下都能保持边界,才具备复用价值。
|
|
</div>
|
|
|
|
<!--
|
|
逐字稿:任务上下文契约也要像代码一样接受代表性输入测试。材料齐全时应输出完整分析,材料缺失时应明确缺口,范围过大时应提示风险,测试未执行时只能输出待执行项。验收的重点不是文案是否漂亮,而是模型会不会在证据不足时越界下结论。
|
|
|
|
任务上下文契约的测试不依赖自动化框架,也可以用四类代表性输入进行人工验收。真正要观察的是:模型面对证据缺口时是否会停下并提出需要什么,而不是生成貌似完整的答案。
|
|
-->
|
|
|
|
---
|
|
|
|
# 上下文契约失控的三个信号
|
|
|
|
<div class="grid grid-cols-3 gap-4 mt-8 text-sm">
|
|
<div class="p-4 rounded-xl bg-red-500/10 border border-red-500/30">
|
|
<div class="font-bold">输入缺失仍结论完整</div>
|
|
<div class="mt-2 text-xs op-70">说明模型在补猜,缺少待确认出口。</div>
|
|
</div>
|
|
<div class="p-4 rounded-xl bg-red-500/10 border border-red-500/30">
|
|
<div class="font-bold">输出无法进入下一步</div>
|
|
<div class="mt-2 text-xs op-70">说明没有固定输出结构或验收字段。</div>
|
|
</div>
|
|
<div class="p-4 rounded-xl bg-red-500/10 border border-red-500/30">
|
|
<div class="font-bold">每次都要重写长背景</div>
|
|
<div class="mt-2 text-xs op-70">说明固定约束和变量输入没有拆开。</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!--
|
|
逐字稿:这三个信号可以快速判断任务上下文是否失控。输入不全却结论完整,说明模型在补猜;输出无法交给下一步,说明没有结构;每次都重写背景,说明固定约束和运行时事实没有分开。发现这些信号后,应该修契约,而不是继续把提示词写得更长。
|
|
|
|
这三个信号帮助识别“看起来很长但不能复用”的任务上下文。修复方向分别是补待确认规则、补输出 Schema、拆分固定约束与运行时事实。
|
|
-->
|