Skip to content

[Design][OPT-10] 明确动态 Prompt 引用契约并修复旧引用不更新 #38

Open

Description

@Aias00

总览:#30

代码依据

public ConfigurablePromptTemplate create(String name, Resource resource) {

问题与范围

create 返回缓存的 ConfigurablePromptTemplate;onConfigChange 用新的实例替换 templates 项。旧实例内部持有 final PromptTemplate,长期持有该引用的调用者不会观察到更新。现有更新测试重新调用 getTemplate,未覆盖已持有引用。

验证状态:静态代码分析。应先明确契约,不能直接认定所有返回对象必须实时更新。

交付与验收

  • 明确 create/getTemplate 返回动态句柄还是不可变版本快照,对照实际消费方式和热更新预期。
  • 若应动态更新,使用稳定句柄和安全发布等方式让既有引用观察到新版本;若保留快照,提供清晰的动态获取入口与文档。
  • 覆盖持有引用后配置更新、并发 render/update、更新失败保留旧有效模板及同名重复 create。
  • 单次 render 使用一致版本,不出现模板与默认变量跨版本混合。
  • 默认不改公共签名;若改变引用/缓存行为,说明消费者影响和升级策略。

不重复 #33 的配置类命名任务。与 OPT-11 协调发布策略,避免分别引入冲突的缓存结构。

变更约束

根据具体问题选择局部修复或设计调整。任何破坏性变更需比较兼容方案,说明收益、消费者影响、迁移成本、目标版本及验证方式;不为区别于上游而更改合理设计。

关联 Prompt 契约任务:#39

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions