总览:https://github.com/agentic-ai-java/argi-extensions/issues/30 ## 代码依据 https://github.com/agentic-ai-java/argi-extensions/blob/495414b76a37aca4d7c1022d973a8e5b9a7e92e6/prompt/argi-prompt-nacos/src/main/java/io/github/agentic/ai/prompt/ConfigurablePromptTemplateFactory.java#L47 ## 问题与范围 create 返回缓存的 ConfigurablePromptTemplate;onConfigChange 用新的实例替换 templates 项。旧实例内部持有 final PromptTemplate,长期持有该引用的调用者不会观察到更新。现有更新测试重新调用 getTemplate,未覆盖已持有引用。 验证状态:静态代码分析。应先明确契约,不能直接认定所有返回对象必须实时更新。 ## 交付与验收 - [ ] 明确 create/getTemplate 返回动态句柄还是不可变版本快照,对照实际消费方式和热更新预期。 - [ ] 若应动态更新,使用稳定句柄和安全发布等方式让既有引用观察到新版本;若保留快照,提供清晰的动态获取入口与文档。 - [ ] 覆盖持有引用后配置更新、并发 render/update、更新失败保留旧有效模板及同名重复 create。 - [ ] 单次 render 使用一致版本,不出现模板与默认变量跨版本混合。 - [ ] 默认不改公共签名;若改变引用/缓存行为,说明消费者影响和升级策略。 不重复 #33 的配置类命名任务。与 OPT-11 协调发布策略,避免分别引入冲突的缓存结构。 ## 变更约束 根据具体问题选择局部修复或设计调整。任何破坏性变更需比较兼容方案,说明收益、消费者影响、迁移成本、目标版本及验证方式;不为区别于上游而更改合理设计。 关联 Prompt 契约任务:https://github.com/agentic-ai-java/argi-extensions/issues/39
Activity