超长需求处理与流式输出在 Markdown 思维导图编辑器中的应用
当你的需求文本非常长(超过 500 字符)或包含大量功能模块时,系统会自动启用流式输出模式,让你在 Markdown 编辑器中实时查看生成进度,无需等待全部完成。如果内容因达到长度限制被截断,系统还提供智能续写功能,可以多次续写直到内容完整。
- 适用场景:超长需求文本(500+ 字符)、复杂业务系统(10+ 模块)、详细功能描述(100+ 行)。
- 核心特性:流式实时输出、智能截断检测、自动续写、上下文智能提取。
- 操作体验:在 Markdown 编辑器中实时查看生成内容,支持多次续写直到完整。
- 技术优势:支持 6144 tokens 超长输出(后端开发模式),智能上下文提取避免重复。
立即体验超长需求处理
目录
什么是流式输出 · 如何使用 · 流式输出机制 · 智能续写功能 · 截断检测原理 · 使用技巧 · FAQ
什么是流式输出?
流式输出(Streaming)是一种实时数据传输技术,允许 AI 生成的内容逐字逐句地实时显示在 Markdown 编辑器中,而不需要等待全部内容生成完成。
流式输出的优势
- 实时反馈:可以立即看到生成内容,无需等待 30 秒或更长时间
- 更好的体验:减少等待焦虑,可以随时中断或调整
- 节省时间:在生成过程中就可以开始查看和编辑内容
- 适合长文本:对于超长需求,流式输出是唯一可行的方案
何时自动启用流式输出?
- 需求文本长度超过 500 字符
- 选择"后端开发模式"(dev_backend)
- 系统检测到可能需要较长生成时间的情况
三步快速上手
步骤 1 · 输入超长需求
在需求输入框中粘贴你的超长需求文本(建议 500+ 字符),选择"后端开发模式"以获得更详细的输出。
步骤 2 · 实时查看生成
点击"生成思维导图"后,系统会自动启用流式输出,在 Markdown 编辑器中实时显示生成内容,逐字逐句出现。
步骤 3 · 续写完整内容
如果内容被截断,会显示"继续生成剩余部分"按钮,点击后系统会智能提取上下文并续写,可以多次续写直到完整。
流式输出机制详解
技术实现
系统使用 Server-Sent Events (SSE) 技术实现流式输出:
- 实时传输:AI 每生成一段内容,立即通过 SSE 推送到前端
- 逐字显示:前端接收到数据后,立即追加到 Markdown 编辑器
- 无阻塞:不会因为网络延迟或生成速度慢而卡顿
- 可中断:用户可以随时停止生成过程
在 Markdown 编辑器中的表现
- 生成的内容会实时出现在左侧 Markdown 编辑器中
- 右侧预览区会同步更新,实时显示思维导图结构
- 可以随时编辑已生成的内容,不影响后续生成
- 生成完成后,可以继续在编辑器中修改和完善
提示:流式输出过程中,你可以随时在 Markdown 编辑器中编辑已生成的内容。系统会保留你的修改,续写时会基于最新内容继续生成。
智能续写功能
当生成的内容达到最大长度限制(6144 tokens)时,系统会自动检测截断并提示续写。
续写触发条件
- 内容长度接近或达到 6144 tokens(后端开发模式)
- 系统检测到内容可能不完整(如最后一行是未完成的标题)
- AI 返回的 finish_reason 为 'length'(表示因长度限制而截断)
智能上下文提取
续写时,系统不会将全部已生成内容发送给 AI(避免超出输入限制),而是采用智能提取策略:
- 提取模块结构:提取最后 5-8 个标题,了解已生成的模块结构
- 提取最后上下文:提取最后约 1500 字符,保持上下文连贯性
- 避免重复:智能检测并移除续写内容中的重复部分
续写操作步骤
- 当内容被截断时,系统会在 Markdown 编辑器下方显示"继续生成剩余部分"按钮
- 点击按钮后,系统会智能提取上下文并发送续写请求
- 续写内容会以流式方式实时追加到现有内容后面
- 如果续写后仍然不完整,可以再次点击续写按钮,直到内容完整
提示:续写功能支持多次使用。如果一次续写后内容仍然不完整,可以继续点击"继续生成"按钮,直到所有内容都生成完成。
截断检测原理
系统使用多重机制检测内容是否被截断:
检测方法
- Token 估算:根据内容长度估算 tokens(1 token ≈ 4 字符),如果接近或超过限制,进行详细检查
- 结尾完整性:检查最后一行是否是完整的标题或句子
- 标点符号:如果结尾是逗号、冒号等标点符号,可能表示内容不完整
- 模块结构:检查是否以完整的模块标题结尾(应该以 ## 或 # 开头的标题结尾)
- AI 返回状态:检查 finish_reason 是否为 'length'(表示因长度限制而截断)
检测示例
// 可能被截断的情况: # 项目管理系统 ## 用户管理 ### 用户列表 #### 列表字段:用户名、邮箱、角色 #### 表单字段:用户名(必填)、邮箱(必填、邮箱格式) #### 筛选字段:用户名(文本搜索)、角色(下拉选择) ## 权限管理 ### 角色管理 #### 列表字段:角色名称、权限数量 // 最后一行是未完成的标题,可能被截断注意:截断检测不是 100% 准确的。如果系统没有检测到截断,但你发现内容不完整,可以手动点击"继续生成"按钮。
使用技巧与最佳实践
需求文本准备
- 结构化描述:尽量按模块、功能点组织需求,便于 AI 理解和生成
- 详细说明:对于复杂功能,提供详细的字段、规则、权限等说明
- 避免过长:虽然支持超长需求,但建议单次需求控制在 2-3 万字以内
- 分段处理:如果需求非常庞大(5 万字以上),建议拆分为多个模块分别生成
生成过程优化
- 实时编辑:在流式输出过程中,可以随时编辑已生成的内容
- 及时续写:发现内容被截断时,及时点击续写按钮,避免上下文丢失
- 多次续写:如果一次续写后仍不完整,可以继续续写,直到所有内容都生成完成
- 保存中间结果:生成过程中可以随时复制已生成的内容,作为备份
模式选择建议
- 后端开发模式:支持 6144 tokens 超长输出,适合复杂业务系统(10+ 模块)
- 产品经理模式:支持 1024 tokens,适合简单需求或快速梳理
- 自动大纲模式:支持 1024 tokens,适合快速生成基础结构
最佳实践:对于超长需求,建议使用"后端开发模式",可以获得更详细的字段描述和业务规则,同时支持更长的输出。
FAQ
Q1: 流式输出会消耗更多 tokens 吗?
A:不会。流式输出只是改变了数据传输方式,不会影响 AI 生成的内容或消耗的 tokens。实际消耗的 tokens 与非流式输出完全相同。
Q2: 续写会重复已生成的内容吗?
A:系统会智能检测并移除重复部分。续写时,系统会提取最后部分上下文,并检查续写内容开头是否与已生成内容重复。如果相似度超过 50%,会自动移除重复部分。
Q3: 可以手动触发续写吗?
A:可以。即使系统没有自动检测到截断,你也可以手动点击"继续生成剩余部分"按钮。系统会基于当前内容继续生成。
Q4: 续写后内容不连贯怎么办?
A:系统会智能提取最后约 1500 字符作为上下文,保持连贯性。如果发现不连贯,可以在 Markdown 编辑器中手动调整,或者删除最后部分后重新续写。
Q5: 支持多长的需求文本?
A:理论上没有严格限制,但建议:
- 最佳长度:500 字符 - 2 万字,这个范围内可以一次性完整生成
- 超长需求:超过 2-3 万字的需求可能需要多次续写,建议拆分为多个模块分别生成
- 流式输出:需求超过 500 字符会自动启用流式输出,实时显示生成内容
Q6: 流式输出过程中可以中断吗?
A:可以。你可以随时关闭页面或刷新页面中断生成。已生成的内容会保留在 Markdown 编辑器中(如果已保存到缓存)。
Q7: 续写功能支持多少次?
A:理论上支持无限次续写。如果一次续写后内容仍然不完整,可以继续点击"继续生成"按钮,直到所有内容都生成完成。
Q8: 不同模式的输出长度限制是多少?
A:
- 后端开发模式:6144 tokens(约 2.4 万字符)
- 产品经理模式:1024 tokens(约 4000 字符)
- 自动大纲模式:1024 tokens(约 4000 字符)