github.com/camel-ai/oasis
OASIS是一个模拟社交媒体互动的项目,它可以让100万个虚拟用户(AI代理)像真人一样在类似Twitter或Reddit的平台上发帖、评论、关注别人。
---
为什么要做这个?
- 研究人员可以用它来研究现实世界中的社交媒体现象,比如谣言怎么传播、大家怎么形成意见等等。
- 它就像一个“实验室”,可以模拟真实社交网络,而不用真的去收集和分析海量数据。
怎么让100万个虚拟用户动起来?
模拟100万个用户听起来很夸张,但OASIS靠一些聪明的技术实现了这个目标。
1 分布式计算:分工合作,像大厨房
- 想象你需要做100万份蛋糕。如果一个人做,肯定累死,而且很慢。但如果你有100个厨师,每人做1万份,然后把蛋糕加起来,就能很快完成。
- 分布式计算就是把一个大任务分成很多小任务,让很多台电脑(或处理器)一起干活。
OASIS怎么用分布式计算?
- 每个虚拟用户(AI代理)都需要“思考”和“行动”,比如决定发什么帖子、回什么评论,这些都需要计算。
- OASIS用多台电脑(具体是多个GPU,像A100这种高性能显卡)一起工作。每个GPU负责一部分用户,比如一台GPU管1万个用户,这样100万个用户就能同时被处理,速度超快。
2 异步处理:不用排队,大家一起点菜
什么是异步处理?
- 同步处理就像在饭店排队点餐,前一个人没点完,后面的只能等着。异步处理就像每个人都可以同时喊出自己的菜单,不用等。
- 在电脑里,异步处理就是让任务同时进行,不用傻乎乎地等一个任务结束再开始下一个。
OASIS怎么用异步处理?
- 每个虚拟用户会有很多事要做,比如看推荐的帖子、决定要不要评论。如果按顺序等,太慢了。
- OASIS让这些请求同时发出,比如一个用户在看帖子时,另一个用户可以同时发评论。这样就像餐厅里服务员同时服务好几桌,效率高得多。
3 用户生成:给每个机器人一个“身份证”
什么是用户生成?
- 这些虚拟用户不能都长一样吧?就像游戏里的角色,每个得有自己的特点,比如年龄、兴趣、性格,这样他们的行为才会像真人。
- OASIS会自动给每个用户生成一个“身份档案”。
具体怎么做?
- 用真实数据做模板:OASIS参考现实世界的数据,比如年龄分布(多少人是20岁,多少人是30岁)、职业分布,来生成用户的身份。
- 模拟朋友圈:社交媒体上用户之间有关注关系,就像你关注明星或朋友。OASIS用一种叫“无标度网络”的方法,模拟这种关系网,确保有些用户是“大V”(被很多人关注),有些是普通人。
- 兴趣分配:通过随机采样给用户兴趣,比如有的喜欢科技,有的喜欢美食。这样他们发的帖和评论就会更有针对性。
4 推荐系统:像Netflix挑电影给你看
什么是推荐系统?
- 在社交媒体上,你不会看到所有帖子,而是看到平台推荐的内容。推荐系统就像你的私人助手,挑出你可能喜欢的东西。
- OASIS也给每个虚拟用户配了推荐系统,让他们只看感兴趣的帖子。
具体怎么做?
- 兴趣匹配:在模拟Twitter时,OASIS用一个叫TwHIN-BERT的工具,计算用户和帖子之间的兴趣相似度。比如你喜欢科技,它就推荐科技相关的帖子。
- 热门排序:在模拟Reddit时,帖子有“热门分数”(像点赞数),OASIS根据这个分数推荐热门帖子。
- 这样,即使平台上有海量内容,每个用户只需要看一小部分推荐的,大大减少了计算量。
最后总结下,OASIS通过分工合作的电脑、智能的推荐、分秒必争的处理方式,再加上加速工具vLLM,成功让100万个虚拟用户“活”了起来。
它就像一个超级大的虚拟社交媒体实验室,让研究人员能随便实验各种想法,而我们也能从中看到技术有多厉害!
加入Agent社群
(小额付费社群-高质量交流)
备注:agent付费社群
近期文章推荐: