https://jiajia.fun/a/1e3db9fe-592f-4e20-8736-b577b5165ea9-bot%E4%B8%8Esession%E7%9A%84%E5%B7%AE%E5%88%AB%E5%8F%AA%E6%98%AF%E5%A4%9A%E4%B8%80%E4%B8%AA%E8%AE%B0%E5%BF%86%E5%90%97

# bot与session的差别只是多一个记忆吗

不只差记忆，还差生命周期与入口：session 由人开关、状态随窗口消失，bot 常驻待命、被事件唤醒，记忆只是为常驻性服务。

## 要点

1. session 有明确起点和终点，状态随窗口消失；bot 7×24 挂着，被消息、定时、webhook 或其他 agent 调用唤醒，每次唤醒是一次短生命周期执行。
2. 记忆不等于维护数据库操作，难点在写入策略与检索策略，数据库是最不难的一块。
3. 写什么要分类：陈述性事实、程序性知识（接近 skill）、事件日志，三类存储方式、更新频率与过期规则不同。
4. 谁来决定写：模型自判 add/update/delete 不稳定，任务状态、产物 ID 这类应由代码直接落库。
5. 怎么取要按当前任务现算，先拉必须准的事实再按需拉语义摘要，取多比取少更伤。
6. 状态要有 owner，改动走 owner，租约到期复检，避免多实例各拿过期副本各干各的。

## 来源

- [原始讨论 1](https://jiajia.fun/qa/2023a48e7dd12665b4f3342b)
