本文引用的文件
本文件面向“提示词工程与模板系统”的技术文档,聚焦于提示词设计原则、模板构建方法、上下文管理策略,并深入解析以下关键模块:
本文件同时提供提示词优化技巧、多轮对话管理、上下文压缩方法、实际提示词示例与效果对比分析,以及最佳实践指导。
提示词工程与模板系统位于服务端模块 book-generator 下,围绕“提示词构建 → 解析与分层 → 策略执行 → 结果产出”的主干流程展开;前端通过模板控制器与服务进行交互,后端通过 LLM 服务与配置中心协同。
graph TB
subgraph "提示词与模板"
B["builder.ts<br/>提示词构建器"]
T["templates.ts<br/>模板系统"]
end
subgraph "解析器"
OP["outline.parser.ts<br/>大纲解析"]
SP["section.parser.ts<br/>章节解析"]
SUBP["subsection.parser.ts<br/>小节解析"]
end
subgraph "策略与执行"
SEL["selector.ts<br/>策略选择器"]
OS["one-step-outline.strategy.ts"]
PCS["per-chapter.strategy.ts"]
SEQ["sequential.strategy.ts"]
SVC["book-generator.service.ts"]
CTRL["book-generator.controller.ts"]
AICTRL["ai-generate-controller.ts"]
end
subgraph "上下文与优化"
STAGE["stage-manager.ts"]
STORE["book-generator.store.ts"]
GRAPH["graph.ts"]
OPT["book-generator-optimizations.ts"]
end
subgraph "LLM与配置"
LLMIDX["services/llm/index.ts"]
CFG["config/index.ts<br/>models.json"]
end
B --> T
T --> OP
OP --> SP
SP --> SUBP
SUBP --> SEL
SEL --> OS
SEL --> PCS
SEL --> SEQ
OS --> SVC
PCS --> SVC
SEQ --> SVC
SVC --> STAGE
STAGE --> STORE
STAGE --> GRAPH
SVC --> LLMIDX
LLMIDX --> CFG
图示来源
章节来源
章节来源
提示词工程与模板系统的整体流程如下:
sequenceDiagram
participant FE as "前端"
participant CTRL as "book-generator.controller.ts"
participant SVC as "book-generator.service.ts"
participant B as "builder.ts"
participant T as "templates.ts"
participant P as "解析器(大纲/章节/小节)"
participant STR as "策略选择器(selector.ts)"
participant LLM as "LLM服务(index.ts)"
participant STAGE as "stage-manager.ts/store.ts"
FE->>CTRL : 发起生成请求(含输入/参数)
CTRL->>SVC : 触发生成流程
SVC->>B : 请求构建提示词(模板+上下文)
B->>T : 加载模板并注入参数
T-->>B : 返回模板实例
B-->>SVC : 返回最终提示词
SVC->>P : 解析输入为层级结构
P-->>SVC : 返回结构化大纲/章节/小节
SVC->>STR : 依据输入特征选择策略
STR-->>SVC : 返回选定策略
SVC->>LLM : 调用模型生成内容
LLM-->>SVC : 返回生成结果
SVC->>STAGE : 写入阶段状态/上下文
SVC-->>CTRL : 返回阶段性结果
CTRL-->>FE : 返回进度/结果
图示来源
章节来源
章节来源
容错与回退
对异常输入进行清洗与标准化
flowchart TD
Start(["开始"]) --> Detect["识别输入类型<br/>主题/关键词/结构化"]
Detect --> Outline["大纲解析<br/>outline.parser.ts"]
Outline --> Sections["章节解析<br/>section.parser.ts"]
Sections --> Subsections["小节解析<br/>subsection.parser.ts"]
Subsections --> Validate{"是否满足字数/层级要求?"}
Validate --> |是| Output["输出结构化节点"]
Validate --> |否| Fallback["回退/重试/人工干预"]
Fallback --> Output
图示来源
章节来源
执行流程
选择策略 → 初始化阶段 → 逐步生成 → 上下文更新 → 结果汇总
classDiagram
class 策略选择器 {
+评估输入特征
+计算策略权重
+返回最优策略
}
class 一次性策略 {
+一次性生成大纲
}
class 逐章策略 {
+按章节生成
+并行/串行控制
}
class 顺序策略 {
+严格顺序
+上下文传递
}
策略选择器 --> 一次性策略
策略选择器 --> 逐章策略
策略选择器 --> 顺序策略
图示来源
章节来源
章节来源
外部依赖
前端模板控制器与服务:模板检索与应用
graph LR
TPL["templates.ts"] --> BLD["builder.ts"]
BLD --> SVC["book-generator.service.ts"]
PARSER["解析器层"] --> SVC
STRAT["策略层"] --> SVC
SVC --> LLM["services/llm/index.ts"]
LLM --> CFG["config/index.ts"]
FE_CTRL["templates.controller.js"] --> FE_SRV["templates.service.js"]
FE_SRV --> TPL
图示来源
章节来源
章节来源
提示词工程与模板系统以“可组合、可复用、可演进”为核心目标,通过模板化与策略化实现高效稳定的生成流程。结合解析器的层级化处理、阶段化的上下文管理与 LangGraph 的图谱化编排,系统在复杂内容生成场景下具备良好的扩展性与鲁棒性。建议持续完善模板库、优化策略选择算法、加强监控与回退机制,以应对更广泛的业务需求。