LAYER 03 · 追踪 Agent 主干

Prompt 不是一段字符串

稳定身份、动态上下文、变量、工具 schema 与请求配置共同形成可重建的 EpochHeader

18 min3 处源码锚点upstream@47f9438
sections + variables + contexts + tool schemas
本章要解决的问题

插件如何增加模型可见上下文,又不让所有人共同编辑一份 systemPrompt?

先建立直觉

像报纸编辑台:不同栏目独立供稿,编辑按公开顺序和作用域组版;每期留下完整版面快照,而不是只记“某人改过标题”。

MECHANISM

机制拆解

ctx.systemPrompt 注册 section、context、变量与工具 schema provider;每个 Step 组装一份确定性快照。Agent scope 的同名贡献可以 shadow 部署默认。

完整调用配置、渲染 system 与工具 schema 写入 request/header;只在 envelope 变化时记录 change,因此请求可从日志 + 代码重建。

第 1 步 / 共 5 步

收集贡献

按作用域解析 section、变量与 schema。

INVARIANTS

无论怎么扩展,都不能破坏

  • 工具可见性与 schema/提示必须同步
  • 排序是公开协议的一部分
  • 请求头记录完整快照而非增量 patch
FAILURE MODES

最容易踩中的坑

  • ×把动态文件内容写进稳定 persona
  • ×使用未声明变量静默渲染为空
  • ×切换工具 restriction 却复用旧请求头
VERIFY IN SOURCE

不要相信结论,去源码里复核

以下链接固定到官方 deepseek-harness@47f9438;查看当前上游时请留意后续 breaking changes。

KNOWLEDGE CHECK

先停十秒,再揭晓答案

为什么工具 schema 属于 Prompt Assembly,而不只属于 Tools?

为什么下一章紧接在这里

请求装配完成后交给 LLM seam。下一章看统一流式词汇如何隔离提供方差异。

Learn DeepSeek Harness

独立教学项目。解释力来自源码,判断边界以官方仓库为准。