多智能体研究系统教程
学习使用Claude Code构建一个多智能体AI研究系统,该系统能够阅读学术论文、进行统计分析、撰写专业文章,并对自身工作进行复审。
你将要构建什么
本教程将教你如何创建一个协同工作的AI智能体团队,该团队能够:
- 提取数据 从学术PDF中自动提取
- 计算统计数据 (相关性、效应量、回归模型)
- 撰写专业文章 附有适当的引用和统计报告
- 审查并修订 持续输出直至达到质量标准
- 协调工作流程 在专门代理商之间
为何这很重要
多智能体系统是处理复杂任务的一种强大范式,这些任务需要:
- 跨不同领域的专业知识
- 质量控制和错误检查
- 基于反馈的迭代优化
- 可复现的研究工作流程
本教程通过一项实际的研究任务来展示这些概念:分析三篇学术论文中职业经验与网络安全疲劳之间的关系。
你将学到什么
核心概念
- 克劳德编码技能创建具备专业能力的AI代理
- 代理编排在工作流中协调多个代理
- 模型上下文协议(MCP)安全地访问外部资源
- Python 集成执行数据处理和统计的代码
- 质量控制循环实施审查和修订周期
技术技能
- 使用YAML前置元数据编写技能定义
- 使用技能工具在智能体之间分配任务
- 配置MCP服务器以实现文件访问
- 通过Claude Code的Bash工具运行Python脚本
- 实施验证检查点
先决条件
必需的
有帮助(但非必需)
- 熟悉YAML语法
- 理解学术研究论文
- 基本统计学知识(相关性、p值)
项目结构
cyber-fatigue-research/
├── .claude/
│ ├── skills/ # AI agent definitions
│ │ ├── orchestrator/
│ │ │ └── SKILL.md # Coordinates the workflow
│ │ ├── researcher/
│ │ │ └── SKILL.md # Extracts data and calculates stats
│ │ ├── copywriter/
│ │ │ └── SKILL.md # Writes professional articles
│ │ └── antagonist/
│ │ └── SKILL.md # Reviews for quality issues
│ ├── mcp_settings.json.template # MCP configuration template
│ └── settings.json # Claude Code settings
├── papers/ # Research papers (you provide these)
│ └── .gitkeep
├── scripts/
│ └── tools/
│ └── research_tools.py # Python utilities for PDF and stats
├── results/ # Generated outputs
│ └── .gitkeep
├── examples/
│ └── expected-output/ # Reference outputs from successful run
│ ├── parsed_papers.json
│ ├── correlation_analysis.json
│ ├── draft_article.md
│ ├── review_feedback.json
│ └── README.md
├── CLAUDE.md # Guide for Claude Code instances
├── RUN-PROJECT.md # Step-by-step execution guide
├── revisions.md # Tutorial improvement recommendations
├── requirements.txt # Python dependencies
└── README.md # This file快速入门
1. 克隆仓库
git clone https://github.com/Tristan578/research-team-tutorial.git
cd research-team-tutorial2. 安装依赖项
pip install -r requirements.txt这将安装什么:
PyPDF2- PDF文本提取scipy- 统计计算numpy- 数值运算
3. 配置MCP服务器
复制模板并更新为您的本地路径:
# Copy template
cp .claude/mcp_settings.json.template .claude/mcp_settings.json
# Edit .claude/mcp_settings.json and replace:
# "ABSOLUTE_PATH_TO_YOUR_PAPERS_FOLDER"
# with your actual absolute path, e.g.:
# "/Users/yourname/Documents/research-team-tutorial/papers"重要提示: 即使在Windows系统上,也使用正斜杠: C:/Users/yourname/...
4. 下载研究论文
你需要这三篇论文(因版权问题未附上):
- 斯坦顿等人(2016) -“安全疲劳”- *IT专业人士*
- Reeves等人(2021) “网络安全专业人员的工作满意度与职业倦怠对组织数据安全保障的影响” *《心理学前沿》*
- 米扎克等人(2025) “——在跨国样本中探讨影响安全疲劳的因素:一种新的理论视角” *计算机与安全*
下载这些论文并将其放入 papers/ 文件夹。
5. 运行系统
# Launch Claude Code
claude
# In Claude Code, run:
Using the research-orchestrator skill, analyze the three papers in the papers/ folder to investigate how years of professional experience relates to cybersecurity fatigue. Complete the full workflow: 1. Extract data from all papers 2. Calculate overall correlation 3. Write a professional article 4. Have the antagonist review it预计时间: 10到15分钟
6. 查看结果
检查一下 results/ 文件夹用于:
parsed_papers.json- 来自论文的结构化数据correlation_analysis.json- 统计分析draft_article.md- 专业文章(1,200字以上)review_feedback.json- 带审批状态的质量审查
将你的输出与……进行比较 examples/expected-output/ 以验证成功。
教程文件
此仓库包含全面的文档:
- RUN-PROJECT.md 翻译为中文是:“运行项目说明文件(Markdown 格式)” - 初学者详细执行指南
- 逐步操作指南 - 特定平台的命令(macOS/Linux/Windows) - 5个常见问题的故障排除指南 - 单个阶段执行
- CLAUDE.md(文件名,可译为“克劳德.md”或保持原样,根据上下文决定是否需要翻译文件名) - 克劳德代码实例的参考
- 项目架构 - 多智能体工作流 - 数据流图 - 统计报告要求
- 12项全面修订 - 实施优先级指南 - 测试策略 - 成功指标
它是如何工作的
多代理工作流
┌─────────────────────────────────────────────────────────┐
│ ORCHESTRATOR │
│ (Coordinates overall workflow) │
└─────────────────────────────────────────────────────────┘
│
┌─────────────────┼─────────────────┐
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ RESEARCHER │ │ COPYWRITER │ │ ANTAGONIST │
│ │ │ │ │ │
│ Extracts & │ │ Writes │ │ Reviews & │
│ Analyzes │──▶│ Article │──▶│ Critiques │
│ Papers │ │ │ │ │
└──────────────┘ └──────────────┘ └──────────────┘
│ │
└────────┬────────┘
▼
┌─────────────┐
│ Revision │
│ Loop if │
│ Needed │
└─────────────┘分阶段详细解析
第一阶段:数据提取
- 调度器委派给研究人员
- 研究人员使用MCP文件系统服务器阅读PDF文件
- python
extract_pdf_text()提取文本 - 使用元数据、方法、统计信息和发现创建的结构化JSON
第二阶段:统计分析
- 指挥者再次委托研究员(处理)
- python
calculate_correlation()计算统计数据 - 用于元分析的Fisher z变换
- 结果已保存至
correlation_analysis.json
第三阶段:撰写文章
- 策划人委托给文案撰写人
- 文案撰写人阅读相关性分析
- 撰写一篇1200+字的文章,内容包括:
- 针对商业/技术受众的专业语气 - 正确的统计报告(相关系数r,样本量n,p值) - 这三篇论文的完整引用格式 - 实际影响
阶段4:质量审查
- 指挥者将任务委托给对立者
- 针对以下内容的差评:
- 统计准确性 - 方法论严谨性 - 因果关系语言错误 - 引用格式 - 清晰和连贯
- 返回“APPROVED(已批准)”或“REVISION_REQUIRED(需要修改)”并附上详细反馈
第五阶段:修订(如需)
- 如需修改,协调者将文案撰写人员退回至第三阶段
- 循环持续进行,直到对手(或反方)同意为止
技能系统
每个代理都由一个 SKILL.md 带有YAML前置元数据的文件:
---
name: research-orchestrator
description: Coordinates academic research workflow
allowed-tools: [Skill, Task, Read, Write, TodoWrite]
---
# Research Orchestrator
You manage research projects from start to finish...关键组件:
name- 技能的唯一标识符description- 该技能的作用allowed-tools- 这个代理可以使用哪些Claude代码工具- Markdown正文 - 详细说明和示例
模型上下文协议(MCP)
MCP提供对外部资源的安全、受控访问:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/absolute/path/to/papers"
],
"description": "Provides read-only access to research papers"
}
}
}为什么选择MCP?
- 安全性:对特定目录的只读访问权限
- 隔离:技能无法访问任意文件
- 透明度:用户控制代理可以访问的资源
Python 集成
克劳德·科德通过Bash工具执行Python:
# scripts/tools/research_tools.py
def calculate_correlation(experience_data, fatigue_data):
"""Calculate Pearson correlation with confidence interval."""
from scipy import stats
import numpy as np
r, p_value = stats.pearsonr(experience_data, fatigue_data)
n = len(experience_data)
# Fisher z-transformation for confidence interval
z = np.arctanh(r)
se = 1 / np.sqrt(n - 3)
ci_lower = np.tanh(z - 1.96 * se)
ci_upper = np.tanh(z + 1.96 * se)
return {
"r": round(r, 3),
"p_value": p_value,
"n": n,
"ci_95": [round(ci_lower, 3), round(ci_upper, 3)]
}克劳德·科德能:
- 执行Python脚本
- 捕获输出(标准输出/标准错误)
- 解析JSON结果
- 处理错误和异常
定制化
改变研究问题
编辑编排器提示以分析不同的关系:
Using the research-orchestrator skill, analyze how organizational size
relates to security awareness training effectiveness...添加新的代理类型
创建一个新的技能目录:
mkdir -p .claude/skills/data-visualizer
touch .claude/skills/data-visualizer/SKILL.md定义智能体:
---
name: data-visualizer
description: Creates charts and graphs from statistical data
allowed-tools: [Read, Write, Bash]
---
# Data Visualizer
You create professional visualizations...从编排器中调用:
Use Skill tool with command: "data-visualizer"修改质量标准
编辑 .claude/skills/antagonist/SKILL.md 增加更严格的检查:
## Critical Issues (block approval):
- Statistical reporting errors
- Causal language for correlational data
- Missing confidence intervals
- Sample size not reported
- Effect sizes missing
- NEW: Missing power analysis
- NEW: Unreported effect size interpretations故障排除
未找到技能
- 确保技能达标
.claude/skills/不skills/ - 重启Claude代码
- 检查文件名是否完全正确
SKILL.md
无法读取PDF文件
- 验证MCP路径在
.claude/mcp_settings.json - 使用带正斜杠的绝对路径
- 配置更改后重启Claude代码
Python 导入错误
- 跑步
pip install -r requirements.txt - 检查Python版本:
python --version(需要3.11或更高版本) - 使用
pip3而不是pip如需需要
结果文件夹为空
- 检查对手方的评论——可能需要进行修改
- 在Claude的输出中查找错误信息
- 验证文件权限
results/目录
见 RUN-PROJECT.md 翻译为中文是:“运行项目说明文件” 或 “项目运行指南(Markdown格式)” 用于详细故障排除。
贡献
这是一个教程项目。如果您发现问题或有改进建议:
- 为仓库创建分支
- 创建一个特性分支
- 进行你的更改
- 提交一个拉取请求
许可证
MIT 许可证 - 详情请参阅 LICENSE 文件
注: 由于版权原因,研究论文未包含在内。用户需单独下载论文。
致谢
- Anthropic(公司名,可译为“安萨里克”或根据官方中文译名翻译) 为克劳德·科德(Claude Code)和模型上下文协议(Model Context Protocol)
- 研究作者 关于网络安全疲劳研究
- PyPDF2,SciPy,NumPy 优秀开源工具的维护者
了解更多
支持
有问题或疑问吗?
- 检查 RUN-PROJECT.md 翻译为中文是:“运行项目说明文件” 或 “项目运行指南”(具体翻译可能根据上下文有所调整,但核心意思是描述如何运行或执行某个项目的文档) 以获取执行帮助
- 在GitHub上提交一个问题(或议题)
______________________________________________________________________
使用Claude Code构建 - 教授人工智能代理如何在复杂研究任务中进行协作。
