User Behavior Simulation with Large Language Model based Agents
概
LLM 用于 User behavior simulation. 感觉特别之处在于做了很多问卷调查来判断是否当前的拟合是'准确'的.
RecAgent
- RecAgent 也包括 profile module, memory module 和 action module.
- profile module 会包括用户的 ID, name, gender, age, traits, career and interests 等;
- memory module 根据感知科学设计了三种: sensory memory, short-term memory, long-term memory, 它们是递进的, 当某种记忆达到一定水平的时候会对上一级的记忆产生影响;
- action module 包括: searching, browsing, clicking, next-page, one-to-one chatting, one-to-many broadcasting.
Profile module
-
RecAgent 设定了用户的不同特征:
- Watcher: 这类用户乐意提供反馈和打分;
- Explorer: 这类用户乐意去搜索那些他们曾听过的商品 (可能是别的用户分享给他的);
- Critic: 这类用户对商品有着严苛的标准;
- Chatter: 这类用户乐意参与私密的对话, 并且信赖朋友的推荐;
- Poster: 这类用户在社交媒体上分享.
-
这种用户特征可以认为设定, 也可以通过 GPT 总结, 也可以从真实数据中总结.
Memory module
-
Sensory memory 相当于是记录一些具体的行为:
- 如 “David Miller enters recommendation system” or “David Smith watches a movie called Fast & Furious”.
- 通过 LLM 对上述行为进行总结, 起到一个去噪作用;
- 接着为这个行为打分, 得到这个行为的一个重要性, 最终得到 \(M = \langle c, s, t\rangle\), 其中 \(c\) 表示压缩的内容, \(s, t\) 分别表示 importance score 和 timestamp.
-
Short-term memory 是沟通 sensory memory 和 long-term memory 的桥梁, 作者认为一个短期记忆被反复加强便会成为 long-term memory.
- 假设人现存的短期记忆为:\[\text{MEM} = \{M_1, M_2, \ldots, M_n\}; \]
- 对于一个新的 \(M_{n+1} = \langle c_{n+1}, s_{n+1}, t_{n+1}\), 首先计算 \(c_{n+1}\) 和 \(c_i\) 的相似度, 如果相似度高于一个阈值, 则将其加入 \(\text{MEM}\) 并指出 \(M_i\) 被 \(M_{i+1}\) 加强了, 否则仅加入 \(\text{MEM}\) 但不做其它记录.
- 假设人现存的短期记忆为:
-
Long-term memory 存储重要的信息, 此外带有一个遗忘机制.
-
Agent 可以有如下的记忆行为: Memory writing, Memory reading, Memory reflection.
Action module
...
注: 作者做了很多调查来验证上述设计的合理性, 我觉得这一点很不错.