AgentSociety 从入门到实践:面向开发者的功能部署指南
2026-04-10 09:12:10作者:戚魁泉Nursing
AgentSociety 是一个基于大语言模型的开源社会模拟平台,通过 LLM 驱动的智能体模拟人类行为与社会现象。本文档将帮助开发者完成从环境部署到核心功能配置的全流程,掌握开源项目的安装配置与功能使用方法。
一、基础认知:平台架构与核心特性
1.1 功能特性速览
AgentSociety 提供以下核心能力:
- 多智能体系统:支持千级智能体并发交互,模拟社会群体行为
- 环境建模:基于地理信息构建城市级虚拟环境
- 动态交互:智能体间可通过消息系统进行实时通信
- 实验管理:完整的实验设计、运行与数据采集流程
- 可视化分析:WebUI 实时展示智能体分布与行为轨迹
1.2 系统架构解析
平台采用模块化设计,核心组件包括:
- 社会智能体层:实现个体决策与行为逻辑
- 环境模拟层:提供地理空间与资源系统支持
- 交互网络层:处理智能体间通信与关系维护
- 实验管理层:控制模拟流程与数据采集
- 可视化层:Web 界面展示与交互控制
AgentSociety 架构概览 - 展示核心模块与应用场景关系
二、环境部署:从源码到运行
2.1 环境准备
硬件要求:
- 最低配置:4核CPU,16GB内存,10GB存储空间
- 推荐配置:8核CPU,32GB内存,SSD存储
软件依赖:
- Python 3.11+
- Linux X86_64 或 MacOS ARM 系统
- Git 版本控制工具
2.2 源码获取与安装
# 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/ag/agentsociety
cd agentsociety
# 安装核心包
pip install .
# 可选:安装社区扩展与基准测试工具
pip install ./packages/agentsociety-community ./packages/agentsociety-benchmark
安装验证:
agentsociety --version
# 预期输出:AgentSociety x.y.z
2.3 启动验证
# 检查系统依赖
agentsociety check
# 预期输出:
# ✅ Python版本满足要求 (3.11.4)
# ✅ 必要依赖已安装
# ✅ 端口8080可用
三、核心功能配置:构建模拟环境
3.1 LLM 服务配置
智能体推理依赖大语言模型API,支持主流LLM提供商。
配置步骤:
- 复制配置模板:
cp examples/config_templates/example_config.yaml my_config.yaml
- 编辑LLM配置段:
llm:
- name: primary_llm # 配置名称
provider: openai # 服务提供商
model: gpt-4o # 模型名称
api_key: "sk-xxx" # API密钥
semaphore: 100 # 并发控制数
配置建议:
- 4核CPU环境:semaphore建议设为50-80
- 8核CPU环境:semaphore可设为100-200
- 生产环境建议配置多个LLM实例实现负载均衡
3.2 地图环境配置
地图文件定义模拟的地理空间环境:
map:
file_path: "./data/map/city.geojson" # 地图数据路径
resolution: 1000 # 空间分辨率(米)
配置建议:
- 测试环境:使用示例地图(<10MB)
- 生产环境:根据模拟规模选择合适精度(推荐500-2000米分辨率)
3.3 智能体配置
定义模拟智能体的数量与类型:
agents:
citizens:
- agent_class: "cityagent" # 智能体类型
number: 500 # 数量
profile_path: "./profiles/basic_citizen.json" # 画像文件
配置建议:
- 初次测试:100-200个智能体
- 标准模拟:500-1000个智能体
- 大规模模拟:建议使用分布式部署
四、场景化应用:实验设计与运行
4.1 WebUI 启动与使用
WebUI提供可视化配置与实验管理功能:
- 创建UI配置文件:
# ui_config.yaml
addr: "0.0.0.0:8080" # 绑定地址与端口
env:
db:
enabled: true
db_type: sqlite
home_dir: "./agentsociety_data" # 数据存储目录
- 启动WebUI:
agentsociety ui -c ui_config.yaml
- 访问界面:在浏览器打开 http://localhost:8080
AgentSociety WebUI首页 - 提供实验管理与配置入口
4.2 实验创建与执行
通过WebUI创建模拟实验的步骤:
- 导航至"实验"页面,点击"新建实验"
- 配置实验参数(名称、时长、智能体数量)
- 选择已配置的LLM与地图
- 点击"启动实验"开始模拟
4.3 模拟结果可视化
实验运行时,可通过地图视图观察智能体分布与行为:
五、问题解决:常见故障排查
5.1 安装问题
Q: 执行agentsociety命令提示"command not found"
A: 检查Python环境变量配置,或使用完整路径:~/.local/bin/agentsociety
5.2 运行问题
Q: WebUI启动后无法访问
A: 检查防火墙设置,确认端口未被占用,或修改配置文件中的addr为"0.0.0.0:8080"
Q: 实验运行中出现LLM请求失败
A: 检查API密钥有效性,网络连接状态,或降低semaphore值减少并发请求
附录:配置检查清单
环境配置
- [ ] Python版本 ≥3.11
- [ ] 磁盘空间 ≥10GB
- [ ] 网络连接正常
功能配置
- [ ] LLM API密钥已配置
- [ ] 地图文件路径正确
- [ ] 智能体数量与硬件匹配
- [ ] 数据库配置正确
运行检查
- [ ] WebUI可正常访问
- [ ] 实验可成功启动
- [ ] 智能体行为符合预期
- [ ] 数据记录正常
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0255
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
JoyAI-VL-Interaction-Preview京东开源首个开源、视觉驱动的实时交互模型——它能实时监控视频流,并自主决定何时发言、保持沉默或委托任务。Jinja00
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0183
MaxKB强大易用的开源企业级智能体平台Python02
note-gen一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。TSX011
热门内容推荐
最新内容推荐
项目优选
收起
暂无描述
Dockerfile
787
5.17 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
900
2.09 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
721
1.45 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.14 K
1.18 K
deepin linux kernel
C
32
16
Ascend Extension for PyTorch
Python
768
995
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
472
482
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
2.51 K
689
CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。
Python
1.08 K
684
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.05 K
277

