核心定位
prompt-assemble 是一套面向大语言模型(LLM)Agent 的标准化提示词组装框架,核心设计目标是在最大化利用上下文窗口的同时,彻底消除因 token 溢出导致的 API 调用失败风险。
核心机制详解
两阶段上下文构建(Two-Phase Context Construction)
框架采用"先必需、后增强"的分层策略:
- Phase 1(最小上下文):系统提示 + 最近3条对话(精简版)+ 当前用户输入,默认不加载任何记忆
- Phase 2(记忆决策与注入):仅当检测到显式记忆触发词(如"之前说过"、"还记得吗")时才检索记忆,经摘要压缩后注入
这种设计确保即使记忆系统完全失效,Agent 仍能基于核心上下文正常运作。
内存安全阀(Memory Safety Valve)
这是框架的防溢流核心:
- 设定保守阈值(默认 75% 模型上限,如 MiniMax-M2.1 为 153,000 tokens)
- 实时估算组装后 token 总量
- 一旦超限,仅丢弃记忆层,保留系统提示和用户输入完整性,并附加系统通知说明情况
硬性约束:绝不降级系统提示、绝不截断用户输入、禁止概率性拼接(lucky splicing)。
显著优势
- 零溢出保障:经过数学验证的安全边际,适配主流模型(GPT-4o/Claude 3.5/MiniMax-M2.1)
- 记忆降级优雅:记忆是"可丢弃的增强"而非"刚性依赖"
- 决策中心化:token 预算控制权统一收拢在组装层,避免各模块自行其是
- 快速集成:提供完整 Python 实现(
PromptAssembler类),单文件可复制
局限性与约束
- 记忆触发词列表需维护:当前依赖关键词匹配,可能漏检隐式上下文依赖
- 摘要质量依赖下游:
MEMORY_SUMMARY_MAX=3行的硬限制可能损失部分记忆细节 - 75% 保守阈值存在浪费:对于确定性场景,25% 缓冲可能显得过度预留
- 无动态阈值调整:未提供基于模型响应时间的自适应压缩机制
适用人群
- 构建长对话 Agent 的开发者(客服、顾问、伴侣类场景)
- 需要对接向量数据库/记忆检索系统的工程团队
- 对 API 稳定性有 SLA 要求的生产环境
常规风险提醒
- token 估算误差:不同分词器(BPE vs SentencePiece)估算值与实际值可能有 5-10% 偏差,建议预留缓冲
- 记忆注入幻觉:摘要后的记忆可能丢失否定词、时间限定等关键修饰,导致模型"回忆"出不存在的信息
- 安全阀触发频率监控:若频繁触发说明阈值设置过激进或记忆检索策略需优化,应作为告警指标
- 长期记忆污染:需严格遵循"禁止存储原始对话日志"原则,否则记忆质量会随时间退化