问题域/PD-14

多语言 Prompt 管理

Multi-Language Prompt Management

Agent 系统中 prompt 分散在各模块,需要统一管理、支持多语言、热更新和版本控制。该域解决如何将 prompt 从代码中解耦,实现结构化的 prompt 资产管理。

子问题

1.Prompt 与代码解耦(YAML/JSON 外部化)

2.多语言 fallback 链设计

3.Prompt 缓存与热重载

4.按 module/agent 层级组织 prompt 文件

5.Prompt 安全访问与缺失兜底(get_prompt fallback 机制)

6.嵌套子目录下的 prompt 路径解析(rglob 递归发现)

7.BaseAgent 层自动注入 prompt 的集成模式

各项目的解法1 solutions

Signals

横向对比

维度DeepTutor
存储格式YAML 文件,多行字符串(|),扁平 key-value 结构
组织层级module/prompts/lang/[subdir/]agent.yaml 三级+可选子目录
Fallback 策略硬编码 fallback 链 zh→cn→en,未知语言默认 en
缓存机制类级别字典缓存 + 单例模式,支持模块级清除和强制 reload
集成方式BaseAgent 构造函数自动注入,6 模块 50+ YAML 统一管理
路径解析三级策略:子目录优先 → 直接路径 → rglob 递归搜索

最佳实践

1.使用 YAML 文件外部化 prompt,按 module/agent/language 三级目录组织

2.实现语言 fallback 链,确保缺失翻译时优雅降级到默认语言

3.通过 Singleton + 类级别缓存避免重复 I/O,支持模块粒度的缓存清除

4.BaseAgent 构造函数统一注入 prompt 加载,子类无需手动调用

5.parse_language() 标准化多种语言输入格式,统一为内部语言码