关于MCP:人类+人工智能教程
*关于MCP* 是一种个人学习资源,展示了 真正的AI 创建长篇教育内容的方法 *人类决定要学习什么* 和 *人工智能代理处理研究和写作*.
关键区别: 你定义课程然后,多代理管道进行研究、编写、格式化和生成最终输出(PDF、有声读物)。
______________________________________________________________________
是什么造就了“真正的AI”?
这不是人工智能随心所欲地写作——这是人工智能 *执行你的学习计划*:
- 人工编写课程你写下你想学的大纲
- 人工智能研究与写作:代理人研究当前信息,并根据您的结构撰写章节
- 一致的输出:样式指南可确保缝合的文档读起来连贯一致
- 多种格式:自动生成PDF和合成有声读物
人类仍然控制着 *什么* 学习;AI手柄 *如何* 它被生产出来了。
______________________________________________________________________
哲学:论人工智能生成的教育内容
我创建此材料的预期是它可能不完全准确。在为自己开发它时,我没有觉得有必要用免责声明来阻碍文本的自然流动。但到目前为止,我对所含信息的准确性总体上感到惊喜。
随着检索和接地系统变得更加成熟和可靠,人工智能生成的一切本质上都不可靠的假设将(我预测并已经看到)变得站不住脚。
在某种程度上,我们人类可能会被迫谦卑地接受人工智能在准确合成信息方面“足够好”,甚至可能比我们更擅长这项任务。
所有这些都不意味着人类作者的价值比以前任何时候都低。仅仅是建议LLM可以作为希望深入探索复杂主题的人类的高效信息合成工具。这样做对简化自主学习有积极的影响。
______________________________________________________________________
核心机制:分块生成和缝合
我用于生成长篇内容的配方是基于拼接的:LLM的准确性会随着上下文的积累而降低。因此,要求一个大型语言模型一次写一整本书,甚至一小部分,往往会产生糟糕的结果。即使该模型能够完成足够的令牌以在一个输出中生成大块文本,结果也可能远远不如要求同一模型以较短的突发形式生成文本时的结果。
因此,我发现成功的方法——并在这个模板中分享——大致如下:
第一步:课程开发(人)
人类开发了一个“课程”,作为长篇教材中要涵盖的主题的大纲。这实际上是一个目录。这是一个有趣的过程!人类可以制定一个个性化的课程,精确地定义他们希望在这个(大)主题中学习什么。
步骤2:样式指南生成(代理)
对一致性至关重要。 在编写任何内容之前,风格指南代理会分析课程并生成一份全面的风格指南,其中定义了:
- 声音和音调:权威但平易近人,对话但专业
- 人物与视角:一致使用第一/第二/第三人称
- 术语:关键术语词汇表、首字母缩略词处理、大写规则
- 文件结构:标题层次结构、章节模式、过渡方法
- 格式标准:代码块、列表、强调、标注
- 内容模式:如何介绍概念、提供示例、总结章节
然后将此风格指南提供给每个章节编写者代理,确保最终缝合的文档看起来像是由单个作者编写的。
第三步:提示加密(代理)
课程提示生成器代理将课程转换为结构化的章节提示。每个提示包括:
- 章节元数据(编号、标题、在课程中的位置)
- 上下文和连续性(之前的内容,读者的知识状态)
- 内容要求(主题、学习目标、关键概念)
- 结构指南(开幕式、核心部分、闭幕式)
- 样式指令(参考样式指南)
步骤4:章节生成(代理-并行)
章节编写者代理从结构化提示中生成内容。每位作家都会收到:
- 他们的具体章节提示
- 风格指南(一致性)
- 可选:研究背景(获取最新信息)
并行执行 支持——由于每个代理都有确保一致性的样式指南,因此可以同时编写多个章节。
第五步:缝合(代理)
输出缝合器代理将章节连接到一个文档中:
- 确定文件命名的正确顺序
- 保留格式和结构
- 根据需要添加分段
- 报告发现的任何不一致之处
步骤6:PDF转换(代理)
markdown pdf转换器代理生成最终的pdf:
- 添加标题页、目录、页码
- 确保章节从新页面开始
- 采用一致的排版和样式
可选:有声读物生成
请参阅下面的有声读物转换部分,了解如何使用Chatterbox TTS生成音频输出。
可选增强功能
- 可以指示创作代理使用Mermaid来创建流程图,以便从图形表示中受益。
- 创作代理还可以利用图像生成工具来创建引人入胜的图像,以打破纯文本的单调。
- 研究整合:对于快速发展的主题,研究代理(使用Tavily、Perplexity或Context7)可以收集当前信息以注入章节提示。
______________________________________________________________________
文本格式和输出创建
我的工作负载将Markdown作为其多功能性的初始连接格式。
从Markdown开始,我倾向于以PDF为目标。
为了获得最佳效果,该过程最好使用试剂。由于大型语言模型将生成的文本的固有可变性,将非常长的Markdown文档转换为PDF的最佳机制很难通过编程(提前)定义。代理的思考能力非常有用:“从中创建PDF的10种方法中,哪一种会产生最佳结果?”
格式要求
根据我的经验,为了定义这样的要求,通常需要一点指导——每一章都从新的一页开始。这些要求可能看起来很明显,但通常有必要说明它们,而不是希望或期望它们会被推断出来。
为了使最终文档美观易读,我通常还会要求:
- 标题页
- 目录
- 页脚中的页码
- 其他基本格式元素
最后,将PDF拼接在一起。
______________________________________________________________________
有声读物转换
我喜欢通过音频消费长篇内容。
TTS服务:类似AI聊天盒
此项目使用 话匣子 Resemble AI用于文本到语音合成:
- 模型:
resemble-ai/chatterbox通过复制API - 质量:生产级,以ElevenLabs为基准
- 许可证:麻省理工学院(开源)
- 主要特点:
- 情绪夸张控制(Chatterbox独有) - 从短音频样本中克隆零样本语音 - 为负责任的人工智能内置水印 - 0.5B Llama骨干,经过50万小时数据训练
音频管道
- 文本转换 (
tts-formatteragent):将Markdown转换为针对Chatterbox优化的TTS友好文本:
- 句子长度:15-25个单词最佳 - 删除标记,展开缩写 - 将技术内容转化为口头描述
- 音频生成 (
audiobook-generatoragent):通过Replicate编排Chatterbox:
- 将文本分段到API限制 - 生成声音一致的音频片段 - 连接成最终的有声读物 - 输出到 outputs/audio/
配置
API密钥存储在 .env 作为 REPLICATE_API_TOKEN。参见 api-ref/chatterbox.txt 获取完整的API文档。
______________________________________________________________________
用例
我发现这是一个很好的方法,可以快速获得一个主题的“让我跟上”风格指南。
鉴于连接是脚本化的,因此不会对上下文造成直接障碍,我认为生成的最终文档的长度没有固有的限制。我创建了数百页长的文档。
______________________________________________________________________
连贯性和任务保留
这项任务的一个挑战是如何在整个文本中保持连贯性。
缝合的文档不应读起来像短输出的缝合组合。确保章节之间的流畅性和一致性具有挑战性。
解决方案
风格指南(主要解决方案):保持一致性的最有效机制。这 style-guide-generator 在任何内容生成开始之前,代理都会创建一个全面的样式指南。本指南涵盖:
- 声音、语调和视角
- 术语和词汇标准
- 结构模式和格式规则
- 内容模式(介绍、示例、结论)
每个章节编写者代理都会收到此样式指南,无论章节是顺序生成还是并行生成,都能确保统一的输出。
上一章背景(次要):提示级别的一个潜在解决方案是指示章节生成代理(仅)阅读上一章。通过要求它只解析一个先前的输出,这限制了上下文,防止生成上下文和先前上下文压倒上下文窗口。
结构化提示:The curriculum-prompt-generator 确保每个章节提示都包含明确的样式指令和连续性信息,引用之前和之后的内容。
______________________________________________________________________
生成过程
一切从用户定义的课程开始!
Slash命令启动:
管道阶段1:样式指南定义
流水线第二阶段:咖喱->快速拆分
______________________________________________________________________
推荐的多代理框架
虽然此模式最初是使用Claude Code的代理系统开发的,但它是为使用专用的多代理框架实现而设计的:
GPT研究员+LangGraph(推荐)
对于需要最新信息的项目(如MCP,其发展迅速):
- GPT研究员:通过自动引用处理网络研究
- LangGraph:通过状态管理和并行执行协调管道
Human Curriculum → Style Guide → Research Phase → Parallel Chapter Writing → Stitch → PDF → Audio相异构想
- 船员AI:基于角色的代理,非常适合具有明确阶段的内容管道
- 斯托姆(斯坦福):维基百科式文章生成,多视角研究
- 自动生成:企业专注于强大的错误处理
关键集成点
- 研究代理:使用Tavily、困惑或Context7收集当前信息
- 样式指南分发:确保所有章节作者收到相同的风格指南
- 并行执行:LangGraph/CrewAI可以同时运行章节编写器
- TTS集成:通过Replicate生成有声读物
看 CLAUDE.md 了解具体实施细节。
______________________________________________________________________
存储库结构
此存储库具有双重用途:
- 展示模式:展示这种分块生成和拼接过程在实践中是如何工作的
- 生成可交付成果:为个人阅读和听力创建实际的MCP教材
这 CLAUDE.md 该文件包含MCP教材的特定生成任务上下文。
目录布局
All-About-MCP/
├── CLAUDE.md # Project instructions for AI agents
├── README.md # This file
├── pyproject.toml # Python dependencies
├── .env # API keys (GOOGLE_API_KEY, REPLICATE_API_TOKEN)
│
├── inputs/
│ ├── curriculum-transcript-formatted.md # ⭐ HUMAN-AUTHORED CURRICULUM
│ ├── curriculum-transcript-raw.md # Original transcript (reference)
│ └── voices/
│ └── corn-1min.mp3 # Voice reference for TTS cloning
│
├── outputs/
│ ├── style-guide/ # Generated style guide for consistency
│ ├── chapter-prompts/ # Structured prompts (JSON) for each chapter
│ ├── chapters/ # Individual chapter markdown files
│ ├── images/ # AI-generated images for chapters
│ ├── full-text/ # Stitched document (MD + HTML)
│ ├── pdf/ # Final PDF with TOC and formatting
│ └── audio/ # Audiobook (chapter WAVs + final MP3)
│
├── src/ # Python implementation
│ ├── main.py # CLI entry point (--all, --book, --pdf, --audio)
│ ├── config.py # Configuration and paths
│ ├── gemini_client.py # Gemini with Google Search grounding
│ ├── pipeline.py # Pipeline orchestration
│ ├── chapter_writer.py # Chapter generation logic
│ ├── pdf_converter.py # Markdown to PDF (WeasyPrint)
│ ├── pdf_generator.py # Alternative PDF generation
│ ├── audiobook.py # Chatterbox TTS (integrated)
│ ├── audiobook_generator.py # Standalone audiobook generator
│ ├── agents.py # CrewAI agent definitions
│ ├── tasks.py # CrewAI task definitions
│ └── schemas.py # Pydantic schemas
│
├── agents/ # Agent prompt documentation
│ ├── style-guide-generator.md
│ ├── curriculum-prompt-generator.md
│ ├── chapter-writer.md
│ ├── output-stitcher.md
│ ├── markdown-pdf-converter.md
│ ├── tts-formatter.md
│ └── audiobook-generator.md
│
└── api-ref/
└── chatterbox.txt # Chatterbox TTS API reference______________________________________________________________________
快速开始
先决条件
- Python 3.11+
- 紫外线 (推荐)或pip
- Google Gemini API密钥
- 复制API令牌(用于有声读物生成)
安装
# Clone the repository
git clone https://github.com/danielrosehill/All-About-MCP.git
cd All-About-MCP
# Create virtual environment and install dependencies
uv venv .venv
source .venv/bin/activate
uv pip install -e .配置
- 编辑
.env使用API密钥:
GOOGLE_API_KEY="your-gemini-api-key"
REPLICATE_API_TOKEN="your-replicate-token"- 写你的课程 在
inputs/curriculum-transcript-formatted.md:
- 这是人类编写的大纲,定义了人工智能将写什么 - 将其结构化为您想要涵盖的章节 - 具体说明主题、深度和任何特别关注的领域
- 可选择添加 语音参考 有声读物克隆
inputs/voices/
用法
# Generate everything (book + PDF + audiobook)
python -m src.main --all
# Generate just the book (markdown)
python -m src.main --book
# Generate PDF from existing markdown
python -m src.main --pdf
# Generate audiobook from existing markdown
python -m src.main --audio
# Generate only the style guide
python -m src.main --style-guide
# Use custom voice for audiobook (voice cloning)
python -m src.main --audio --voice-reference "https://example.com/voice-sample.mp3"
# Or run the standalone audiobook generator with local voice file
python -m src.audiobook_generator运作原理
- 你写课程:定义你想学什么
inputs/curriculum-transcript-formatted.md - 样式指南生成:代理分析您的课程,创建风格指南以保持一致性
- 课程→ 鼓励:Agent将大纲转换为结构化的章节提示(JSON)
- 章节写作:Gemini以谷歌搜索为基础进行研究并撰写每一章
- 文档缝合:将章节组合成连贯的文档
- PDF转换:WeasyPrint生成带有TOC和页码的样式化PDF
- 有声读物生成:Chatterbox TTS通过Replicate创建语音克隆MP3
