按顺序朗读散文并进行结构化反思,模拟阅读体验
QQ 顺序读取是一项面向实际任务的技能,主要用于读取流言( 小说、 非虚构、 文章) , 其方法是在语义块中摄取内容, 并迭代构建结构化的反射;输出会捕捉您的观点 d。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
通过以语义分块方式摄入文本内容,并迭代构建结构化反思,来阅读散文类作品(小说、非虚构类书籍、文章等)。输出结果体现你在通读过程中视角的动态演进过程——包括被证伪的预测、得到解答的问题、发生转变的观点——而不仅是一份事后的总结。
| 命令 | 说明 |
|---|---|
/sequential-read |
运行一次完整的阅读会话 |
/sequential-read |
以特定视角进行阅读(例如:"skeptic"、"literary critic"、"student") |
/sequential-read list |
列出所有会话 |
/sequential-read show |
展示已完成会话的综合分析结果(synthesis) |
该流水线在派生的子智能体(sub-agents)中运行。 针对小说长度的文本,阅读流程分为两个阶段:由主阅读器(main reader)处理大部分分块;随后由收尾器(finisher)完成剩余分块并生成最终综合分析。这是标准流程,而非异常情况。
当用户调用 /sequential-read 时:
python3 {baseDir}/scripts/session_manager.py create
sessions_spawn with label: reader-{session-id}
Tell the agent: "Session already exists at {session-id}. Do NOT create it again."
python3 {baseDir}/scripts/session_manager.py get 对于小说类文本(约 20+ 个分块),主阅读器通常在上下文填满、会话自然终止前处理约 17–20 个分块。这是 预期行为,并非失败。收尾器将承接剩余的 2–5 个分块,并基于此前全部反思所积累的完整上下文,生成最终综合分析。
派生收尾器:
sessions_spawn with label: finisher-{session-id}, model: "opus"
Task: "Resume reading session {session-id} at {baseDir path}.
Read reflections written so far to understand context.
Continue from chunk N (the next unwritten chunk).
Write remaining reflections, then run synthesis.
Session path: {session-path}"
主阅读器与收尾器之间无需等待,也不应向用户提问。 当主阅读器返回且未生成综合分析时,应立即派生收尾器。整个流水线应完全无人值守(hands-off)。
所有 Python 脚本均位于 {baseDir}/scripts/ 目录下:
{baseDir}/scripts/session_manager.py{baseDir}/scripts/chunk_manager.py{baseDir}/scripts/state_manager.py模板文件位于 {baseDir}/templates/ 目录下:
{baseDir}/templates/reflection_prompt.md{baseDir}/templates/synthesis_prompt.md/sequential-read [--lens ] python3 {baseDir}/scripts/session_manager.py create [--lens ]
该命令自动检测是否可恢复已有会话:
从输出首行捕获 session-id。
python3 {baseDir}/scripts/session_manager.py get
检查 status 字段以确定恢复位置:
| 状态 | 操作 |
|---|---|
preread |
从头开始执行预读(preread)阶段 |
chunked |
执行阅读阶段(从 current_chunk 处恢复) |
read |
执行综合分析(synthesis)阶段 |
complete |
显示已存在的综合分析结果 |
针对新会话或状态为 preread 的情况:
运行预读子技能({baseDir}/preread/SKILL.md),参数如下:
SESSION_ID = 会话 IDSOURCE_FILE = 源文本路径BASE_DIR = {baseDir}针对状态为 chunked 的情况(或预读完成后):
运行阅读子技能({baseDir}/reading/SKILL.md),参数如下:
SESSION_ID = 会话 IDBASE_DIR = {baseDir}LENS = lens 值(或 null)针对状态为 read 的情况(或阅读完成后):
运行综合分析子技能({baseDir}/synthesis/SKILL.md),参数如下:
SESSION_ID = 会话 IDBASE_DIR = {baseDir}综合分析完成后,向用户发送以下内容:
memory/sequential_read// /sequential-read listpython3 {baseDir}/scripts/session_manager.py list
将输出直接打印给用户。
/sequential-read show python3 {baseDir}/scripts/session_manager.py get
若状态为 complete,则读取并显示:
memory/sequential_read//output/synthesis.md
若状态未完成,则显示当前会话状态与进度。
阅读阶段是计算与质量要求最高的环节——需持续多轮迭代并全程维持输出质量。请根据源文本长度选择模型:
| 源文本长度 | 推荐模型 | 依据 |
|---|---|---|
| 小说(10k+ 行,20+ 分块) | Opus | 可在多轮迭代中保持高质量;大上下文窗口足以容纳累积状态 |
| 中篇小说 / 长文(3k–10k 行) | Opus 或 Sonnet | 二者均可;若分块数稳定低于 15,Sonnet 即可胜任 |
| 文章 / 短篇作品(<3k 行) | Sonnet | 分块数少,上下文规模可控 |
派生子智能体时,请显式指定模型:model: "opus"(小说类文本必需)。
为何重要: 轻量级模型在长文本阅读中性能会随迭代次数增加而下降——随着上下文不断累积,反思内容易退化为占位符。在一次测试中,使用 Sonnet 对一部含 35 个分块的小说执行顺序阅读,仅产出 4 条有效反思,其余 31 条均为占位符。因此,小说类文本必须使用 Opus。
分块大小: 结构化分块器目标为每块约 550 行(浮动范围 200–700 行)。典型小说(约 10–12k 行)将被划分为约 20 个分块。更长文本(15k+ 行)可能生成 35+ 分块,此时必须启用收尾器会话(见上文)。
两阶段模式为标准流程。 对于小说长度文本(20+ 分块),主阅读器结束后始终应派生收尾器。主阅读器负责约 80–90% 的分块;收尾器负责剩余分块及综合分析。对于极长文本(35+ 分块),主阅读器可能仅处理约 25 个分块。请据此合理规划——这是正常流水线设计,而非错误恢复机制。
预先创建会话: 务必在派生子智能体 之前,先通过 session_manager.py create 创建会话。并向子智能体明确说明“会话已存在,切勿重复创建”,以避免因并发创建导致失败。
若你维护了 reader-mind 文件(即长期积累的阅读上下文——如人物关系、主题线索、批评框架等),请将其作为前置内容加载至子智能体的任务提示(task prompt)中。这有助于在系列作品间保持阅读连续性。
在派生任务中嵌入上下文:
"Before you begin reading, here is your accumulated reader context: === READING CONTEXT === [contents of reader-mind file] Now read [book title]..."
综合分析完成后,请更新 reader-mind 文件: 合并新增的人物认知、主题线索更新及跨文本观察结论。采用修订(revise)而非追加(append)方式,单个文件建议控制在约 4000 词以内。
综合分析完成后,你可将输出集成至任意工作流中——例如博客文章、阅读日志、知识图谱、系列追踪器等。output/synthesis.md 中的综合分析文件为自包含(self-contained)、可移植(portable)格式。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习