AgentSociety 2完全指南:如何构建LLM原生智能体仿真环境

发布时间:2026/9/12 16:19:30

AgentSociety 2完全指南:如何构建LLM原生智能体仿真环境 AgentSociety 2完全指南如何构建LLM原生智能体仿真环境【免费下载链接】agentsocietyAgentSociety 2 is a modern, LLM-native agent simulation platform designed for social science research and experimental design. It provides a flexible framework for creating and managing intelligent agents in simulated environments.项目地址: https://gitcode.com/gh_mirrors/ag/agentsocietyAgentSociety 2 是一个现代化的LLM原生智能体仿真平台专为社会科学研究和实验设计打造。它提供了灵活的框架用于在模拟环境中创建和管理智能体帮助研究人员探索复杂的社会行为和互动模式。为什么选择AgentSociety 2AgentSociety 2 作为LLM原生的智能体仿真平台具有以下核心优势LLM驱动的智能体智能体行为完全由大型语言模型驱动能够展现复杂的认知和决策能力高度可扩展架构支持从少量智能体到大规模仿真的平滑扩展灵活的环境设计可定制的环境模块适应不同研究需求完整的实验工具链从设计、运行到分析的全流程支持可复现的研究结果详细的追踪和回放系统确保实验结果可验证AgentSociety 2的整体架构设计展示了智能体、环境和服务之间的交互关系快速安装AgentSociety 2系统要求AgentSociety 2 需要 Python 3.11 或更高版本。在开始前请确保您的系统满足这一要求。安装方式从PyPI安装推荐最简单的安装方法是使用pippip install agentsociety2如需安装开发依赖pip install agentsociety2[dev]从源码安装如果需要最新开发版本可以从源码安装git clone https://gitcode.com/gh_mirrors/ag/agentsociety cd agentsociety/packages/agentsociety2 pip install -e .验证安装安装完成后运行以下代码验证import agentsociety2 print(agentsociety2.__version__)您应该能看到版本号被打印出来表明安装成功。配置LLM环境AgentSociety 2 需要配置LLM API凭证才能正常工作。以下是基本配置步骤环境变量配置设置必要的环境变量# 默认LLM配置必需 export AGENTSOCIETY_LLM_API_KEYyour-api-key export AGENTSOCIETY_LLM_API_BASEhttps://api.openai.com/v1 export AGENTSOCIETY_LLM_MODELgpt-5.5使用.env文件推荐在项目目录中创建.env文件# 从仓库根目录复制模板 cp .env.example .env # 编辑.env文件填入API Key.env文件内容示例# 必需的LLM API配置 AGENTSOCIETY_LLM_API_KEYyour-api-key AGENTSOCIETY_LLM_API_BASEhttps://api.openai.com/v1 AGENTSOCIETY_LLM_MODELgpt-5.5 # 可选的智能体行为配置 AGENT_MODELgpt-5.5 # 覆盖智能体使用的模型 AGENT_CONTEXT_WINDOW200000 # 模型上下文窗口大小 AGENT_MAX_TOOL_ROUNDS24 # 最大工具循环轮数高级LLM调度配置对于大规模仿真您可能需要调整LLM调度参数# 每个本地LLMClient的AIMD初始并发 export AGENTSOCIETY_LLM_RAY_CONCURRENCY16 # 每个step_agent_batch Ray Task处理的智能体数 export AGENTSOCIETY_BATCH_SIZE256创建您的第一个智能体仿真下面我们将创建一个简单的多智能体仿真场景让智能体相互介绍自己。基本代码示例import asyncio from datetime import datetime from pathlib import Path from agentsociety2.env import CodeGenRouter from agentsociety2.contrib.env import SimpleSocialSpace from agentsociety2.society import AgentSociety async def main(): # 1) 声明智能体元数据 agent_specs [ {id: i, profile: {name: fPlayer{i}, personality: friendly}, config: {}} for i in range(1, 4) ] names [(s[id], s[profile][name]) for s in agent_specs] # 2) 创建环境路由器 env_router CodeGenRouter(env_modules[SimpleSocialSpace(agent_id_name_pairsnames)]) # 3) 创建并初始化仿真社会 society AgentSociety( agent_specsagent_specs, agent_class_namePersonAgent, env_routerenv_router, start_tdatetime.now(), run_dirPath(run), ) await society.init() # 4) 让每个智能体自我介绍 for spec in agent_specs: response await society.ask( fTell {spec[profile][name]} to introduce themselves to the group! ) print(f{spec[profile][name]}: {response}) await society.close() if __name__ __main__: asyncio.run(main())运行此代码后您将看到类似以下的输出Player1: Hello everyone! Im Player1, excited to be part of this group. Im friendly and always up for interesting conversations. Player2: Hi everyone, Im Player2. Im looking forward to getting to know all of you better and having some great discussions. Player3: Greetings! Im Player3. Im friendly and curious about what well explore together. Nice to meet you all!多智能体交互的仿真结果展示创建自定义环境模块环境模块允许智能体与特定功能进行交互。下面是创建自定义环境的示例自定义环境代码from agentsociety2.env import EnvBase, tool class MyEnvironment(EnvBase): 一个自定义环境模块提供天气查询和心情设置功能。 tool(readonlyTrue, kindobserve) def get_weather(self, agent_id: int) - str: 获取当前天气信息。 return 天气晴朗温度25°C。 tool(readonlyFalse) def set_mood(self, agent_id: int, mood: str) - str: 改变智能体的心情状态。 return f智能体 {agent_id} 的心情现在是 {mood}。在仿真中使用自定义环境# 创建环境路由器包含自定义环境 env_router CodeGenRouter(env_modules[MyEnvironment()]) # 创建仿真社会时使用此环境 society AgentSociety( agent_specsagent_specs, agent_class_namePersonAgent, env_routerenv_router, start_tdatetime.now(), run_dirPath(run), )现在智能体可以使用这些工具来获取天气信息或改变自己的心情了使用CLI运行实验AgentSociety 2 提供了强大的命令行界面用于运行实验特别适合生产环境和大规模仿真。前台运行调试模式python -m agentsociety2.society.cli \ --config my_experiment/init/init_config.json \ --steps my_experiment/init/steps.yaml \ --run-dir my_experiment/run \ --log-level DEBUG后台运行生产模式python -m agentsociety2.society.cli \ --config my_experiment/init/init_config.json \ --steps my_experiment/init/steps.yaml \ --run-dir my_experiment/run \ --log-level INFO \ --log-file my_experiment/run/output.log 重要提示后台运行时必须指定--log-file参数以便记录实验过程。AgentSociety 2的实验运行界面展示了仿真过程中的关键指标AgentSociety 2核心架构AgentSociety 2采用了先进的分布式架构使其能够高效处理大规模智能体仿真。执行模型AgentSociety 2将智能体状态存储在独立的工作区中执行时由Ray Task按批重建和推进智能体。环境路由、LLM调度、追踪和回放等运行时组件作为共享服务存在通过ServiceProxy注入到每个智能体。AgentSociety 2的执行模型展示了智能体与共享服务之间的交互主要组件智能体Agent基于LLM的自主实体具有记忆和决策能力环境模块Env Modules提供智能体可交互的环境功能环境路由Env Router将智能体请求映射到环境模块功能LLM调度器管理LLM调用确保高效并发和资源利用追踪系统Trace记录仿真过程中的关键事件和性能数据回放系统Replay存储和分析仿真结果支持结果复现常见使用模式只读查询对于不修改状态的查询使用society.ask()# 只读查询不会修改环境状态 response await society.ask(当前仿真中有哪些智能体)状态修改对于需要修改环境的操作使用society.intervene()# 允许修改环境的干预操作 result await society.intervene(让所有智能体感到开心)查询特定智能体向特定智能体提问# 向特定智能体提问 response await society.ask(Alice你对当前情况有什么看法)高级应用示例AgentSociety 2可以用于各种复杂的社会科学研究。以下是一些高级应用场景1. 群体决策研究模拟群体在面临共同问题时的决策过程分析信息传播和意见形成。2. 社会网络动态研究信息在社交网络中的传播模式探索谣言扩散和舆论形成机制。3. 紧急情况下的行为模拟如自然灾害发生时的人群疏散模拟帮助优化应急响应策略。飓风影响下的人群行为仿真结果可视化总结与下一步通过本指南您已经了解了AgentSociety 2的基本安装、配置和使用方法。现在您可以开始创建自己的智能体仿真实验了推荐后续学习智能体开发深入了解如何创建自定义智能体类型环境设计学习开发复杂的环境模块和工具实验设计掌握如何设计科学的仿真实验数据分析了解如何利用追踪和回放数据进行深入分析AgentSociety 2为社会科学研究提供了强大的工具无论是学术研究还是政策模拟都能帮助您探索复杂的社会现象和人类行为。祝您好运开始您的智能体仿真之旅吧【免费下载链接】agentsocietyAgentSociety 2 is a modern, LLM-native agent simulation platform designed for social science research and experimental design. It provides a flexible framework for creating and managing intelligent agents in simulated environments.项目地址: https://gitcode.com/gh_mirrors/ag/agentsociety创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/1 12:23:20

ERP的真正价值:不是软件,而是可复制的管理能力

引言:ERP ≠ 软件很多企业管理者对ERP存在一个普遍的误解:ERP就是买一套软件,装到电脑上,让员工录入数据。这种认知将ERP的价值严重低估了。实际上,ERP的真正核心价值,不是替企业“装一个软件”&#xff0c…

2026/9/7 11:17:19

AWS CloudFormation模板详解:DevOps基础设施即代码实践

AWS CloudFormation模板详解:DevOps基础设施即代码实践 【免费下载链接】aws-devops-essential In few hours, quickly learn how to effectively leverage various AWS services to improve developer productivity and reduce the overall time to market for new…

2026/9/12 16:15:51

AI如何提升科研效率:从文献到论文的全流程优化

1. 科研效率困境与破局之道 凌晨三点的实验室里,咖啡杯已经见了底,屏幕上文献管理软件里堆积着上百篇未读论文,而投稿截止日期就在三天后——这个场景对每个科研工作者来说都不陌生。传统科研流程中,文献调研动辄消耗数周时间&…

2026/9/12 16:15:51

Spark TMDB电影数据分析实战:从数据清洗到聚合排名

简介:基于Spark平台对TMDB电影数据进行完整分析的毕业设计项目包,内含源代码与说明文档,主要面向计算机相关专业的在校学生、数据分析入门者以及需要课程设计或毕业设计参考的开发者,可用于大数据课程作业、项目初期立项演示或毕业…

2026/9/12 16:15:51

MIDI钢琴曲预处理:构建AI作曲训练数据集的完整流水线

简介:一份面向人工智能作曲与音乐信息检索研究者的MIDI钢琴曲数据集,源自MAESTRO v3.0.0,收录了专业钢琴家演奏并精细对齐的曲目,可用于训练循环神经网络、长短时记忆网络、Transformer等生成模型。压缩包共包含1280个文件&#x…

2026/9/12 16:10:51

物流成本控制必读:数据分析从Excel到SQL的实战进阶指南

上个月的月度成本复盘会,经理指着投影问了一句:“这个月运输成本环比涨了6.8%,谁能告诉我是涨在哪了?”会议室安静了十几秒。会后我盯着Excel里的运费明细翻到凌晨,最后只能说一句“可能跟油价和旺季有关系”&#xff…

2026/9/12 2:05:33

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/12 3:55:12

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/12 10:09:03

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/12 0:04:17

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现

简介:本资源是一份面向智能优化算法研究者与MATLAB初学者的仿生智能算法实践代码包,聚焦于长鼻浣熊优化算法(COA)的多策略改进与性能验证。针对传统COA易陷局部最优、收敛精度不足等问题,作者融合Circle映射初始化提升…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/12 6:37:43

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码