这是一份面向开发者与AI工程实践者的深度技术复盘,完整公开WriterAgent的设计逻辑、三层微服务架构、双任务模型微调方案及可运行落地细节。它不提供黑箱工具,而是交付一套可理解、可修改、可扩展的长文生成系统。
智能速览
采用Search→Outline→Content三阶段工作流,模拟专业写作者的思维路径
后端拆分为main_api、search_api、main_outline、main_content四个高内聚微服务,全部容器化部署
搜索模块集成智谱AI搜索与微信搜索双通道,支撑高质量RAG检索
大纲与内容生成分别使用ADK+LangGraph构建A2A Agent,并支持反思-修改-确认循环
基于Unsloth对开源模型进行任务专属微调,训练集含xiaosen_grpo.jsonl等结构化指令数据
前端采用Next.js+TypeScript+Tailwind CSS,本地一键启动(docker-compose up --build)
精华内容
当大模型能力已成基础设施,真正的挑战在于如何将其嵌入真实、复杂、有反馈的创作闭环中。WriterAgent给出的答案,不是封装一个API,而是重建一套可干预、可追溯、可迭代的写作操作系统。
三步闭环
系统严格遵循“搜索→大纲→正文”线性但可回溯的工作流。实测表明,输入“城市绿地对居民心理健康的积极影响”主题后,搜索模块在12秒内聚合7个权威信源(含知网摘要、微信科普文、WHO报告片段),大纲Agent据此生成5级结构化提纲,覆盖机制分析、量化证据、规划建议三类核心章节,准确率较通用模型提升37%。
该流程强制分离信息获取、逻辑建模与语言表达三个认知阶段,避免端到端生成导致的事实漂移与结构松散。用户可在任一环节暂停、编辑或重跑子任务,保障可控性。
对比同类工具,WriterAgent将人工干预点从‘全文润色’前置至‘大纲确认’,使修改成本降低约65%,且保留原始资料溯源链接,满足学术写作基本规范。
微服务架构
整个系统解耦为4个独立Docker服务:main_api作为统一网关处理鉴权与路由;search_api专责多源检索,内置zhipu_search与weixin_search适配器,响应延迟稳定在800ms以内;main_outline与main_content则分别承载大纲与正文生成逻辑,各自运行LangGraph驱动的有状态Agent。
各服务通过REST API通信,无共享数据库,故障隔离性强。压力测试显示,单节点可并发处理9路写作请求,CPU峰值利用率低于68%,内存占用恒定在4.2GB±0.3GB。
这种设计使功能升级无需全量重构——例如新增小红书搜索源,仅需扩展search_api模块,不影响其他服务运行。
Agent协同机制
大纲Agent与内容Agent均基于ADK(Agent Development Kit)构建,内部实现3轮反思循环:首轮生成初稿→次轮调用验证工具检查逻辑断层→末轮依据反馈重写薄弱段落。实测显示,经此流程生成的大纲一级标题覆盖率提升至92%,较单次生成提高29个百分点。
两个Agent共享同一套工具集(如网页解析器、引用校验器),但提示词模板与奖励函数完全独立。大纲Agent侧重信息密度与层级合理性,内容Agent侧重连贯性与术语准确性,二者协同而非替代。
所有Agent决策过程可全程日志化,支持回放每一步推理链,为调试与教学提供完整可观测性。
模型微调实践
针对大纲生成任务,使用xiaosen_grpo.jsonl训练集(含1,243组‘主题→多版本大纲→专家评分’三元组),通过GRPO算法优化层级一致性指标,使大纲中二级标题偏离主题的概率降至4.1%。
内容生成任务采用xiaosen_sft.jsonl(含8,650组‘大纲段落+参考文献→对应正文’样本),经Unsloth微调后,在人工评估中‘事实锚定度’得分达4.6/5.0,显著优于未微调基座模型的3.2分。
全部训练脚本(train_grpo.py/train_sft.py)开源,支持单卡3090完成微调,显存占用峰值仅11.2GB,训练耗时压缩至传统LoRA方案的57%。
WriterAgent的价值不在替代写作者,而在将隐性的专业写作经验转化为可执行、可验证、可复用的工程模块。它揭示了一个关键路径:复杂AI应用的落地,依赖的不是更大参数量,而是更精细的任务分解、更严谨的状态管理与更务实的工程取舍。下一步,是否该让审校Agent加入协作闭环?