🗂 导语: 如果说知识库是智能体的“长期记忆”,那么变量就是它的“短期记忆”,数据库则是它的“档案柜”,能存放任务状态、用户信息和执行记录,让智能体真正能“记得上次聊到哪儿”。
🎯为什么要用变量和数据库普通的对话模型是“健忘”的,每次回答都依赖于当前对话上下文,一旦对话结束就什么都不记得。
变量和数据库解决了这个问题:
变量(Variable): 记录临时状态,比如当前题号、用户分数、任务进度
数据库(Database): 记录持久数据,比如用户画像、答题历史、知识条目
金句:变量让智能体会“短期记忆”,数据库让它会“长期追踪”。
🧩变量的应用:让智能体有上下文变量就像模型手里的“便签纸”,可以在流程里随时记录和更新信息。
常见用法:
存储用户输入: 例如把“用户名”保存为变量,后续对话可以直接调用
跟踪流程进度: 比如答题时用cursor记录当前题号
动态控制逻辑: 根据变量值判断下一步执行什么节点
例子:
{"score":3,"cursor":2,"paper":"quiz_2025"}
这样,智能体知道用户已经答了两题,得分是3分,下次可以直接从第3题继续。
🗄数据库的应用:让智能体有“档案柜”数据库是比变量更稳固的存储,适合长期保存。
常见场景:
题库/知识条目: 保存问题、答案、解析
用户档案: 保存偏好、历史记录、角色权限
操作日志: 保存智能体执行结果,便于追溯和审计
当数据库与变量配合,智能体就能做复杂应用:
先从数据库抽取题目
用变量跟踪答题进度
最后写入数据库保存成绩
⚙设计变量和数据库的三条原则① 命名规范变量和表名要有意义,如user_score、question_id,避免日后维护混乱。
② 轻重分离短期数据用变量,长期数据用数据库,不要把大块信息放进变量里导致上下文臃肿。
③ 数据安全数据库里可能有用户隐私,记得设置访问权限和脱敏策略,防止泄露。
🔗案例:多用户答题系统某教育企业搭了一个“AI考试助手”:
数据库存放完整题库
用户进入考试后,变量记录答题进度、得分
每答完一题自动写入数据库,便于后续统计和生成报告
最终实现:学生可以随时退出考试,下一次进来能从上次进度继续,不用重新开始。
联系李家贵讲课请加v----dtalk2023
变量+数据库=智能体的“记忆系统”没有变量和数据库,智能体就像健忘的助理;加上变量和数据库,它就能追踪状态、记录历史,甚至自动归档。这是从“会聊天”到“会管理信息”的关键一步。