前面我们干了很多事情来完善一个有温度、有记忆、会倾听的情感聊天机器人 —— ”kaguya“。它可以理解用户情绪、记住对话历史、基于提示词工程展现一个稳定的人格,通过上下文管理实现自然连贯的交互体验。
但是,我们还有一个问题要思考: 它真的能主动关心我吗? 这答案,可能是否定的。
当前的”kaguya“ 本质上还是一个”反应系统“ —— 它在等待用户输入,然后生成回应。它不会在你连续三天情绪低迷的时候,提醒你注意心理健康,不会在你生日当天送上祝福,无法根据你的生活习惯建议冥想时间或者直接推送舒缓音乐。
这只不过是一台对话机器,不是一位陪伴伙伴。
要实现真正的智能,需要进行一次范式跃迁: 被动响应 走向 主动服务,从语言模型调用者变为 智能体设计者。
我们来引入 Agent 架构,赋予 AI “思考-决策-行动”的闭环能力,让“kaguya”从一个会说话的模型,成长为一个能感知、会规划、可执行的数字生命!(图恒宇!)
先抛出三个问题:
- 什么是Agent?它和普通聊天机器人有什么本质上的区别?
- 如何基于Agent架构重构“kaguya”? 让它拥有主动关怀、任务执行和长期陪伴的能力?
- Agent 技术如何与已有模块(Prompt、RAG、记忆系统)协同,构建更加强大的情感支持系统?
Agent的本质:不只是工具调用,“自主性”的觉醒
什么样的系统才算“智能“? 传统软件是固定的:
输入 A,执行逻辑B,得到结果C
大模型带来了概率性生成的能力,让系统可以”说人话“
真正让AI接近”智能体“的,则是至关重要的一步: 自主性
1.1 什么是Agent?
Agent就是”智能体“或者说”代理“,指的就是一种可以感知环境、自主决策、采取行动并且达成目标的软件实体。
与传统程序或者简单聊天机器人相比,Agent具备下面四个关键的能力:
- 感知:获取用户输入、系统状态、外部数据等信息
- 规划:根据目标定制执行路径,拆解任务步骤
- 行动:调用工具、访问数据库、发送消息等等
- 反思:评估结果,调整策略,持续优化行为。
Agent 不等于 调用API的脚本。真正的Agent 拥有 “目标驱动“的行为逻辑,能够在复杂环境中动态调整策略
在很多人心里,Agent实际上就是高级牛逼的ChatGPT进化版,实则不然,OpenAI在他们的白皮书有专门定义过Agent是什么:
agents是那种能够代表用户自主执行多步任务的系统。它不仅理解指令,还可以决定流程、调用工具、纠错,甚至在必要的时候把控制权还给用户。
也就是说,一个Agent需要具备下面的特点:
- 利用LLM来管理工作流、做决策。
- 能判定工作流是否完成。
- 能够遇错中断或者说回退,然后邀请人工进行干预。
- 拥有访问外部工具(APIs、数据库、服务)的能力。
相比之下,传统的chatbot或者说单一模型的应用,只不过是得到一个回答而已,没有流程感,没有行动力。
1.2 Agent vs 普通聊天机器人: 从应答到行动
OpenAI的白皮书明确指出:只有在以下场景,Agent才有被选择的意义:
| 类型 | 特征 | 示例 |
|---|---|---|
| 复杂判断/决策 | 需要权衡条件、判断标准 | 审批退款、风险评估 |
| 规则难以穷尽 | 规则繁多、不断变化 | 供应商管理、合规审查 |
| 处理非结构化数据 | 文本、图像、语音 | OCR票据处理、合同解析 |
作为对比,我们来看看哪些不适合用Agent:
- 纯粹的简单操作(定时发邮件)
- 完全确定性、可写死判断的流程
- 对资源敏感、成本极度考究的场景
首先问问自己:这个流程,是否”超出了传统自动化的范畴“。如果你说Yes,那才是值得用Agent的。就用我们的聊天场景来举例子:
| 维度 | 普通聊天机器人 | Agent |
|---|---|---|
| 响应模式 | 被动响应用户输入 | 主动感知 + 目标驱动 |
| 决策机制 | 基于Prompt生成回复 | 规划任务路径,选择最优策略 |
| 工具使用 | 无或者固定流程调用 | 动态判断是否调用什么工具 |
| 记忆利用 | 仅用于上下文延续 | 用于长期行为建模和个性化服务 |
| 用户关系 | 单次交互 | 持续陪伴和关系演进 |
举例来说,当你说“我最近睡不好”,普通机器人可能会回复:“你可以试一试冥想”
但是一个Agent化的“kaguya”他会主动服务你:
- 感知:识别出是睡眠问题 + 持续 + 情绪低落
- 规划:判断是否需要获取历史记录睡眠信息、是否建议专业咨询、是否设置提醒
- 行动:查询用户日志、调用冥想音频接口、发送每日晚安提醒
- 反思:一周之后进行回访,询问“你最近是否睡的还好?需要调整建议吗?”
Agent 核心架构解析:构造“kaguya”的智能大脑
为了让“kaguya”具备上述的能力,我们需要对其设计一套完整的Agent架构。如图:包含了四个核心组件:记忆中枢,规划模块,工具调用模块以及反思模块。

2.1 记忆中枢:长期关系的基石
Agent的记忆不仅仅是对话历史,更是行为日志 + 情感画像 + 反思记录的综合体。我们把原有记忆系统升级成三层结构,就像这样:
| 层级 | 内容 | 用途 |
|---|---|---|
| 短期记忆 | 最近五次对话 | 上下文感知 |
| 长期记忆 | 用户偏好、人格标签、关键事件 | 个性化服务 |
| 行为记忆 | 工具调用记录、反思日志、目标进度 | 智能规划和优化 |
这三层记忆,“kaguya”不仅仅可以记住你说的话,还可以记住它为你做过的事情,哪些做的好,哪些还要改进
哪些做的好,哪些做的需要改进要怎么判断呢?
“系统化的反思机制+记忆系统+用户反馈信号”三者协同的结果。
这是一个“感知->行动->反思->优化”的逻辑闭环
就像这样👇🏻

2.2 规划模块:让AI想清楚了再做
这个模块就是Agent的战略层。负责把模糊目标转换为可以执行的任务序列。
比如说,我们的目的是“帮助用户改善睡眠”,planner的流程就是:
- 目标解析。比如用户说:“我最近总是失眠。” 解析为:“改善睡眠质量”。
任务拆解。根据目标拆解成具体任务:
- 是否有睡眠日志? -> 查询记忆系统
- 最近有没有压力事件? -> 分析情感趋势
- 是否需要专业建议? -> 分析严重程度
- 是否提供放松资源? -> 调用冥想库
- 路径选择。 根据用户性格(内向)、历史偏好(点赞过轻音乐),决定优先推荐“白噪音+呼吸练习”
实现方式:可以使用思维链(Chain-of-Thought)或者任务分解提示(Task Decomposition Prompt)引导大模型自主生成计划。
示例Prompt:
你是一位心理健康陪伴Agent,请根据用户描述制定改善睡眠的行动计划。
请按以下步骤思考:
1. 明确用户核心诉求;
2. 检查已有信息(情绪趋势、生活习惯);
3. 列出可能的干预措施;
4. 按优先级排序并给出理由;
5. 输出最终执行方案。2.3 工具调用模块(Tool Use):赋予动手能力
没有工具的Agent,就像有脑无手。工具调用是Agent实现闭环服务的关键。“kaguya”届时会考虑集成以下的工具:
| 工具名称 | 功能说明 | 调用场景 |
|---|---|---|
| get_user_mood_trend() | 获取最近一周的情绪变化曲线 | 判断是否需要干预 |
| play_meditation_audio(genre) | 播放冥想音乐 | 缓解焦虑 |
| set_daily_reminder(time, message) | 设置每日提醒 | 养成作息习惯 |
| search_mental_health_resources(query) | 检索专业心理文章 | 提供知识支持 |
| send_follow_up_message(user_id) | 发送回访消息 | 验证效果 |
最佳实践:使用结构化输出格式(JSON)规范工具调用需求,便于程序解析。
{
"action": "tool_call",
"tool": "set_daily_reminder",
"parameters": {
"time": "21:00",
"message": "该冥想啦,今晚试试‘星空呼吸’吧 🌌"
}
}
现代模型已经原生支持函数调用(function Calling),开发者只需要定义工具Schema,模型就会自动判断什时候调用什么工具。
2.4 通信协议:引入MCP实现模块协同标准化
在复杂的Agent系统中,模块之间的高效、可靠通信是系统稳定运行的关键。仅依赖自由文本或者内部对象传递状态,容易导致上下文丢失、调试困难以及拓展性受限。
为此,我将引入MCP(Model Context Protocol,模型上下文协议) —— 这是一种专门为大模型智能体设计的结构化通信协议。MCP以json格式封装每一轮交互的核心要素,主要包含:
- content:自然语言内容(用户输入或者AI输出)
- context:结构化上下文(用户画像,情感状态,任务目标,记忆摘要等等)
- tool_calls / tool_responses:工具调用指令与执行结果
简而言之,MCP就是一种更加标准化的方式,让大语言模型安全、一致地使用各种外部工具,核心思想就是构建一个“中间协议层“,如图:

这里回顾一下MCP的知识:
它本质上就是提示词工程发展到高级阶段的必然产物。向模型提供更具体、结构化的上下文信息(例如本地文件、数据库记录、实时网络数据),能够显著提升推理精确性和任务完成度。
在没有MCP的年代,开发者往往需要手动从数据库筛选信息,将其拼接到提示词中。随着任务复杂度的提升,”手工喂料“的方式不仅效率低下,还容易出错。为了解决这个问题,LLM主流平台,OpenAI,google等,退出了function Calling(函数调用)功能,允许模型在推理过程中动态调用预定义函数,从而实现一定程度的自动化。
但是,这个功能也有明显的局限性:
- 平台绑定太强:不同厂商的函数调用接口不兼容,切换模型需要重写大量的代码;
- 扩展性差:难以支持复杂的多工具协作或者自定义数据流;
- 安全性和可控性不足:敏感数据可能被无意识暴露给模型;
所以,MCP来了,MCP就是针对于这些痛点提出的通用解决方案。如图所示,他就是一个万能转接头。让LLM能够灵活、安全访问本地或者远程的工具,同时保持对数据流的完全控制。
MCP的核心优势体现在三个方面:
- 生态丰富:社区已提供大量现成的插件(日历,音频播放器,心理知识库),即插即用
- 模型无关:不依赖LLM平台,任何支持MCP的模型都可以无缝切换
- 数据可控:敏感信息不用传到云端,开发者可以通过自定义接口精准决定传输内容,保障隐私和安全。
而在“Kaguya”的未来设想里,MCP的引入会带来质的飞跃:
- 规划器: 可以明确输出结构化的行动指令
- 工具调用:能精准解析并且执行工具调用
- 反馈器:基于完整的交互链进行反思和优化
所有的模块只需要遵循同一套协议,即可实现低耦合、高内聚的协同工作。
MCP协议的引入为“Kaguya”Agent系统带来了:
- 标准化的模块通信
- 完整的上下文传递
- 可追溯的交互链
- 更好的可维护性和拓展性
- 为未来多智能体协作奠定基础
嘛,可以说,MCP不仅仅是一种通信格式,更是构建下一代智能体系统的基础设施。每一次对话,都会成为一份结构清晰、语义完整、可审计可复现的“数字记忆”