基于 LangGraph 的全自动化 AI 多智能体研究助手,能够自动生成研究假设,执行数据清洗与机器学习分析,生成交互式可视化图表,并输出完整研究报告,支持多模型混合架构。
项目概述#
DATAGEN(前身为 AI-Data-Analysis-MultiAgent)是一个企业级的数据分析自动化平台。它利用多个专用 AI 智能体协同工作,模拟并执行人类研究者的核心任务,实现从原始数据到洞察报告的端到端自动化。
核心架构#
Progressive Disclosure(渐进式披露)架构#
系统采用创新的三级加载策略解决多智能体长程任务的上下文溢出问题:
- Level 1 (Metadata): 仅加载 Agent 名称、描述和可用技能列表(约 100 tokens),用于路由决策
- Level 2 (Instructions): 激活 Agent 时加载完整的 System Prompt (AGENT.md) 和全局规则
- Level 3 (Resources): 实际执行时才加载详细的技能文档 (SKILL.md)、MCP 资源和外部文件
智能体分工体系#
系统包含 9 种专业智能体:
| 智能体 | 职责 |
|---|---|
process_agent | 统筹监督整个研究流程 |
hypothesis_agent | 自动生成并细化研究假设 |
search_agent / searcher_agent | 执行网络和文献检索 |
code_agent | 编写并执行数据分析代码 |
visualization_agent | 生成交互式数据可视化图表 |
report_agent | 起草研究报告 |
quality_review_agent | 对分析过程和结果进行质量审查 |
note_agent | 负责全程状态跟踪与上下文保留 |
refiner_agent | 润色并优化最终报告 |
多模型支持#
支持为不同 Agent 分别指定不同的底层 LLM:
- OpenAI: GPT 系列
- Anthropic: Claude 系列
- Google: Gemini 系列
- Groq: 高性能推理
- Ollama: 本地模型支持
核心能力#
研究自动化#
- AI 驱动的假设生成与验证
- 自动化研究方向优化
- 实时假设细化
数据处理#
- 鲁棒的数据清洗与转换
- 可扩展的分析管道
- 自动化质量保证
可视化与报告#
- 交互式数据可视化
- 自定义报告生成
- 自动化洞察提取
智能记忆管理#
- Note Taker 智能体进行状态跟踪
- 高效的上下文保留系统
快速开始#
环境要求#
- Python 3.10+
- Conda(推荐)
- ChromeDriver(用于 Web 自动化搜索)
安装步骤#
# 克隆仓库
git clone https://github.com/starpig1129/DATAGEN.git
# 创建 Conda 环境
conda create -n datagen python=3.10
conda activate datagen
# 安装依赖
pip install -r requirements.txt
配置#
- 重命名
.env Example为.env - 配置必须项:
WORKING_DIRECTORY,CONDA_ENV,CHROMEDRIVER_PATH - 配置 API Keys(按需):
OPENAI_API_KEY,GOOGLE_API_KEY,ANTHROPIC_API_KEY等
使用示例#
user_input = '''
datapath:YourDataName.csv
Use machine learning to perform data analysis and write complete graphical reports
'''
配置文件结构#
config/agent_models.yaml— 智能体模型配置config/agents/{agent_name}/AGENT.md— 系统提示词config/agents/{agent_name}/config.yaml— 工具、技能、MCP 设置config/skills/{skill-name}/SKILL.md— 可复用技能config/mcp.yaml— MCP 服务器全局配置
适用场景#
- 数据科学与探索性数据分析(EDA)
- 学术研究辅助(假设验证与文献综述)
- 自动化商业分析报告生成
- 多模型协同的复杂任务编排
注意事项#
- 确保有充足的 API 余额,系统会进行多次 API 调用
- 根据任务复杂度,整个研究流程可能耗时较长
- 建议在使用前备份数据,代理系统可能会修改被分析的数据