用途
PDF 课件生成编排技能面向“生成课件、讲义或教学 PDF”的场景。它本身不直接撰写内容,而是充当编排者:当用户提出课程主题与要求时,按固定流程调用多个子 Agent,最后汇总结果。
文件系统协议
Agent 之间通过文件传递数据,不通过上下文传递。课程目录结构如下:
<user_root>/courses/<course_slug>/
├── outline.json # 大纲(planner 输出)
├── chapter_01/
│ ├── research.json # 检索资料(researcher 输出)
│ ├── chapter_01.tex # TeX 源码(tex_writer 输出)
│ ├── chapter_01.pdf # 编译后 PDF
│ ├── chapter_01_exercises.md # 习题(exercises_generator 输出)
│ └── images/ # 教学插图
├── chapter_02/ ...
工作流程
第 1 步:规划大纲(planner)
调用 planner 子 Agent 规划课程大纲并写入 outline.json:
planner(input="为以下主题规划课程大纲。
课程主题:{topic} | 用户要求:{user_requirements}
输出路径:{course_dir}/outline.json")
planner 会分析主题、要求与用户画像,规划 3-8 章课程大纲,写入 outline.json 并返回大纲内容。
第 2 步:逐章生成(严格串行)
必须一章一章完成,禁止批量操作。执行顺序为:第1章 search → 第1章 tex → 第1章 exercises → 第2章 search → 第2章 tex → 第2章 exercises → ...
对第 N 章依次执行:
2a. 检索第 N 章资料
researcher(input="为以下章节检索资料并保存到文件。
课程主题:{topic} | 第{N}章:{title}
知识点:{knowledge_points} | 搜索关键词:{search_keywords}
输出路径:{course_dir}/chapter_{N:02d}/research.json")
2b. 生成第 N 章 PDF(等 2a 完成后调用)
tex_writer(input="生成 Beamer 教学 PDF。
课程目录:{course_dir} | 第{N}章:{title}
知识点:{knowledge_points} | 难度:{difficulty}
1. 从 {course_dir}/chapter_{N:02d}/research.json 读取资料
2. 在 {course_dir}/chapter_{N:02d}/images/ 生成插图
3. 写入 {course_dir}/chapter_{N:02d}/chapter_{N:02d}.tex
4. 编译 PDF 到 {course_dir}/chapter_{N:02d}/chapter_{N:02d}.pdf")
2c. 生成第 N 章习题(等 2b 完成后调用)
exercises_generator(input="根据章节 TeX 内容生成配套习题。
课程主题:{topic} | 第{N}章:{title}
知识点:{knowledge_points} | 难度:{difficulty}
TeX 文件路径:{course_dir}/chapter_{N:02d}/chapter_{N:02d}.tex
输出路径:{course_dir}/chapter_{N:02d}/chapter_{N:02d}_exercises.md")
每章完成后告知用户进度(如“第 1/5 章已完成”),再处理下一章。
第 3 步:汇总结果
所有章节完成后,检查每章 PDF 与习题是否存在,向用户报告大纲概览、各章 PDF 路径、习题路径及状态。
可用子 Agent
| 子 Agent | 职责 | 输出文件 |
|---|---|---|
| planner | 规划课程大纲,写入 outline.json | outline.json |
| researcher | 搜索资料写入 JSON | chapter_XX/research.json |
| tex_writer | 读资料→生成插图→写 TeX→编译 PDF | chapter_XX/chapter_XX.tex + .pdf |
| exercises_generator | 读 TeX→生成配套习题 | chapter_XX/chapter_XX_exercises.md |
注意事项与限制
- 传递给子 Agent 的 input 必须包含完整文件路径。
- 应根据用户画像调整风格:小朋友用生动语言,专业人士用严谨风格。
- 讲义中不放练习题(选择题、填空题等由 exercises_generator 单独生成)。
- researcher 失败时仍继续调用 tex_writer,基于自身知识生成。
- tex_writer 编译失败时记录错误并继续下一章,最后汇总报告。
- exercises_generator 失败时记录错误并继续下一章,不影响 PDF 产物。
- 该技能依赖上述子 Agent 的可用性;各子 Agent 的具体模型、性能与相容平台暂未提供。