欢迎光临
我们一直在努力

如何用豆包构建个人写作工作流:提示词链设计方案。

如何用豆包构建个人写作工作流:提示词链的设计方案。

解析与方案库:完整设计方案,包括系统框图、软件流程图;
用通俗易懂的实例详细深入地解析说明。


了解豆包的最新版本,并基于豆包构建一个写作工作流的设计方案,包括系统框图、流程图、UML建模等。获取豆包的最新信息,涵盖豆包的最新版本、功能特性、API文档以及可能存在的相关教程或案例。

参考一些资料,提供了关于豆包提示词链、API、专家模式和任务模式的相关信息。
下面提供完整设计方案


基于豆包的提示词链写作工作流:完整设计方案

一、豆包最新版本概览

1.1 模型版本

2026年2月14日,字节跳动正式发布豆包大模型2.0系列,这是豆包大模型自2024年5月发布以来首次大版本的跨代升级。2.0系列包含四款核心模型:

模型定位适用场景
豆包2.0 Pro 深度推理与长链路任务执行 对标GPT 5.2,适合复杂写作、深度分析
豆包2.0 Lite 兼顾性能与成本 综合能力超越上一代主力模型豆包1.8
豆包2.0 Mini 低时延、高并发 成本敏感场景
豆包2.0 Code(Doubao-Seed-2.0-Code) 编程场景 已接入AI编程产品TRAE

2026年5月,豆包大模型家族迎来首款全模态理解模型——Doubao-Seed-2.0-lite升级版,原生支持视频、图像、音频和文本的统一理解。

1.2 产品功能升级

2026年6月,豆包完成重要版本升级,核心变化如下:

(1)三大模式切换
豆包App顶部的模式切换栏已从“快速、思考”升级为**“快速、专家、任务”**三档模式:

  • 快速模式:面向简单问答和即时信息获取,响应速度最快
  • 专家模式:调用豆包2.0 Pro版本,适用于行业分析、方案拆解、论文写作等需要深度输出的复杂问题
  • 任务模式:定位为智能体(Agent)能力,可自主完成从任务拆解、步骤规划、工具调用到结果交付的全链路执行

(2)办公任务模式
支持文档智能处理(飞书文档一键生成)、数据高效分析(Excel自动解析)、PPT智能创作、多任务协同等。

(3)定价策略
日常问答、基础写作、简单生图等基础功能持续免费;付费权益主要针对PPT生成、数据分析、软件开发等高阶专业场景。

1.3 豆包的写作能力

豆包在内容创作方面表现突出,支持AI写作、图像生成、音乐创作等多维度功能,AI写作可快速生成各类体裁文本,从邮件、报告到诗歌、小说,支持润色校对与风格调整。

二、设计理念:为什么用豆包构建写作工作流

豆包与GPT类产品的核心差异在于模式分层和任务自动化能力:

特性豆包的优势
专家模式 免费调用Pro级算力,支持百万级Token长文本处理,适合深度写作
任务模式 可自动拆解任务、调用工具、生成成品,实现“一键交付”
全模态理解 支持视频、图像、音频、文本统一理解,可处理多媒体素材
基础功能免费 日常写作不产生额外费用

豆包提示词工程的核心方法论包含五种方法:角色锚定、结构分块、示例引导、链式指令和上下文注入。其中链式指令正是构建写作工作流的关键——将复杂写作任务拆解为多个步骤,前一步的输出作为后一步的输入。

三、系统架构设计

3.1 系统框图

#mermaid-svg-yQvYY2NeqAkAmXdn{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-yQvYY2NeqAkAmXdn .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-yQvYY2NeqAkAmXdn .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-yQvYY2NeqAkAmXdn .error-icon{fill:#552222;}#mermaid-svg-yQvYY2NeqAkAmXdn .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-yQvYY2NeqAkAmXdn .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-yQvYY2NeqAkAmXdn .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-yQvYY2NeqAkAmXdn .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-yQvYY2NeqAkAmXdn .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-yQvYY2NeqAkAmXdn .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-yQvYY2NeqAkAmXdn .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-yQvYY2NeqAkAmXdn .marker{fill:#333333;stroke:#333333;}#mermaid-svg-yQvYY2NeqAkAmXdn .marker.cross{stroke:#333333;}#mermaid-svg-yQvYY2NeqAkAmXdn svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-yQvYY2NeqAkAmXdn p{margin:0;}#mermaid-svg-yQvYY2NeqAkAmXdn .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-yQvYY2NeqAkAmXdn .cluster-label text{fill:#333;}#mermaid-svg-yQvYY2NeqAkAmXdn .cluster-label span{color:#333;}#mermaid-svg-yQvYY2NeqAkAmXdn .cluster-label span p{background-color:transparent;}#mermaid-svg-yQvYY2NeqAkAmXdn .label text,#mermaid-svg-yQvYY2NeqAkAmXdn span{fill:#333;color:#333;}#mermaid-svg-yQvYY2NeqAkAmXdn .node rect,#mermaid-svg-yQvYY2NeqAkAmXdn .node circle,#mermaid-svg-yQvYY2NeqAkAmXdn .node ellipse,#mermaid-svg-yQvYY2NeqAkAmXdn .node polygon,#mermaid-svg-yQvYY2NeqAkAmXdn .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-yQvYY2NeqAkAmXdn .rough-node .label text,#mermaid-svg-yQvYY2NeqAkAmXdn .node .label text,#mermaid-svg-yQvYY2NeqAkAmXdn .image-shape .label,#mermaid-svg-yQvYY2NeqAkAmXdn .icon-shape .label{text-anchor:middle;}#mermaid-svg-yQvYY2NeqAkAmXdn .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-yQvYY2NeqAkAmXdn .rough-node .label,#mermaid-svg-yQvYY2NeqAkAmXdn .node .label,#mermaid-svg-yQvYY2NeqAkAmXdn .image-shape .label,#mermaid-svg-yQvYY2NeqAkAmXdn .icon-shape .label{text-align:center;}#mermaid-svg-yQvYY2NeqAkAmXdn .node.clickable{cursor:pointer;}#mermaid-svg-yQvYY2NeqAkAmXdn .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-yQvYY2NeqAkAmXdn .arrowheadPath{fill:#333333;}#mermaid-svg-yQvYY2NeqAkAmXdn .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-yQvYY2NeqAkAmXdn .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-yQvYY2NeqAkAmXdn .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-yQvYY2NeqAkAmXdn .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-yQvYY2NeqAkAmXdn .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-yQvYY2NeqAkAmXdn .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-yQvYY2NeqAkAmXdn .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-yQvYY2NeqAkAmXdn .cluster text{fill:#333;}#mermaid-svg-yQvYY2NeqAkAmXdn .cluster span{color:#333;}#mermaid-svg-yQvYY2NeqAkAmXdn div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-yQvYY2NeqAkAmXdn .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-yQvYY2NeqAkAmXdn rect.text{fill:none;stroke-width:0;}#mermaid-svg-yQvYY2NeqAkAmXdn .icon-shape,#mermaid-svg-yQvYY2NeqAkAmXdn .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-yQvYY2NeqAkAmXdn .icon-shape p,#mermaid-svg-yQvYY2NeqAkAmXdn .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-yQvYY2NeqAkAmXdn .icon-shape .label rect,#mermaid-svg-yQvYY2NeqAkAmXdn .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-yQvYY2NeqAkAmXdn .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-yQvYY2NeqAkAmXdn .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-yQvYY2NeqAkAmXdn :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

输出层

豆包原生能力层

执行层 – 提示词链

编排层 – Orchestrator

模式选择层

用户层

日常写作

深度写作

自动化流程

简报

大纲

各章节初稿

润色稿

用户输入主题/目标读者/风格

模式路由

快速模式响应快

专家模式Pro算力

任务模式Agent执行

工作流编排引擎

任务路由器

提示链管理器

步骤1: 简报生成器专家模式

步骤2: 大纲规划器专家模式

步骤3: 模块化起草器专家/快速混合

步骤4: 风格润色器快速模式

步骤5: 质量校验器快速模式

联网搜索

文件解析PDF/Word/Excel

多模态理解视频/图像/音频

代码运行

最终文章

审计报告

3.2 系统分层说明

(1)用户层
接收用户的写作主题、目标读者、风格偏好等原始需求。

(2)模式选择层
豆包特有的三层模式路由:

  • 快速模式:适合日常短文、简单润色
  • 专家模式:调用Pro模型,适合大纲规划、深度写作
  • 任务模式:适合自动化批量写作,可定时执行

(3)编排层
工作流编排引擎将写作任务分解为五个子任务,提示链管理器协调执行顺序和上下文传递。

(4)执行层——五步提示词链
这是整个系统的核心,将写作分解为五个线性步骤,每一步的输出作为下一步的输入。

(5)豆包原生能力层
豆包特有的联网搜索、文件解析、多模态理解等能力可被各步骤按需调用。

四、软件流程图

4.1 主流程

#mermaid-svg-SUjmOPeo5XCjui8g{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-SUjmOPeo5XCjui8g .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-SUjmOPeo5XCjui8g .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-SUjmOPeo5XCjui8g .error-icon{fill:#552222;}#mermaid-svg-SUjmOPeo5XCjui8g .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-SUjmOPeo5XCjui8g .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-SUjmOPeo5XCjui8g .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-SUjmOPeo5XCjui8g .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-SUjmOPeo5XCjui8g .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-SUjmOPeo5XCjui8g .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-SUjmOPeo5XCjui8g .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-SUjmOPeo5XCjui8g .marker{fill:#333333;stroke:#333333;}#mermaid-svg-SUjmOPeo5XCjui8g .marker.cross{stroke:#333333;}#mermaid-svg-SUjmOPeo5XCjui8g svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-SUjmOPeo5XCjui8g p{margin:0;}#mermaid-svg-SUjmOPeo5XCjui8g .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-SUjmOPeo5XCjui8g .cluster-label text{fill:#333;}#mermaid-svg-SUjmOPeo5XCjui8g .cluster-label span{color:#333;}#mermaid-svg-SUjmOPeo5XCjui8g .cluster-label span p{background-color:transparent;}#mermaid-svg-SUjmOPeo5XCjui8g .label text,#mermaid-svg-SUjmOPeo5XCjui8g span{fill:#333;color:#333;}#mermaid-svg-SUjmOPeo5XCjui8g .node rect,#mermaid-svg-SUjmOPeo5XCjui8g .node circle,#mermaid-svg-SUjmOPeo5XCjui8g .node ellipse,#mermaid-svg-SUjmOPeo5XCjui8g .node polygon,#mermaid-svg-SUjmOPeo5XCjui8g .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-SUjmOPeo5XCjui8g .rough-node .label text,#mermaid-svg-SUjmOPeo5XCjui8g .node .label text,#mermaid-svg-SUjmOPeo5XCjui8g .image-shape .label,#mermaid-svg-SUjmOPeo5XCjui8g .icon-shape .label{text-anchor:middle;}#mermaid-svg-SUjmOPeo5XCjui8g .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-SUjmOPeo5XCjui8g .rough-node .label,#mermaid-svg-SUjmOPeo5XCjui8g .node .label,#mermaid-svg-SUjmOPeo5XCjui8g .image-shape .label,#mermaid-svg-SUjmOPeo5XCjui8g .icon-shape .label{text-align:center;}#mermaid-svg-SUjmOPeo5XCjui8g .node.clickable{cursor:pointer;}#mermaid-svg-SUjmOPeo5XCjui8g .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-SUjmOPeo5XCjui8g .arrowheadPath{fill:#333333;}#mermaid-svg-SUjmOPeo5XCjui8g .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-SUjmOPeo5XCjui8g .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-SUjmOPeo5XCjui8g .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-SUjmOPeo5XCjui8g .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-SUjmOPeo5XCjui8g .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-SUjmOPeo5XCjui8g .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-SUjmOPeo5XCjui8g .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-SUjmOPeo5XCjui8g .cluster text{fill:#333;}#mermaid-svg-SUjmOPeo5XCjui8g .cluster span{color:#333;}#mermaid-svg-SUjmOPeo5XCjui8g div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-SUjmOPeo5XCjui8g .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-SUjmOPeo5XCjui8g rect.text{fill:none;stroke-width:0;}#mermaid-svg-SUjmOPeo5XCjui8g .icon-shape,#mermaid-svg-SUjmOPeo5XCjui8g .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-SUjmOPeo5XCjui8g .icon-shape p,#mermaid-svg-SUjmOPeo5XCjui8g .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-SUjmOPeo5XCjui8g .icon-shape .label rect,#mermaid-svg-SUjmOPeo5XCjui8g .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-SUjmOPeo5XCjui8g .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-SUjmOPeo5XCjui8g .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-SUjmOPeo5XCjui8g :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

深度写作

自动化流程

快速产出

“步骤5: 质量校验”

构建校验提示词自查清单

豆包执行校验

通过?

标记问题

可自动修复?

豆包自动修复

生成问题报告

校验通过

“步骤4: 风格润色”

构建润色提示词风格约束+示例

豆包润色全文

保存润色稿

“步骤3: 模块化起草”

获取下一章节

还有章节?

构建章节起草提示词链式指令+上下文注入

豆包生成章节初稿

保存章节初稿

合并所有章节

“步骤2: 大纲规划”

构建大纲提示词注入简报+示例引导

豆包生成2-3个大纲

用户选择/修改大纲

保存选定大纲

“步骤1: 简报生成”

构建简报提示词含角色锚定+结构分块

豆包生成简报

校验: 含核心论点?

保存简报

开始

接收用户输入主题/目标读者/风格/字数

选择豆包模式

切换专家模式调用Pro算力

切换任务模式Agent执行

快速模式

生成最终文章 + 审计报告

结束

4.2 豆包模式切换流程

#mermaid-svg-WYaKCrgwZQgwJQvJ{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-WYaKCrgwZQgwJQvJ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-WYaKCrgwZQgwJQvJ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-WYaKCrgwZQgwJQvJ .error-icon{fill:#552222;}#mermaid-svg-WYaKCrgwZQgwJQvJ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-WYaKCrgwZQgwJQvJ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-WYaKCrgwZQgwJQvJ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-WYaKCrgwZQgwJQvJ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-WYaKCrgwZQgwJQvJ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-WYaKCrgwZQgwJQvJ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-WYaKCrgwZQgwJQvJ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-WYaKCrgwZQgwJQvJ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-WYaKCrgwZQgwJQvJ .marker.cross{stroke:#333333;}#mermaid-svg-WYaKCrgwZQgwJQvJ svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-WYaKCrgwZQgwJQvJ p{margin:0;}#mermaid-svg-WYaKCrgwZQgwJQvJ .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-WYaKCrgwZQgwJQvJ .cluster-label text{fill:#333;}#mermaid-svg-WYaKCrgwZQgwJQvJ .cluster-label span{color:#333;}#mermaid-svg-WYaKCrgwZQgwJQvJ .cluster-label span p{background-color:transparent;}#mermaid-svg-WYaKCrgwZQgwJQvJ .label text,#mermaid-svg-WYaKCrgwZQgwJQvJ span{fill:#333;color:#333;}#mermaid-svg-WYaKCrgwZQgwJQvJ .node rect,#mermaid-svg-WYaKCrgwZQgwJQvJ .node circle,#mermaid-svg-WYaKCrgwZQgwJQvJ .node ellipse,#mermaid-svg-WYaKCrgwZQgwJQvJ .node polygon,#mermaid-svg-WYaKCrgwZQgwJQvJ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-WYaKCrgwZQgwJQvJ .rough-node .label text,#mermaid-svg-WYaKCrgwZQgwJQvJ .node .label text,#mermaid-svg-WYaKCrgwZQgwJQvJ .image-shape .label,#mermaid-svg-WYaKCrgwZQgwJQvJ .icon-shape .label{text-anchor:middle;}#mermaid-svg-WYaKCrgwZQgwJQvJ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-WYaKCrgwZQgwJQvJ .rough-node .label,#mermaid-svg-WYaKCrgwZQgwJQvJ .node .label,#mermaid-svg-WYaKCrgwZQgwJQvJ .image-shape .label,#mermaid-svg-WYaKCrgwZQgwJQvJ .icon-shape .label{text-align:center;}#mermaid-svg-WYaKCrgwZQgwJQvJ .node.clickable{cursor:pointer;}#mermaid-svg-WYaKCrgwZQgwJQvJ .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-WYaKCrgwZQgwJQvJ .arrowheadPath{fill:#333333;}#mermaid-svg-WYaKCrgwZQgwJQvJ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-WYaKCrgwZQgwJQvJ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-WYaKCrgwZQgwJQvJ .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-WYaKCrgwZQgwJQvJ .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-WYaKCrgwZQgwJQvJ .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-WYaKCrgwZQgwJQvJ .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-WYaKCrgwZQgwJQvJ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-WYaKCrgwZQgwJQvJ .cluster text{fill:#333;}#mermaid-svg-WYaKCrgwZQgwJQvJ .cluster span{color:#333;}#mermaid-svg-WYaKCrgwZQgwJQvJ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-WYaKCrgwZQgwJQvJ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-WYaKCrgwZQgwJQvJ rect.text{fill:none;stroke-width:0;}#mermaid-svg-WYaKCrgwZQgwJQvJ .icon-shape,#mermaid-svg-WYaKCrgwZQgwJQvJ .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-WYaKCrgwZQgwJQvJ .icon-shape p,#mermaid-svg-WYaKCrgwZQgwJQvJ .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-WYaKCrgwZQgwJQvJ .icon-shape .label rect,#mermaid-svg-WYaKCrgwZQgwJQvJ .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-WYaKCrgwZQgwJQvJ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-WYaKCrgwZQgwJQvJ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-WYaKCrgwZQgwJQvJ :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

日常问答

深度写作

自动化批量

打开豆包

查看顶部模式栏

快速模式响应最快

专家模式Pro算力+长文本

任务模式Agent自主执行

快速产出

高质量输出

成品交付

豆包的专家模式可通过“设置→通用→开启专家模式”免费调用Pro级算力,支持处理100页以内的长文档。任务模式则能主动将宏观目标拆解为多个子任务,通过联网搜索、调用浏览器实时抓取信息并结构化整理。

五、UML建模

5.1 类图(Class Diagram)

#mermaid-svg-9QtOjHiEeMRja2ug{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-9QtOjHiEeMRja2ug .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-9QtOjHiEeMRja2ug .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-9QtOjHiEeMRja2ug .error-icon{fill:#552222;}#mermaid-svg-9QtOjHiEeMRja2ug .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-9QtOjHiEeMRja2ug .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-9QtOjHiEeMRja2ug .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-9QtOjHiEeMRja2ug .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-9QtOjHiEeMRja2ug .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-9QtOjHiEeMRja2ug .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-9QtOjHiEeMRja2ug .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-9QtOjHiEeMRja2ug .marker{fill:#333333;stroke:#333333;}#mermaid-svg-9QtOjHiEeMRja2ug .marker.cross{stroke:#333333;}#mermaid-svg-9QtOjHiEeMRja2ug svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-9QtOjHiEeMRja2ug p{margin:0;}#mermaid-svg-9QtOjHiEeMRja2ug g.classGroup text{fill:#9370DB;stroke:none;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-9QtOjHiEeMRja2ug g.classGroup text .title{font-weight:bolder;}#mermaid-svg-9QtOjHiEeMRja2ug .cluster-label text{fill:#333;}#mermaid-svg-9QtOjHiEeMRja2ug .cluster-label span{color:#333;}#mermaid-svg-9QtOjHiEeMRja2ug .cluster-label span p{background-color:transparent;}#mermaid-svg-9QtOjHiEeMRja2ug .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-9QtOjHiEeMRja2ug .cluster text{fill:#333;}#mermaid-svg-9QtOjHiEeMRja2ug .cluster span{color:#333;}#mermaid-svg-9QtOjHiEeMRja2ug .nodeLabel,#mermaid-svg-9QtOjHiEeMRja2ug .edgeLabel{color:#131300;}#mermaid-svg-9QtOjHiEeMRja2ug .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-9QtOjHiEeMRja2ug .label text{fill:#131300;}#mermaid-svg-9QtOjHiEeMRja2ug .labelBkg{background:#ECECFF;}#mermaid-svg-9QtOjHiEeMRja2ug .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-9QtOjHiEeMRja2ug .classTitle{font-weight:bolder;}#mermaid-svg-9QtOjHiEeMRja2ug .node rect,#mermaid-svg-9QtOjHiEeMRja2ug .node circle,#mermaid-svg-9QtOjHiEeMRja2ug .node ellipse,#mermaid-svg-9QtOjHiEeMRja2ug .node polygon,#mermaid-svg-9QtOjHiEeMRja2ug .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-9QtOjHiEeMRja2ug .divider{stroke:#9370DB;stroke-width:1;}#mermaid-svg-9QtOjHiEeMRja2ug g.clickable{cursor:pointer;}#mermaid-svg-9QtOjHiEeMRja2ug g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-9QtOjHiEeMRja2ug g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-9QtOjHiEeMRja2ug .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-9QtOjHiEeMRja2ug .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-9QtOjHiEeMRja2ug .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-9QtOjHiEeMRja2ug .dashed-line{stroke-dasharray:3;}#mermaid-svg-9QtOjHiEeMRja2ug .dotted-line{stroke-dasharray:1 2;}#mermaid-svg-9QtOjHiEeMRja2ug #compositionStart,#mermaid-svg-9QtOjHiEeMRja2ug .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-9QtOjHiEeMRja2ug #compositionEnd,#mermaid-svg-9QtOjHiEeMRja2ug .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-9QtOjHiEeMRja2ug #dependencyStart,#mermaid-svg-9QtOjHiEeMRja2ug .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-9QtOjHiEeMRja2ug #dependencyStart,#mermaid-svg-9QtOjHiEeMRja2ug .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-9QtOjHiEeMRja2ug #extensionStart,#mermaid-svg-9QtOjHiEeMRja2ug .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-9QtOjHiEeMRja2ug #extensionEnd,#mermaid-svg-9QtOjHiEeMRja2ug .extension{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-9QtOjHiEeMRja2ug #aggregationStart,#mermaid-svg-9QtOjHiEeMRja2ug .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-9QtOjHiEeMRja2ug #aggregationEnd,#mermaid-svg-9QtOjHiEeMRja2ug .aggregation{fill:transparent!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-9QtOjHiEeMRja2ug #lollipopStart,#mermaid-svg-9QtOjHiEeMRja2ug .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-9QtOjHiEeMRja2ug #lollipopEnd,#mermaid-svg-9QtOjHiEeMRja2ug .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-9QtOjHiEeMRja2ug .edgeTerminals{font-size:11px;line-height:initial;}#mermaid-svg-9QtOjHiEeMRja2ug .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-9QtOjHiEeMRja2ug .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-9QtOjHiEeMRja2ug .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-9QtOjHiEeMRja2ug :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

DoubaoWritingWorkflow

-String workflowId

-String status

-String mode // fast/expert/task

-DateTime createdAt

+start()

+switchMode(mode)

+pause()

+resume()

+getStatus()

WorkflowOrchestrator

-List<WorkflowStep> steps

-ContextManager context

-PromptLibrary promptLib

+decompose(task) : : List<WorkflowStep>

+route(task) : : WorkflowChain

+execute(chain)

+rollback(stepId)

«abstract»

WorkflowStep

#String stepId

#String stepName

#DoubaoMode mode // 每步可指定模式

#StepStatus status

+execute(input: Context) : : Context

+validate(output: Context) : : boolean

+getPrompt() : : PromptTemplate

BriefGenerator

+execute(input) : : Context

+validate(output) : : boolean

+getPrompt() : : PromptTemplate

+enableWebSearch() : : void // 调用豆包联网搜索

OutlinePlanner

+execute(input) : : Context

+validate(output) : : boolean

+getPrompt() : : PromptTemplate

+generateOptions(count) : : List<Outline>

DraftWriter

-chapterIndex: int

+execute(input) : : Context

+validate(output) : : boolean

+getPrompt() : : PromptTemplate

+writeChapter(chapter) : : string

+parseFile(file) : : string // 调用豆包文件解析

StylePolisher

+execute(input) : : Context

+validate(output) : : boolean

+getPrompt() : : PromptTemplate

+applyStyleGuide(style) : : string

QualityValidator

-checklist: List<CheckItem>

+execute(input) : : Context

+validate(output) : : boolean

+getPrompt() : : PromptTemplate

+runChecks(content) : : Report

+autoFix(issues) : : string

ContextManager

-Map<String, Object> store

+set(key, value)

+get(key) : : Object

+getAll() : : Map

+snapshot() : : ContextSnapshot

+restore(snapshot)

PromptTemplate

-String templateId

-String version

-String content

-Map<String, String> variables

+render(vars) : : string

+validate() : : boolean

DoubaoClient

-String apiEndpoint

-String modelName // Pro/Lite/Mini

-String mode // fast/expert/task

+chat(prompt, context) : : Response

+chatWithSearch(prompt) : : Response // 联网搜索

+parseDocument(file) : : string // 文件解析

+executeTask(taskDesc) : : TaskResult // 任务模式

+getTokenUsage() : : TokenUsage

AuditLogger

+logStep(stepId, input, output, duration)

+logModeSwitch(from, to)

+generateReport() : : AuditReport

5.2 时序图(Sequence Diagram)

ContextManager豆包APIQualityValidatorStylePolisherDraftWriterOutlinePlannerBriefGeneratorOrchestratorUserContextManager豆包APIQualityValidatorStylePolisherDraftWriterOutlinePlannerBriefGeneratorOrchestratorUser#mermaid-svg-6tlKCVncAZjTXIYb{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-6tlKCVncAZjTXIYb .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-6tlKCVncAZjTXIYb .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-6tlKCVncAZjTXIYb .error-icon{fill:#552222;}#mermaid-svg-6tlKCVncAZjTXIYb .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-6tlKCVncAZjTXIYb .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-6tlKCVncAZjTXIYb .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-6tlKCVncAZjTXIYb .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-6tlKCVncAZjTXIYb .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-6tlKCVncAZjTXIYb .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-6tlKCVncAZjTXIYb .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-6tlKCVncAZjTXIYb .marker{fill:#333333;stroke:#333333;}#mermaid-svg-6tlKCVncAZjTXIYb .marker.cross{stroke:#333333;}#mermaid-svg-6tlKCVncAZjTXIYb svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-6tlKCVncAZjTXIYb p{margin:0;}#mermaid-svg-6tlKCVncAZjTXIYb .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-6tlKCVncAZjTXIYb text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-6tlKCVncAZjTXIYb .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-6tlKCVncAZjTXIYb .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-6tlKCVncAZjTXIYb .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-6tlKCVncAZjTXIYb .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-6tlKCVncAZjTXIYb #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-6tlKCVncAZjTXIYb .sequenceNumber{fill:white;}#mermaid-svg-6tlKCVncAZjTXIYb #sequencenumber{fill:#333;}#mermaid-svg-6tlKCVncAZjTXIYb #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-6tlKCVncAZjTXIYb .messageText{fill:#333;stroke:none;}#mermaid-svg-6tlKCVncAZjTXIYb .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-6tlKCVncAZjTXIYb .labelText,#mermaid-svg-6tlKCVncAZjTXIYb .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-6tlKCVncAZjTXIYb .loopText,#mermaid-svg-6tlKCVncAZjTXIYb .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-6tlKCVncAZjTXIYb .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-6tlKCVncAZjTXIYb .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-6tlKCVncAZjTXIYb .noteText,#mermaid-svg-6tlKCVncAZjTXIYb .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-6tlKCVncAZjTXIYb .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-6tlKCVncAZjTXIYb .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-6tlKCVncAZjTXIYb .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-6tlKCVncAZjTXIYb .actorPopupMenu{position:absolute;}#mermaid-svg-6tlKCVncAZjTXIYb .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-6tlKCVncAZjTXIYb .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-6tlKCVncAZjTXIYb .actor-man circle,#mermaid-svg-6tlKCVncAZjTXIYb line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-6tlKCVncAZjTXIYb :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}loop[每个章节]alt[校验通过][校验不通过]提交写作需求任务分解建议使用专家模式确认execute(需求)切换专家模式调用(简报提示词)返回结构化简报validate()保存简报简报execute(简报)get(简报)调用(大纲提示词, 专家模式)返回3个大纲展示大纲选项选择大纲保存大纲writeChapter(章节)get(简报,大纲)调用(章节起草, 快速模式)返回章节初稿保存章节mergeChapters()保存完整初稿execute(初稿)get(初稿)调用(润色, 快速模式)返回润色稿保存润色稿execute(润色稿)get(润色稿)调用(校验, 快速模式)校验报告通过标记问题问题报告最终文章 + 审计报告

5.3 状态图(State Diagram)

#mermaid-svg-LCwDj1Dte6Z2vVZp{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-LCwDj1Dte6Z2vVZp .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-LCwDj1Dte6Z2vVZp .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-LCwDj1Dte6Z2vVZp .error-icon{fill:#552222;}#mermaid-svg-LCwDj1Dte6Z2vVZp .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-LCwDj1Dte6Z2vVZp .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-LCwDj1Dte6Z2vVZp .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-LCwDj1Dte6Z2vVZp .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-LCwDj1Dte6Z2vVZp .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-LCwDj1Dte6Z2vVZp .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-LCwDj1Dte6Z2vVZp .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-LCwDj1Dte6Z2vVZp .marker{fill:#333333;stroke:#333333;}#mermaid-svg-LCwDj1Dte6Z2vVZp .marker.cross{stroke:#333333;}#mermaid-svg-LCwDj1Dte6Z2vVZp svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-LCwDj1Dte6Z2vVZp p{margin:0;}#mermaid-svg-LCwDj1Dte6Z2vVZp defs #statediagram-barbEnd{fill:#333333;stroke:#333333;}#mermaid-svg-LCwDj1Dte6Z2vVZp g.stateGroup text{fill:#9370DB;stroke:none;font-size:10px;}#mermaid-svg-LCwDj1Dte6Z2vVZp g.stateGroup text{fill:#333;stroke:none;font-size:10px;}#mermaid-svg-LCwDj1Dte6Z2vVZp g.stateGroup .state-title{font-weight:bolder;fill:#131300;}#mermaid-svg-LCwDj1Dte6Z2vVZp g.stateGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-LCwDj1Dte6Z2vVZp g.stateGroup line{stroke:#333333;stroke-width:1;}#mermaid-svg-LCwDj1Dte6Z2vVZp .transition{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-LCwDj1Dte6Z2vVZp .stateGroup .composit{fill:white;border-bottom:1px;}#mermaid-svg-LCwDj1Dte6Z2vVZp .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px;}#mermaid-svg-LCwDj1Dte6Z2vVZp .state-note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-LCwDj1Dte6Z2vVZp .state-note text{fill:black;stroke:none;font-size:10px;}#mermaid-svg-LCwDj1Dte6Z2vVZp .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-LCwDj1Dte6Z2vVZp .edgeLabel .label rect{fill:#ECECFF;opacity:0.5;}#mermaid-svg-LCwDj1Dte6Z2vVZp .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-LCwDj1Dte6Z2vVZp .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-LCwDj1Dte6Z2vVZp .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-LCwDj1Dte6Z2vVZp .edgeLabel .label text{fill:#333;}#mermaid-svg-LCwDj1Dte6Z2vVZp .label div .edgeLabel{color:#333;}#mermaid-svg-LCwDj1Dte6Z2vVZp .stateLabel text{fill:#131300;font-size:10px;font-weight:bold;}#mermaid-svg-LCwDj1Dte6Z2vVZp .node circle.state-start{fill:#333333;stroke:#333333;}#mermaid-svg-LCwDj1Dte6Z2vVZp .node .fork-join{fill:#333333;stroke:#333333;}#mermaid-svg-LCwDj1Dte6Z2vVZp .node circle.state-end{fill:#9370DB;stroke:white;stroke-width:1.5;}#mermaid-svg-LCwDj1Dte6Z2vVZp .end-state-inner{fill:white;stroke-width:1.5;}#mermaid-svg-LCwDj1Dte6Z2vVZp .node rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-LCwDj1Dte6Z2vVZp .node polygon{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-LCwDj1Dte6Z2vVZp #statediagram-barbEnd{fill:#333333;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram-cluster rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-LCwDj1Dte6Z2vVZp .cluster-label,#mermaid-svg-LCwDj1Dte6Z2vVZp .nodeLabel{color:#131300;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram-cluster rect.outer{rx:5px;ry:5px;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram-state .divider{stroke:#9370DB;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram-state .title-state{rx:5px;ry:5px;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram-cluster.statediagram-cluster .inner{fill:white;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram-cluster.statediagram-cluster-alt .inner{fill:#f0f0f0;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram-cluster .inner{rx:0;ry:0;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram-state rect.basic{rx:5px;ry:5px;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#f0f0f0;}#mermaid-svg-LCwDj1Dte6Z2vVZp .note-edge{stroke-dasharray:5;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram-note text{fill:black;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram-note .nodeLabel{color:black;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagram .edgeLabel{color:red;}#mermaid-svg-LCwDj1Dte6Z2vVZp #dependencyStart,#mermaid-svg-LCwDj1Dte6Z2vVZp #dependencyEnd{fill:#333333;stroke:#333333;stroke-width:1;}#mermaid-svg-LCwDj1Dte6Z2vVZp .statediagramTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-LCwDj1Dte6Z2vVZp :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

创建工作流

开始

简报生成完成

开始大纲

大纲完成

开始起草

所有章节完成

开始润色

润色完成

开始校验

校验通过

校验失败

自动修复

重新校验

需人工介入

完成

人工处理

IDLE

BRIEFING

BRIEF_DONE

OUTLINING

OUTLINE_DONE

DRAFTING

DRAFT_DONE

POLISHING

POLISH_DONE

VALIDATING

PASSED

FAILED

FIXING

MANUAL_REVIEW

豆包模式: 专家推理强度: 高

豆包模式: 专家推理强度: 高

豆包模式: 快速推理强度: 中

豆包模式: 快速推理强度: 低

豆包模式: 快速推理强度: 低

六、项目文件结构

doubao-writing-workflow/
├── README.md # 项目说明
├── requirements.txt # Python依赖
├── .env.example # 环境变量(豆包API密钥)

├── config/
│ ├── __init__.py
│ ├── settings.py # 全局配置
│ └── workflow_config.yaml # 工作流配置

├── prompts/ # 提示词模板库
│ ├── __init__.py
│ ├── v1/
│ │ ├── brief_generator.md # 步骤1: 简报生成
│ │ ├── outline_planner.md # 步骤2: 大纲规划
│ │ ├── draft_writer.md # 步骤3: 模块化起草
│ │ ├── style_polisher.md # 步骤4: 风格润色
│ │ └── quality_validator.md # 步骤5: 质量校验
│ └── prompt_manager.py

├── src/
│ ├── __init__.py
│ ├── orchestrator/
│ │ ├── __init__.py
│ │ ├── workflow.py
│ │ ├── orchestrator.py
│ │ └── router.py # 模式路由器
│ │
│ ├── steps/ # 五步执行步骤
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── brief_generator.py
│ │ ├── outline_planner.py
│ │ ├── draft_writer.py
│ │ ├── style_polisher.py
│ │ └── quality_validator.py
│ │
│ ├── core/
│ │ ├── __init__.py
│ │ ├── context.py
│ │ ├── doubao_client.py # 豆包API封装
│ │ └── exceptions.py
│ │
│ └── utils/
│ ├── __init__.py
│ ├── logger.py
│ └── validators.py

├── tests/
│ ├── test_steps/
│ └── test_core/

├── examples/
│ ├── basic_usage.py # 基础用法
│ ├── expert_mode_demo.py # 专家模式演示
│ └── task_mode_demo.py # 任务模式演示

└── docs/
├── architecture.md
├── prompt_engineering_guide.md # 豆包提示词工程指南
└── mode_switching_guide.md # 模式切换指南

七、实例解析:从零到一篇技术博客

7.1 场景设定

用户需求:写一篇面向初级开发者的技术博客,主题是“如何用Python处理大规模日志文件”,风格要求“通俗易懂、有实操代码”。

7.2 步骤1:简报生成(专家模式)

豆包模式:专家模式(调用Pro算力,深度推理)

提示词模板(prompts/v1/brief_generator.md):

# 角色
你是一位资深的内容策略专家。

# 目标
根据以下用户需求,生成一份结构化的写作简报。

# 用户需求
{{user_requirement}}

# 豆包提示词工程约束
– 角色定义已在system prompt中显式传入
– 变量用###隔离
– 输出格式用Markdown

# 成功标准
1. 简报必须包含:目标读者、核心目的、核心论点、风格指南、5个关键要点
2. 核心论点必须能用一句话说清楚读者读完后的收获

# 输出格式
以Markdown格式输出结构化简报。

执行:在豆包中切换到专家模式,输入上述提示词(替换{{user_requirement}}为实际需求)。专家模式调用豆包2.0 Pro版本,能够处理复杂任务场景并提供深度推理能力。

输出(简报):

# 写作简报

## 目标读者
– 1-3年经验的Python开发者
– 已掌握基础语法,对文件IO和性能优化了解不深

## 核心目的
读者学完后能够独立编写高效的Python日志处理脚本。

## 核心论点
通过“分块读取+生成器+多进程”三板斧,单机也能高效处理大规模日志文件。

## 风格指南
– 每300字至少包含一个可运行的代码片段
– 技术术语首次出现时加粗并附简短解释
– 每个概念配一个生活类比

## 5个关键要点
1. 为什么readlines()会撑爆内存
2. 生成器如何实现流式处理
3. 分块读取的块大小如何选择
4. 多进程vs多线程的取舍
5. 实战:处理Nginx日志并提取TOP 10 IP

7.3 步骤2:大纲规划(专家模式)

豆包模式:专家模式

提示词模板(prompts/v1/outline_planner.md):

# 角色
你是一位结构清晰的写作规划师。

# 目标
基于以下写作简报,生成2-3个不同角度的大纲选项。

# 写作简报
{{brief}}

# 成功标准
1. 每个大纲包含6-8个主要章节
2. 每个章节需说明其“核心任务”
3. 章节之间必须有逻辑递进关系

# 输出格式
以Markdown格式输出2-3个大纲选项。

执行:继续在专家模式下,将简报内容注入提示词。

输出(选定的大纲):

## 选项1:问题驱动型

### 第1章:当日志文件撑爆内存——一个真实的崩溃故事
– 核心任务:用场景引发共鸣
– [CODE: 演示readlines()导致MemoryError]

### 第2章:第一步优化——生成器让你“边读边忘”
– 核心任务:讲解生成器的流式处理原理
– [CODE: 生成器版本的日志读取]

### 第3章:第二步优化——分块读取
– 核心任务:讲解块大小选择策略
– [CODE: 带块大小参数的文件读取器]

### 第4章:第三步优化——多进程并行
– 核心任务:对比多进程与多线程
– [CODE: multiprocessing.Pool处理日志]

### 第5章:实战——10GB Nginx日志的TOP 10 IP统计
– 核心任务:综合运用前三章技术
– [CODE: 完整可运行脚本]

### 第6章:避坑指南与性能调优
– 核心任务:总结常见错误

### 第7章:动手练习
– 核心任务:巩固学习成果

7.4 步骤3:模块化起草(快速模式)

豆包模式:快速模式(响应快,适合常规生成)

提示词模板(prompts/v1/draft_writer.md):

# 角色
你是一位擅长技术写作的专业作者。

# 目标
根据以下大纲和简报,撰写指定章节的详细内容。

# 写作简报
{{brief}}

# 大纲
{{outline}}

# 当前章节
{{chapter_title}}

# 章节核心任务
{{chapter_task}}

# 成功标准
1. 内容紧密围绕核心论点展开
2. 代码示例必须可运行(Python 3.8+)
3. 每300字至少一个代码片段

# 约束
– 字数:800-1200字/章
– 风格:符合简报中的风格指南

执行:切换到快速模式,对每个章节逐一生成。快速模式主打反应快、有问必答,适合日常轻量级需求。

关键技巧:高手从来都是用“先搭框架→再填细节→反向优化→最终打磨”的多次对话,一步步让输出贴合预期。

7.5 步骤4:风格润色(快速模式)

豆包模式:快速模式

提示词模板(prompts/v1/style_polisher.md):

# 角色
你是一位资深技术编辑。

# 目标
对以下文章进行风格润色,提升可读性和专业度。

# 文章草稿
{{draft}}

# 风格指南
{{style_guide}}

# 成功标准
1. 句子平均长度不超过20词
2. 段落长度3-5行为宜
3. 消除重复表述和冗余修饰
4. 统一术语翻译

# 约束
– 不改变技术内容的准确性
– 不删除代码示例

7.6 步骤5:质量校验(快速模式)

豆包模式:快速模式

提示词模板(prompts/v1/quality_validator.md):

# 角色
你是一位严格的质检员。

# 目标
对以下文章进行全面质量检查。

# 文章
{{polished_article}}

# 自查清单
1. [ ] 核心论点是否在引言和结论中清晰呼应?
2. [ ] 所有代码示例是否语法正确?
3. [ ] 是否有未定义就使用的术语?
4. [ ] 章节过渡是否自然?

# 输出格式
– 如全部通过:输出"✅ 校验通过"
– 如有问题:输出问题清单 + 修正建议

八、豆包特有的高阶能力应用

8.1 联网搜索增强简报

豆包支持联网搜索,在简报生成阶段可启用联网搜索功能,自动获取行业最新数据和案例:

# 简报生成提示词(启用联网搜索)
请联网搜索“Python日志处理 2026”相关的最新最佳实践和性能数据,
结合搜索结果为以下主题生成写作简报…

8.2 文件解析处理素材

豆包支持文件输入(File API),可解析PDF、Word、Excel等文件。在起草阶段,可上传参考文档:

# 章节起草提示词(附参考文件)
请参考我上传的《Python性能优化指南.pdf》中的相关章节,
结合以下大纲撰写第3章内容…

8.3 任务模式实现自动化

豆包的任务模式可自主完成从任务拆解到结果交付的全链路执行。对于批量写作场景:

# 任务模式指令
任务:为一周7天每天生成一篇500字的技术短文,主题为“Python小技巧系列”
要求:每天一个独立技巧,包含代码示例,风格统一
输出:7篇Markdown格式文章,保存到指定文件夹
定时:每天上午8:00自动执行

豆包任务模式支持设置定时任务,按预设时间在后台自动执行批量生成报告等工作。

8.4 全模态理解处理多媒体素材

豆包2.0-lite支持视频、图像、音频和文本的原生统一理解。在写作中可处理多种素材:

# 多模态写作提示词
请分析我上传的产品演示视频(理解产品功能)和用户评论截图(理解用户反馈),
综合这些素材撰写一篇产品评测文章。

九、设计开发机理与方法论

9.1 豆包提示词工程的五种核心方法

基于豆包提示词工程方法论,本工作流系统应用了五种方法:

方法在本系统中的应用
角色锚定 每步提示词明确定义角色(策略专家/规划师/作者/编辑/质检员)
结构分块 提示词分为角色、目标、输入、成功标准、约束、输出格式六大模块
示例引导 在提示词中提供输出示例,确保格式一致
链式指令 五步串联,前一步输出作为后一步输入
上下文注入 每步注入前几步的关键上下文(简报→大纲→草稿)

9.2 豆包模式的分层策略

步骤推荐模式原因
简报生成 专家模式 需要深度推理和结构化输出
大纲规划 专家模式 需要创造性规划和多方案生成
模块化起草 快速模式 常规内容生成,追求速度
风格润色 快速模式 规则性任务,快速模式足够
质量校验 快速模式 简单的规则检查

9.3 上下文管理机制

豆包支持长上下文处理(专家模式支持百万级Token),但在提示链中仍需结构化管理:

  • 简报作为全局上下文,贯穿所有步骤
  • 大纲作为起草阶段的输入
  • 各章节初稿独立保存,最后合并
  • 润色稿作为校验阶段的输入

9.4 质量保证闭环

豆包的任务模式可自动执行校验和修复:

  • 步骤内校验:每步执行后检查输出格式和内容完整性
  • 步骤间校验:检查上游输出是否满足下游输入要求
  • 最终校验:步骤5的自查清单全面检查
  • 自动修复:简单问题由豆包自动修正
  • 十、总结

    本设计方案将豆包2026年最新版本的核心能力——专家模式(Pro算力)、任务模式(Agent自动化)、快速模式(高效响应)——系统化地应用于写作工作流,核心要点如下:

  • 模式分层,按需切换:深度推理用专家模式,常规生成用快速模式,自动化流程用任务模式,充分发挥豆包三档模式各自优势。

  • 提示词链,五步串联:将写作分解为简报→大纲→起草→润色→校验五个步骤,每步独立可控,输出作为下一步输入。

  • 原生能力,深度整合:充分利用豆包的联网搜索、文件解析、全模态理解等特有功能,增强写作工作流的能力边界。

  • 基础功能免费:日常问答、基础写作等核心功能持续免费,降低了个人构建写作工作流的成本门槛。

  • 这套工作流的最终效果是:将用户从“亲自写每一个字”转变为“像一个导演或编辑一样,去规划、审核和指挥” ——这正是豆包2.0时代AI辅助写作的正确打开方式。

    赞(0)
    未经允许不得转载:171主机测评 » 如何用豆包构建个人写作工作流:提示词链设计方案。
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址