Skip to content
签到签到

15. 自测题参考答案

以下按关键要点给分,每题 2 分。

第 1 章

  1. web 提供浏览器表面,headless 运行单任务,sdk 提供完整库组合,sdk-minimal 提供最小 SDK 组合,acp 提供 Agent Client Protocol 表面。
  2. Bundle/Patch 后写层覆盖前层;条目顺序还决定插件装配与依赖可见性。
  3. --patch 适合不改默认 Profile 的临时验证、调试和功能试装。
  4. 停在 CLI/Profile/Patch/Loader 准备阶段,尚未进入 Agent 和 LLM。
  5. 能用现有稳定能力组合出新表面时新增 Bundle;只有公共启动不变量变化才改 boot 核心。

第 2 章

  1. Definition 定义 ctx.<key> 合同,provider 提供实现,consumer 通过 inject 使用。
  2. Scope 记录所有权和可见范围,能让同名能力隔离并随插件撤销。
  3. Scope dispose 时反向执行,撤销服务、监听器和其他注册。
  4. 有顺序依赖用 serial,互不依赖且都需完成用 parallel
  5. 连续挂载/卸载两次,断言服务键、监听器数量和输出都恢复到初始状态。

第 3 章

  1. chunk 是流式/replay 事实,模型历史使用组装完成的 assistant message,避免半成品进入下次请求。
  2. 当前 Session Log 经 Surface 选择后的可见节点。
  3. 不能;checkpoint 是恢复加速点,日志语义仍是事实源。
  4. envelope、Surface、持久化 codec、projection、Client assembler、UI 和兼容测试。
  5. 从空状态按序重放同一事件应得到相同结果,丢弃投影后可再次生成。

第 4 章

  1. followup 唤醒下一 Turn;steer 唤醒并进入下一 Step;inject 进入下一 Step 但不主动唤醒。
  2. tool/result 成为新模型上下文,Loop 需要下一 Step 让模型继续推理。
  3. step() 构建请求后、真正消费 LLM 流之前。
  4. request/start 后无 chunk 多指向 LLM;tool/call 后无 result 多指向策略、批准、调度或 body。
  5. 用可控 barrier 让 abort 与工具 resolve 同时发生,断言只提交一个权威终态且无重复 result。

第 5 章

  1. section 贡献文本片段,context 提供上下文,tools 贡献可见能力,variable 延迟提供模板值。
  2. complete 表示该贡献形成权威完整提示词边界,不能再按普通片段随意拼接。
  3. renderPrompt() 严格失败,避免把未解析占位符发给模型。
  4. 动态前缀会让后续 token 变化,降低 provider KV Cache 的前缀复用。
  5. shadow 只影响目标 Scope,dispose 后自动恢复,不污染其他 Agent。

第 6 章

  1. 冻结 adapter registration 和解析配置,避免热更新导致准备与 dispatch 使用不同实现,也保证一次性消费。
  2. 可观测、包装、缓存、替换、短路或施加跨 Adapter 策略。
  3. 握手、限流等供应商瞬时错误可属 transport;需要预算、历史和 Turn 状态的重试属 Agent。
  4. 否则核心会依赖厂商协议,无法保持统一 chunk 与可替换 Adapter。
  5. assembler、Session event、持久化/replay、Conversation assembler、UI 与 snapshot tests。

第 7 章

  1. pre 决定 allow/deny/ask;Guard 做最终单调拒绝;execute 管 body 生命周期;post 处理结果收尾。
  2. 任何安全插件拒绝后都不能被后层重新放行,否则组合顺序会削弱策略。
  3. PTC 逻辑调用重新进入正常 ToolRuntime,因此仍产生相同 tool/call、策略、result 和错误语义。
  4. render 是模型可见文本;presentationMeta 是持久、可回放的 Client 结构化事实。
  5. 输入校验前置,使用幂等键/事务,并记录外部操作标识,避免输出失败后盲目重试。

第 8 章

  1. page() 获取历史窗口,follow() 从游标继续追踪新事件;序号用于补齐和去重。
  2. 把高频事件合并成较少的外部 Store 通知,降低 React 重渲染。
  3. useSyncExternalStore 用引用判断快照是否变化;无变化却返回新对象会导致无意义渲染。
  4. Assembler 把事件变为领域对话节点;Renderer 把稳定节点与 Slot 组合成 React 树。
  5. Host 只输出 wire tool name 和 result/meta;Browser 业务包用相同 key 注册视图,两侧无需互相 import。