1. ContextBuilder:AI Agent 的上下文大脑
在构建一个实用的 AI 助手时,上下文管理是最关键也最容易被忽视的部分。想象一下,如果你每次和人对话时,对方都会忘记之前的交流内容、你的个人偏好以及他自身的能力范围,这样的对话会有多令人抓狂。ContextBuilder 就是为解决这个问题而生的核心组件。
Nanobot 框架中的 ContextBuilder 类扮演着 AI Agent 的"上下文大脑"角色。它不像传统聊天机器人那样简单地拼接对话历史,而是实现了多维度信息的智能融合:
- 身份认知:我是谁?我的核心能力是什么?(来自 IDENTITY.md 和 SOUL.md)
- 行为准则:我该如何思考和行动?(来自 AGENTS.md)
- 用户画像:我在和谁对话?(来自 USER.md)
- 长期记忆:我们之前讨论过什么重要信息?(来自 MEMORY.md)
- 技能库:我能做什么?(来自 TOOLS.md 和 skills 目录)
- 运行时环境:现在是什么时间?通过什么渠道交流?(实时生成)
这种结构化上下文管理使得 AI 助手能够保持连贯的人格特征和行为模式,而不是像早期聊天机器人那样容易"精神分裂"。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 上下文构建的核心机制
2.1 分层提示词系统
Nanobot 的系统提示词采用分层设计,不同层次的信息对 AI 行为的影响权重不同:
python复制def build_system_prompt(self) -> str:
parts = [
self._get_identity(), # 核心身份(最高权重)
self._load_bootstrap_files(), # 引导文件
self.memory.get_memory_context(), # 长期记忆
self._load_skills() # 技能定义
]
return "\n\n---\n\n".join(parts) # 用分隔线明确区分层次
这种分层设计带来几个关键优势:
- 优先级控制:身份定义(如 SOUL.md)始终处于最高层级,确保 AI 的核心人格不被后续信息覆盖
- 模块化管理:各功能模块可以独立更新而不互相干扰
- 动态调整:可以根据对话场景选择性加载某些层次(比如在简单问答场景可以跳过技能加载)
2.2 多源信息融合
ContextBuilder 需要处理来自多个源头的信息:
| 信息类型 | 来源 | 更新频率 | 示例内容 |
|---|---|---|---|
| 静态身份定义 | IDENTITY.md, SOUL.md | 低频 |
