Skip to content

[Feature]: 开放可审计的 Context Strategy 扩展接口,支持社区构建 Work-aware 策略 #795

Description

@Bai-009

[Feature]: 开放可审计的 Context Strategy 扩展接口,支持社区构建 Work-aware 策略

Is your feature request related to a problem?

Astra 已经具备 typed ContextSources、Plan/Bind/Optimize/Execute/Feedback、Explain/Trace、pinned/deferred tools、spill references 和 Durable Work,但 Context 的选择、变换与恢复策略仍主要由 Runtime 内部代码固定实现。

当前外部开发者可以 fork 源码、修改 Rust Pipeline 并提交 PR,却不能通过稳定扩展接口注册一套 Context Strategy:

  • ContextChannelProvider 可以在源码内增加注入来源,但 provider 列表仍由 Runtime adapter 组装;
  • OptimizeLimits 与 Optimizer 没有通过 CLI、SDK 或插件契约开放;
  • Skills、Hooks、MCP 可以增加指令、上下文或工具,但不能安全地接管每次 Context 的保留、压缩、排序、渐进披露与恢复;
  • 社区难以在不理解完整 Agent Loop 的情况下试验 Work-aware、价格感知、隐私或领域策略,也缺少统一的 Shadow/Eval 方式比较结果。

这限制了 Astra 从“固定 Context Pipeline”发展为“可审计的 Context 策略实验与扩展平台”。

Describe the feature you'd like

定义一个版本化的 Context Strategy Extension API。第一阶段只允许第三方策略生成 Advisor / Shadow proposal,不直接修改真实 Provider Request。

建议的概念契约:

ContextStrategyInput
  Work / current Task / criteria / next action
  material ids + kind + provenance + lifecycle
  token cost + cache scope + recoverability
  current pressure + provider cache policy/pricing
  tool availability / residency / activation state
  prior usage, compression and quality evidence

ContextStrategyProposal
  material id
  keep / condense / defer / rehydrate / drop
  reason + confidence + risk
  projected total/fresh/cache token delta
  projected prefix break position
  recovery reference or required prefetch

Runtime 必须保留最终权威:验证 Identity、Constraints、Canonical Work state、权限、工具调用/结果配对、可恢复性和 Provider 约束。第三方策略不能绕过这些不变量。

渐进披露,而非永久删除工具

工具“仍然可用”与“完整 Schema 当前常驻 Context”必须是不同状态:

always-loaded   核心工具,完整 Schema 常驻
active          当前已激活,完整 Schema 可见
deferred        保留轻量目录,需要时通过 tool_search / Task prefetch 恢复

Strategy 不得仅因当前 Task 未调用某工具,就把它从整个 Work 永久隐藏。激活应支持 Task-scoped sticky lease,避免每轮加载/卸载造成 Schema 与缓存震荡。

历史工具结果同样应优先 condense + recovery reference,例如保留“尝试了什么、为何失败、证据在哪里”,而不是盲目删除失败记录。

可扩展的策略类型

  • Work / Task-aware Context 工作集;
  • Provider 价格与 Prefix Cache 感知策略;
  • 隐私、脱敏和数据驻留策略;
  • 领域证据保留策略,例如研究、金融、合规;
  • Summary、spill、artifact rehydration 策略;
  • Context 质量评测器与 Explain 可视化。

Related user-facing feature

Suggested delivery stages

  1. Public read-only contract:外部策略可注册,但只能输出建议。
  2. Example strategy + fixed trace fixture:提供一个 Work-aware Advisor 示例和可复现轨迹。
  3. Shadow evaluator:构造替代 Context,不发送给模型;输出 Diff、Token、Prefix 与成本估算。
  4. Controlled A/B evaluation:比较任务成功率、关键事实保留、fresh/cache Token、费用和时延。
  5. Opt-in enforcement:只有达到配置的质量门槛后,才允许策略影响真实请求。

Acceptance criteria for the first stage

  • 第三方策略可通过公开、版本化入口注册,不需要修改 Pipeline adapter 的核心组装代码;
  • 策略输入中的每项材料有稳定 ID、来源、生命周期、成本与恢复信息;
  • 策略输出只产生 Advisor/Shadow proposal,不改变真实 Provider Request;
  • Runtime 会拒绝违反保护、权限、工具配对和可恢复性不变量的 proposal;
  • Explain 明确区分“Runtime 实际执行”与“第三方 Strategy 建议”;
  • 报告分开计算总 Token、fresh Token、cached Token 和 Prefix break,而非只报告总量;
  • deferred 工具仍可发现,并能通过现有 tool_search 或 Task prefetch 恢复完整 Schema;
  • 提供至少一个示例策略、固定输入快照和离线测试命令;
  • [Feature]: Work-aware Context Advisor:解释上下文选择,并保留任务中的关键结论 #796 的第一方 Work-aware Context Advisor 可以作为 contract 的 reference implementation;
  • 相同输入快照、策略版本和配置可复查同一次建议。

Related work and non-duplication

Non-goals

  • 不在第一阶段自动删除或改写 Context;
  • 不允许插件绕过 Runtime Policy、权限或 Provider admission;
  • 不把“未调用工具”直接等同于“对 Work 无价值”;
  • 不承诺任何 Strategy 必然降低费用或提升模型质量;
  • 不要求首版确定使用 Rust 动态库、WASM、进程协议或远程服务,先稳定数据与安全契约。

Why this matters for the community

该接口可以让 Astra 的数据库式 Context Pipeline 成为社区可验证的实验平台:Runtime 提供 Durable Work、材料目录、成本统计、恢复与 Explain,开发者贡献不同模型、Provider、Work 和行业所需的 Context Strategy、评测轨迹与可视化,而无需各自重写一套 Agent Loop。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions