Files
sundynix-agentix/sundynix-dispatcher/internal/eino/prompts_register.go
T
Blizzard 9a3a816c80 feat(prompts): prompt 版本化地基 —— 注册表 + 运行期文件覆盖
把散落各服务的硬编码 system prompt 收口为受管注册表,不重编译即可改/回滚/对比:
- shared/prompts:内置默认(随代码) + 运行期覆盖(PROMPTS_FILE) + Get/Keys,并发安全,含单测
- 接入 9 处:mcp-go(graph.extract);dispatcher(eval.quality/eval.refine/guard.jailbreak/
  coordinator.lead/memory.extract,按引用登记默认、无文本重复)
- main 启动调 LoadFile 加载 PROMPTS_FILE 覆盖
- live A/B:覆盖 graph.extract → 图谱抽取 2 条→0 条、向量仍正常(覆盖生效、管道未坏)
- v2(DB 控制面热切换 + 灰度)留后续

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 14:36:04 +08:00

17 lines
911 B
Go

package eino
import "github.com/sundynix/sundynix-shared/prompts"
// eino 包受管 prompt 的内置默认文本(集中一处;coordinator.lead 的文本在 coordinator.go)。
const (
refineSys = "你是严谨的回答修订专家。下面给你一个用户问题、一份质量不足的初版回答、以及评审指出的问题。请针对这些问题重写一份更准确、相关、完整的回答。"
memoryExtractSys = "你是用户长期记忆管理器。对照【已有记忆】与【近期对话】,只针对用户长期稳定的偏好/事实做对账,忽略一次性临时信息。"
)
// 登记 eino 包的受管 prompt 内置默认。运行期可经 PROMPTS_FILE/控制面覆盖。
func init() {
prompts.SetDefault(prompts.CoordinatorLead, leadOrchestratorPrompt)
prompts.SetDefault(prompts.EvalRefine, refineSys)
prompts.SetDefault(prompts.MemoryExtract, memoryExtractSys)
}