Skip to content

🔣 宏系统 (Macro System) 概览

宏系统是 LLM Chat 中一个强大的动态内容生成引擎。它允许你在智能体的预设消息、用户输入、正则替换等任何支持文本的地方嵌入可执行的占位符,从而实现根据上下文动态调整提示词 (Prompt) 的能力。

什么是宏?

宏是一种用 {{ }} 包裹的特殊标记。在系统组装上下文并发送给 LLM 之前,这些标记会被自动展开为实际的内容(如当前时间、用户名、变量值等)。

基础语法

  • 无参数宏: {{macroName}}
  • 带参数宏: {{macroName::arg1::arg2}}
  • 转义: 如果需要输出原文字符 {{,请使用 \{{text}}

执行机制:三阶段管道

为了保证宏之间的依赖关系被正确处理(例如:必须先“设置”变量,才能“读取”变量),宏引擎采用三阶段执行管道:

  1. 预处理 (PRE_PROCESS): 处理状态变更宏(如 setvar, incvar)。这些宏通常执行逻辑操作,不返回可见文本。
  2. 替换 (SUBSTITUTE): 处理静态值替换(如 {{user}}, {{getvar}})。
  3. 后处理 (POST_PROCESS): 执行依赖最终文本上下文或需要实时计算的函数(如 {{time}}, {{lastMessage}}, {{cssvar}})。

核心功能分类

分类说明详细参考
核心上下文获取用户、Agent 名称及描述宏参考
时间与日期感知虚拟时间线,支持多种语言格式宏参考
变量操作在请求过程中传递和共享状态会话变量
逻辑与功能随机选择、掷骰子、重复文本宏参考
资产与工具注入工具定义、资产列表及运行时上下文宏参考

下一步

Released under the Apache-2.0 License.