关联 RFC / 架构
目标问题
当前 Context 已有 stable/dynamic prompt,但 provider request 仍以单字符串表达,主会话 transcript 承担全部执行历史,节点间缺少结构化 Artifact handoff。多阶段编排若继续复制父历史,会放大上下文污染、compact 风险和 token 成本,也无法稳定观测前缀缓存。
实现设计(How)
引入 PromptBundle 和固定有序 PromptBlock:role_stable、workspace_stable、workflow_state、node_context、turn_delta。
PromptBlock 携带 provider-neutral stability 与 digest;adapter 可映射厂商缓存能力,不支持时无损拼接。
为 Explore、Synthesize、Execute、Verify、Finalize 定义版本化 Artifact Contract。
每个 Node 使用私有 transcript,只注入目标、最小 Context Slice、依赖 Artifact 和本节点历史,不继承父节点完整 transcript。
Artifact 不可变,replan 创建新 revision;依赖记录 Artifact ID/digest,恢复时校验输入一致性。
Compact 增加 node scope,只压缩 NodeTranscript 并生成 NodeTaskState;Session compact 保留现有用户会话语义。
记录 block token/digest、共享前缀、cache read/create token、TTFT 和截断原因;不默认发送 synthetic warm-up。
影响模块:internal/context、provider request types/adapters、Runtime node context、compact、Artifact Store 和 usage/metrics。
边界与非目标:不把厂商 cache_control/cachedContent 字段泄漏到 Runtime;不缓存模型输出;不把敏感附件正文写入指标;本阶段不以 warm-up 调用换取缓存。
任务拆解
测试与验证(Done)
风险与回滚
风险:Prompt block 改变模型行为。使用 【实现】 Agent Loop 重构 Phase 0:建立任务质量评测基线与迁移护栏 #722 对比并保留确定性拼接快照测试。
风险:Artifact 摘要丢失关键事实。关键 acceptance、用户约束和证据引用设为不可静默裁剪。
风险:Provider 缓存能力不一致。所有 adapter 必须支持忽略提示的普通请求降级。
回滚:adapter 可退回拼接 SystemPrompt;Artifact 和 NodeTranscript 数据保留,不影响 Session 主消息读取。
关联 RFC / 架构
目标问题
当前 Context 已有 stable/dynamic prompt,但 provider request 仍以单字符串表达,主会话 transcript 承担全部执行历史,节点间缺少结构化 Artifact handoff。多阶段编排若继续复制父历史,会放大上下文污染、compact 风险和 token 成本,也无法稳定观测前缀缓存。
实现设计(How)
影响模块:
internal/context、provider request types/adapters、Runtime node context、compact、Artifact Store 和 usage/metrics。边界与非目标:不把厂商 cache_control/cachedContent 字段泄漏到 Runtime;不缓存模型输出;不把敏感附件正文写入指标;本阶段不以 warm-up 调用换取缓存。
任务拆解
测试与验证(Done)
go test ./...通过,新增修改逻辑达到 100% 覆盖目标。风险与回滚