Previous
Day 09 · Agent Skills and Reusable Context
Next
Day 11 · User Memory Basics
上下文工程
Day 1060 minutesAI Agent 动手实践

Day 10 - Weekly Review 2: Context Design Document

今日目标

能输出《测试报告 Agent 上下文设计 v0.1》,理清信息来自用户、系统、工具、记忆还是检索。

学习安排

时间模块做什么
0-10 分钟整理产出把 Day 6-9 的产物(system prompt、结构化 Prompt、三层摘要、Skill)集中到一个文件夹,逐份标注状态。
10-20 分钟查漏补缺对照上下文设计清单检查缺口:输入格式、历史摘要策略、错误处理是否齐全。
20-40 分钟输出交付物按模板完成《测试报告 Agent 上下文设计 v0.1》。
40-50 分钟追问与反思回答追问练习,记录 v0.1 最大的风险。
50-60 分钟复盘与作业整理自检清单,写下阶段复盘里要保留的三句话。

核心概念

术语中文解释应用场景
context design上下文设计:对 Agent 上下文各组成部分的整体设计,决定信息从哪来、按什么顺序进、如何更新。设计文档里逐条回答「这信息从哪里来、放哪层」。
information source信息源:上下文内容的来源分类:用户、系统、工具、记忆、检索。为上下文每一部分标注来源,漏标的就是失控的。
system prompt系统提示:承载角色、规则与输出约定的全局指令,通常不随任务变化。测试报告 Agent 的角色与行为底线。
tool description工具描述:让模型知道有哪些工具、何时调用、参数怎么填。read_test_data、query_metrics 等工具的说明。
input schema输入格式:用户消息与数据源的结构化约定,让模型稳定解析。日期、数据源、指标字段的格式约定。
history summarization历史摘要:把多轮历史压缩成摘要再注入,控制上下文膨胀。超过 10 轮后,把旧对话压成一段结论摘要。
error handling错误处理:工具失败、数据缺失、解析失败时的降级策略。数据缺失标注「无数据」,工具超时重试一次。
verification验证:用 eval 与人工检查确认上下文设计有效,指标如编造率、关键指标覆盖率。拿 5 天真实数据跑 v0.1,统计编造率。

阅读重点

  • 对应章节:复盘第 2 章,重点重读上下文窗口构成、上下文压缩与 Agent Skills 三节。
  • 关注点:
  • 从「单个 Prompt」上升到「整个上下文的设计」:系统、工具、记忆、检索如何协作。
  • 历史摘要策略:什么时候压缩、压缩成几层、由谁触发。
  • 错误处理策略:哪些错误由模型处理、哪些由 harness 处理、哪些需要人工。
  • 如何验证设计有效:把 Day 6 的 system prompt 与 Day 9 的 Skill 组合起来跑样例。
  • 补充材料:
  • Anthropic 的 context engineering 文档,对照检查你的设计遗漏了哪个维度。
  • OpenAI 的 prompt engineering 指南中关于迭代评估的部分。

理解检查

  • 你 Day 6-9 的四份产物,分别对应上下文设计的哪一部分?
  • 一个 Agent 的上下文里,哪些信息来自用户、哪些来自系统、哪些来自工具、哪些来自记忆、哪些来自检索?各举一例。
  • 当前上下文设计最大的风险是什么?
  • 哪些信息会频繁变化?这些信息由谁负责更新?

实践任务

背景:今天是阶段复盘日。前四天你分别写出了 system prompt、结构化 Prompt、三层摘要和一个 Skill,今天把它们串成一份完整的上下文设计文档。

步骤:

  • 汇总 Day 6 的 system prompt 与 Day 7 的结构化 Prompt,作为系统层与用户层的核心内容。
  • 设计 tool descriptions:列出 2-3 个工具,各写用途、参数、返回。
  • 定义输入数据格式:日期、数据源、指标字段的约定。
  • 写历史摘要策略:多久压缩一次、分几层、由谁触发。
  • 写错误处理策略:数据缺失、工具超时、输出解析失败分别怎么办。
  • 定输出格式:报告章节与表格列。
  • 按「用户、系统、工具、记忆、检索」五类信息源核对每一部分,填入输出模板的信息源清单。
  • 保存为 context-design-test-report-agent-v0.1.md。

产出:一份完整的《测试报告 Agent 上下文设计 v0.1》,成为 Day 20、Day 30 交付物的基础。信息源归属用一句话自查:这段信息是用户给的、我写死的、工具查来的、记住的,还是检索出来的。

输出模板

《[Agent 名] 上下文设计 v0.1》

目标与范围:
- [这个 Agent 做什么]。
- 不做:[不做什么]。

system prompt:
- 角色:[角色]。
- 规则:[行为底线]。
- 输出约定:[格式]。

tool descriptions:
- [工具名]:用途 [xxx],参数 [xxx],返回 [xxx]。

输入数据格式:
- [字段]:[类型/示例/必填]。

历史摘要策略:
- 触发时机与层级:[轮次或 token 阈值],[层数与每层长度]。

错误处理策略:
- [错误类型]:[处理方式]。

输出格式:[章节与字段]。

信息源清单:
- 用户:[哪些信息]。
- 系统:[哪些信息]。
- 工具:[哪些信息]。
- 记忆:[哪些信息]。
- 检索:[哪些信息]。

已知风险与待验证项:[列表]。

示范输出

《测试报告 Agent 上下文设计 v0.1》

目标与范围:
- 每天根据用例执行数据、缺陷数据与性能数据生成 Markdown 测试报告。
- 不做:不执行测试、不修改数据、不发送报告。

system prompt:
- 角色:测试报告分析助手。
- 规则:只基于输入数据输出;不确定结论标注「待验证」;不编造缺失数据。
- 输出约定:Markdown,结构为概述、用例执行、缺陷摘要、性能指标、待验证事项。

tool descriptions:
- read_test_data:读取指定日期的测试执行数据,参数为日期,返回用例统计。
- query_metrics:查询接口性能指标,参数为指标名与时间窗,返回 TPS、P95、错误率。
- generate_markdown:把结构化内容渲染为 Markdown 报告。

输入数据格式:
- date:日期,如 2026-08-13,必填。
- 数据源:默认从 read_test_data 与 query_metrics 获取,可选切换环境。

历史摘要策略:
- 触发时机与层级:对话超过 10 轮或摘要超过 2000 token 时触发;一层完整摘要,保留关键数字与待验证项,结论行用于下一轮。

错误处理策略:
- 数据缺失:标注「无数据」,不推测,列入待验证事项。
- 工具超时:重试一次,仍失败则说明并跳过该数据源。
- 输出解析失败:由 harness 重试一次,再失败交给人工。

输出格式:
- 概述(今日结论与风险)、用例执行表(用例数/通过/失败)、缺陷摘要表(编号/标题/严重程度/状态)、性能指标表(指标/值/环比/是否达标)、待验证事项(假设/原因/验证方法),全部为 Markdown 表格。

信息源清单:
- 用户:日期、环境选择、临时要求。
- 系统:system prompt、tool descriptions、输出格式约定。
- 工具:指标与日志数据。
- 记忆:历史报告结论摘要。
- 检索:指标口径与报告规范。

已知风险与待验证项:
- 风险:性能数据口径可能跨版本变化,摘要可能丢失数字;待验证:用 5 天真实数据跑通后检查关键指标覆盖率。

追问练习

  • 哪些信息应该长期记忆?如果记忆和检索结果冲突,你的设计听谁的?
  • 如何验证上下文设计是否有效?你会看哪些指标?
  • 如果只能给 v0.1 保留一个设计部分,你会保留哪个?为什么?
  • 把这份设计拿给同事看,你预期他会指出哪三个问题?

常见误区

  • 只设计 system prompt,不设计信息源与更新机制:文档停留在「写一段话」。
  • 把会变化的业务规则写死在 system prompt:规则一改就要动 prompt。
  • 没有错误处理设计:工具一失败,整个流程就停。
  • 不写验证方式:设计有没有效,凭感觉而不是凭数据。

进阶扩展

  • 用 eval 集验证上下文设计:把 v0.1 的上下文方案跑在 10 条样例上,记录编造率与关键指标覆盖率。
  • 上下文设计的持续迭代:每个版本记录改动与效果,像产品一样做迭代。
  • 与 Day 20、Day 30 交付物的衔接:这份上下文设计是工具型 Agent 与最终项目的基础。

今日作业

  • 完成《测试报告 Agent 上下文设计 v0.1》,保存为可复用文件。
  • 整理 Day 6-9 的四份产物,标注各自状态与缺口。
  • 写下阶段复盘三句话:本周我学会了什么、还差什么、下周的重点是什么。

自检清单

Previous
Day 09 · Agent Skills and Reusable Context
Next
Day 11 · User Memory Basics