跳转至

创意写作助手

项目背景与目标

写作是创意工作,但创作者常面临灵感枯竭、结构组织困难、语言打磨耗时等问题。专业作家有编辑团队辅助,而独立创作者(网文作者、自媒体、学生)缺乏支持。AI 创意写作助手通过灵感激发、大纲生成、内容润色、风格适配,全方位辅助创作过程,提升写作效率与质量,同时保留作者主导权。

本项目目标是构建一个 AI 创意写作助手 Agent,覆盖从灵感到大纲到成稿到润色的全流程,核心能力包括灵感激发、大纲构建、内容生成与续写、语言润色、风格适配。

需求分析

核心能力: 1. 灵感激发:基于主题/关键词生成创意点子 2. 大纲生成:构建故事结构(三幕剧、英雄之旅等) 3. 内容续写:根据前文与大纲继续创作 4. 语言润色:优化遣词造句、节奏、画面感 5. 风格适配:模仿指定作者风格或文体 6. 一致性检查:人物、设定、情节前后一致

用户场景:网文连载、短篇创作、剧本写作、公文撰写、学术润色。

技术选型说明

模块 技术方案 选型理由
Agent 框架 LangGraph 写作流程多步骤
LLM GPT-4o / Claude 长文本创意生成
大纲管理 结构化树 + 向量 大纲与正文关联
风格学习 少样本 + 微调 风格模仿
一致性检查 RAG + LLM 校验 设定与人物一致
知识库 写作技巧 RAG 叙事方法论支撑
后端 FastAPI 流式生成
数据库 PostgreSQL 作品存档

架构设计

flowchart TD
    U[创作者] --> INS[灵感激发]
    INS --> IDEAS[创意点子]
    IDEAS --> OUTLINE[大纲生成]
    OUTLINE --> TPL[(叙事模板)]
    OUTLINE --> DRAFT[初稿生成]
    DRAFT --> LLM[LLM 续写]
    DRAFT --> CONSIST[一致性检查]
    CONSIST --> BIBLE[(设定圣经)]
    CONSIST --> HIST[(正文历史)]
    DRAFT --> POLISH[润色优化]
    POLISH --> STYLE[风格适配]
    POLISH --> REPLY[返回作者]
    REPLY --> EDIT[作者修改]
    EDIT --> DRAFT

关键模块实现思路

模块1:灵感激发

灵感激发从模糊输入(主题、情绪、画面)发散出具体创意点子。采用"发散 + 聚类"策略:LLM 生成大量创意点,按主题聚类去重,输出多样化候选。

def inspire(theme, mood=None, count=10):
    prompt = f"""主题:{theme},情绪:{mood}
生成 {count} 个创意故事点子,涵盖不同类型:
- 角色驱动型(人物困境)
- 设定驱动型(独特世界观)
- 情节驱动型(反转与悬念)
每个点子 50 字以内,附一句话核心冲突"""
    ideas = llm.generate(prompt)
    return cluster_and_dedup(ideas)

可结合 trending 话题、经典叙事原型(坎贝尔英雄之旅)激发,避免套路化。

模块2:大纲构建

大纲是长篇创作的骨架。支持多种叙事结构模板:三幕剧、英雄之旅、起承转合、悬念递进。LLM 基于创意点子与选定结构生成多层大纲:卷 → 章 → 场景。

def build_outline(idea, structure="three_act"):
    template = STRUCTURE_TEMPLATES[structure]
    prompt = f"""基于创意:{idea}
按{template.name}结构生成大纲:
{template.framework}
输出:分卷 → 分章 → 每章场景要点"""
    outline = llm.generate(prompt)
    return validate_outline(outline, template)  # 校验结构完整性

大纲支持人工调整,调整后影响后续生成。大纲与正文双向链接,便于追溯。

模块3:内容续写

续写是核心功能。LLM 基于大纲、前文、设定圣经生成后续内容。关键技术是长上下文管理:前文摘要 + 最近原文 + 大纲指引,避免超出上下文窗口。

def continue_writing(outline, history, setting_bible):
    summary = summarize(history, max_words=500)  # 前文摘要
    recent = history[-2000:]  # 最近原文
    prompt = f"""设定圣经:{setting_bible}
前文摘要:{summary}
最近内容:{recent}
当前章节大纲:{outline.current_chapter}
要求:续写 800-1200 字,保持风格一致,推进情节"""
    return llm.generate(prompt)

续写提供多个候选,作者选择或融合,保留主导权。

模块4:语言润色

润色聚焦语言层面优化,不改变情节:遣词造句、节奏感、画面感、情感渲染。分维度润色:用词精准、句式多样、感官描写、对话自然。

POLISH_PROMPT = """润色以下段落(不改变情节):
原文:{text}
润色维度:
1. 用词:替换平淡词为生动词
2. 句式:长短句搭配,避免单调
3. 感官:增加视觉/听觉/触觉描写
4. 节奏:调整断句增强节奏感
输出润色后文本,附修改说明"""

润色提供"轻度/中度/重度"三档,轻度保留原貌微调,重度大幅改写。

模块5:风格适配

风格模仿是高级功能。两种方式: - 少样本提示:提供目标风格样本(如鲁迅杂文、古龙武侠),LLM 模仿 - 微调模型:用大量目标作者作品微调,深度学习风格特征

def adapt_style(text, target_style, samples=None):
    if samples:  # 少样本
        prompt = f"""参考以下风格样本:
{samples}
将文本改写为该风格:
{text}"""
    else:  # 微调模型
        prompt = f"以{target_style}风格改写:{text}"
    return llm.generate(prompt)

风格特征包括:词汇偏好、句式习惯、修辞手法、节奏、叙事视角。

模块6:一致性检查

长篇创作易出现不一致:人物性格突变、设定前后矛盾、时间线错乱。维护"设定圣经"(人物档案、世界设定、时间线),每次生成后校验。

def check_consistency(new_text, bible):
    issues = []
    for char in extract_characters(new_text):
        if contradicts_profile(char, bible.characters):
            issues.append(f"{char}性格与设定不符")
    if timeline_conflict(new_text, bible.timeline):
        issues.append("时间线冲突")
    return issues

核心流程详解

长篇创作流程: 1. 灵感激发 → 选定创意点子 2. 大纲构建 → 生成多层大纲 → 作者调整 3. 设定圣经:人物档案、世界设定、时间线 4. 逐章续写:大纲 + 前文 + 设定 → 生成 → 作者修改 5. 一致性检查 → 发现问题则修正 6. 润色优化:语言层面打磨 7. 风格统一:全文风格一致性调整

短篇快速创作: 1. 输入主题与字数要求 2. 生成创意点子 → 选定 3. 生成完整初稿 4. 润色优化 → 输出

部署与优化建议

  • 作者主导:AI 辅助而非替代,所有生成内容作者可修改
  • 版权安全:风格模仿避免直接复制原文,学习特征而非照搬
  • 长文管理:长篇小说用摘要 + 检索管理上下文,避免遗忘前文
  • 多模型协作:创意生成用强模型,润色用轻量模型降本
  • 版本管理:每次修改版本化,支持回退与对比
  • 反馈学习:作者修改记录用于优化生成偏好

常见问题与解决方案

问题 原因 解决方案
生成内容套路化 LLM 倾向常见模式 创意约束 + 多样化采样
长篇前后矛盾 上下文遗忘 设定圣经 + 一致性检查
风格模仿不像 样本不足 增加样本 + 微调模型
续写偏离大纲 LLM 发散 大纲强约束 + 生成后校验

扩展方向

  • 对话式创作:与作者对话式协作,逐步推进
  • 多模态:配图生成、封面设计
  • 读者反馈集成:连载中根据读者反馈调整走向
  • 类型专精:悬疑、言情、科幻等类型专项优化