这是一个多智能体对话系统,通过构建多个具有不同角色、立场和性格的AI Agent,围绕指定主题进行群体对话,模拟真实的社交讨论场景。 核心研究方向包括:观点分化与演化、情绪传递、群体共识形成与关键交互角色识别等。
-
agent_config.py:定义Agent的角色、立场、性格与System Prompt生成逻辑。 -
agents_config.json:Agent配置的JSON(可由agent_config.py读取)。 -
conversation_manager.py:对话驱动器,负责模拟多轮对话、控制发言顺序、保存对话数据。 -
conversation_data.json:运行后生成的结构化对话数据文件(JSON)。 -
conversation_transcript.txt:运行后生成的可读文本对话记录(保存在reports/或根目录)。 -
data_analyzer.py:基础的数据分析脚本(统计、情绪分布、立场演化等)。 -
advanced_metrics.py:更高级的评估指标计算(例如观点一致性、影响力评分等)。 -
semantic_analyzer.py:语义级分析(主题模型、关键语义单元提取等)。 -
time_series_analyzer.py:用于分析随时间变化的指标(逐轮/逐天统计)。 -
comprehensive_analysis.py:整合各类分析流程,生成最终分析报告。 -
experiment_comparator.py:用于比较不同实验设置(例如不同Agent配置或不同主题)之间的结果差异。 -
monitoring_dashboard.py:基于Streamlit的实时监控面板,用于展示模拟进度与可视化统计图表。 -
test_run.py:用于快速的功能验证或演示脚本(小规模运行)。 -
config.py:全局配置项(如默认超参、文件路径等)。 -
reports/:保存自动生成的分析报告和可读对话记录(例如analysis_report.txt、conversation_transcript.txt)。 -
figures/:保存生成的可视化图表。 -
__pycache__/:Python 缓存目录。
- 要求:Python 3.8+
- 推荐使用虚拟环境(venv 或 conda)。
安装依赖:
pip install -r requirements.txtrequirements.txt 中包含:
- numpy
- matplotlib
- pandas
- scikit-learn
- streamlit
- plotly
- openai
- 检查Agent配置:
python agent_config.py- 运行对话模拟:
python conversation_manager.py运行后常见输出:
- 根目录或
reports/下的conversation_data.json(结构化数据) reports/conversation_transcript.txt(可读文本)
- 启动实时监控面板:
streamlit run monitoring_dashboard.py- 生成分析报告(基础或综合分析):
python data_analyzer.py
python comprehensive_analysis.py- 运行测试脚本(快速验证):
python test_run.pyreports/analysis_report.txt:汇总文本分析结果(情绪、观点、事件等)。figures/*.png:各种可视化图表(情绪分布、发言计数、观点演化等)。conversation_data.json:用于后续可重复分析的结构化原始对话数据。
- 要更换讨论主题或实验设置,可修改
conversation_manager.py中的入口参数,或在config.py中调整默认参数。 - 若需比较不同 Agent 配置,可编辑
agents_config.json并使用experiment_comparator.py运行对比实验。
- 使用虚拟环境,保持依赖一致。
- 对于长时间模拟,建议将输出路径指向
reports/并定期检查磁盘使用情况。
.
├── agent_config.py
├── agents_config.json
├── advanced_metrics.py
├── comprehensive_analysis.py
├── config.py
├── conversation_manager.py
├── conversation_data.json
├── conversation_transcript.txt
├── data_analyzer.py
├── experiment_comparator.py
├── figures/
├── monitoring_dashboard.py
├── README.md
├── requirements.txt
├── reports/
│ ├── analysis_report.txt
│ └── conversation_transcript.txt
├── semantic_analyzer.py
├── test_run.py
├── time_series_analyzer.py
└── __pycache__/