AgentWriter 拆 plan/write 长文管道,Base URL 填 TaoToken

发布时间:2026/9/20 9:30:17

AgentWriter 拆 plan/write 长文管道,Base URL 填 TaoToken 从 2000 字散架到万字连贯AgentWriter 的 plan/write 管道怎么跑通如果你最近在折腾长文生成大概率刷到过清华和智谱联合开源的 AgentWriterLongWriter——它用 plan/write 两阶段把一次生成 2000 字就崩的任务拆成每段 200–1000 字的子任务再带着前文逐段续写硬是把现成 LLM 的输出拉到 10000 字以上。但真把仓库 clone 下来跑很多人卡在同一个地方plan 阶段能出结果write 阶段续到第三段就开始丢上下文、请求超时、或者干脆报通道错误。这篇就从这条管道的实际配置切入把 Base URL 怎么填、Key 怎么拿、plan 和 write 怎么分别验证讲清楚。TaoToken 在这里只做一件事提供可用的 Key 和 Base URLplan/write 的任务分解逻辑完全按论文 prompt 原样保留。官网入口先放这里https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end一、原问题与场景为什么 write 阶段总断片AgentWriter 的核心思路不复杂。plan 阶段让模型把用户的长篇写作指令拆成若干子任务每个子任务对应一个段落明确主要观点和字数要求约束是每段不少于 200 字、不超过 1000 字。write 阶段则是循环第 n 段生成时把原始指令、完整写作计划、以及已经写好的 n-1 段文本一起塞进 prompt让模型接着写第 n 段并且只输出新段落、不重复前文。问题就出在这个循环上。假设一篇 10000 字的文章被拆成 15 段write 阶段就要发起 15 次请求每次请求的上下文都在增长——到后面几段prompt 里已经累积了七八千字的已写文本。这条多轮循环每走一步都在消耗 Token如果模型通道不稳定、Base URL 配错、或者 Key 权限不对整条管道根本跑不满可能 plan 能过write 第一段能过第二段开始 401或者请求发出去半天不返回脚本直接超时退出。更隐蔽的问题是 Base URL 的写法。很多教程里写的是带/v1的地址但 AgentWriter 脚本里如果用的是 OpenAI 兼容接口填错路径会导致请求打到错误端点返回 404 或者莫名其妙的空响应。这不是模型能力问题是通道配置问题。二、TaoToken 前置拿 Key、填 Base URL在改 AgentWriter 脚本之前先把模型通道准备好。打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 注册账号然后在控制台创建一个 API Key。这个 Key 就是后面脚本里要填的凭证。关键点在于 Base URL 的写法。AgentWriter 脚本里通常有一个base_url或者api_base参数填的是https://taotoken.net/api注意两点不带/v1不加任何 UTM 参数。有些 OpenAI SDK 会自动在 base_url 后面拼/v1/chat/completions所以 base_url 本身不要带版本路径。如果你用的是 requests 直接发请求那完整的请求地址就是https://taotoken.net/api/v1/chat/completions但脚本配置项里只填到/api这一层。Key 的获取和 Base URL 的确认都在控制台的 API Keys 页面完成。如果你在配置过程中遇到 401 或 404优先检查这两个值Key 是否复制完整有没有多余空格、Base URL 是否误加了/v1或末尾斜杠。三、可复制配置plan 和 write 的脚本改动点AgentWriter 原仓库的脚本结构一般是这样的一个plan.py或agent_write.py里面定义了两个函数——generate_plan()和write_paragraph()。你要改的只有模型调用那一层prompt 模板原样保留。以 OpenAI Python SDK 为例改动集中在客户端初始化from openai import OpenAI client OpenAI( api_keyYOUR_API_KEY, base_urlhttps://taotoken.net/api ) def call_llm(prompt: str, model: str MODEL_ID) - str: response client.chat.completions.create( modelmodel, messages[{role: user, content: prompt}], temperature0.7, max_tokens4096 ) return response.choices[0].message.contentplan 阶段的 prompt 按论文原样我需要你帮我将以下长篇写作指令分解为多个子任务。每个子任务将指导文章中一个段落的写作并应包括该段落的主要观点和字数要求。 写作指令如下 {用户指令} 请按照以下格式进行分解每个子任务占一行 第一段 - 主要观点[详细描述段落的主要观点] - 字数 [字数要求例如400字] 第二段 - 主要观点[详细描述段落的主要观点] - 字数 [字数要求例如1000字] ... 确保每个子任务都清晰具体并且所有子任务覆盖了写作指令的全部内容。不要将子任务拆分得太细每个子任务的段落不应少于200字且不超过1000字。不要输出任何其他内容。write 阶段的 prompt 同样保留你是一位出色的写作助手。我将给你一个原始的写作指令和我计划的写作步骤。我还会提供我已经写好的文本。请帮我根据写作指令、写作步骤以及已经写好的文本继续写下一个段落。 写作指令 {用户指令} 写作步骤 {第一步生成的写作计划} 已经写好的文本 {之前生成的(n-1)个段落} 请整合原始写作指令、写作步骤以及已经写好的文本现在继续写{第n段的计划即写作计划中的第n行}给我。如果需要你可以在开头添加一个小标题。记得只输出你写的段落不要重复已经写好的文本。循环逻辑就是先调一次call_llm(plan_prompt)拿到分段计划解析出每段的主要观点和字数然后 for 循环每一段把已写文本拼进 write_prompt调call_llm(write_prompt)把返回结果追加到written_text里。每次请求都走同一个 client也就是同一个 Base URL 和 Key。四、验证请求先单跑 plan再连写三段配置改完不要直接跑整篇。分两步验证。第一步单跑 plan。把用户指令设成一个明确的长文题目比如“写一篇关于大模型长文本生成技术演进的综述目标 8000 字”。调一次 plan看返回的子任务列表是不是按格式拆成了多行每行有没有主要观点和字数字数是否落在 200–1000 区间。如果 plan 返回的是乱七八糟的散文而不是结构化列表说明模型没按 prompt 走可以检查 temperature 是不是太高或者换一个指令遵循能力更强的模型 ID。第二步让 write 连续续写三段。不要一次跑完 15 段先手动循环三次每次打印出当前请求的 prompt 长度和返回内容。确认三件事每次请求的 prompt 里确实包含了前 n-1 段的已写文本请求是从 TaoToken 通道出去的可以在控制台看调用记录第三段返回的内容没有和前两段重复上下文是连贯的。如果第三段开始出现“重复前文”或者“忘记计划”的情况大概率是 prompt 拼接时把已写文本截断了或者 max_tokens 设得太小导致返回被截。验证通过后再把循环跑满。这时候如果中间某一段失败脚本要有重试逻辑不要直接退出——因为长文生成本来就是多轮请求偶发超时是正常的。五、本篇常见错排查报错 401 UnauthorizedKey 没填对或者 Key 被禁用。去 API Keys 页面重新创建一个确认复制时没有带空格。如果用的是环境变量检查echo $OPENAI_API_KEY是不是空的。报错 404 Not FoundBase URL 写错了。最常见的是填成了https://taotoken.net/api/v1多加了/v1。改成https://taotoken.net/api即可。另外检查脚本里有没有硬编码的旧地址没改干净。plan 能过但 write 超时write 阶段的 prompt 随着段数增加会越来越长到后面几段可能超过模型的上下文窗口。解决办法是在拼接已写文本时做截断只保留最近 n-1 段或者把 max_tokens 调小一点让每次返回的段落短一些。另外确认请求超时时间设得够长长文生成单次请求 60 秒以上是正常的。write 返回内容重复前文prompt 里“不要重复已经写好的文本”这句没生效或者已写文本的拼接格式让模型误以为要续写而不是新写。检查 write_prompt 里{之前生成的(n-1)个段落}是不是真的填进去了以及段落之间有没有用明确的分隔符隔开。控制台看不到调用记录请求根本没发到 TaoToken。检查脚本里的 client 是不是真的用了你改的 base_url有些仓库会在多个地方初始化 client改了一处漏了另一处。六、配通之后从单篇验证到长期跑管道AgentWriter 这条管道的特点是请求次数多、上下文累积快单篇万字长文跑下来就是十几次甚至几十次模型调用。如果你只是偶尔复现一下论文效果按上面的配置跑通就行。但如果你打算把这条管道接到自己的写作工具里、或者批量生成长文那每次手动改脚本、盯着控制台看调用量就不太现实了。长期跑的话建议把 Key 和 Base URL 统一放到环境变量或者配置文件里脚本里不要硬编码。另外可以在 write 循环里加一个简单的日志记录每次请求的 prompt 长度和返回长度方便排查是哪一段开始出问题。模型 ID 也可以根据 plan 和 write 的不同需求分开配——plan 阶段需要指令遵循强write 阶段需要长文本连贯性好不一定用同一个模型。如果你在配置过程中卡在 Key 或者 Base URL 上直接去 API Keys 页面重新生成一个对照接入文档确认地址格式。需要验证模型通不通可以在模型对话页面发一条测试请求看能不能正常返回。长期做编码类 Agent 或者需要稳定跑管道的可以了解一下 Coding Plan 的额度方案比单次按量更适合高频调用场景。通道配通只是第一步plan/write 的 prompt 和循环逻辑才是 AgentWriter 的核心。把这两层分开调长文生成的成功率会高很多。
延伸阅读

更多相关文章

2026/9/20 9:30:17

Atlas 300V 24G部署YOLO:昇腾推理加速卡实战指南

1. 先把Atlas 300V 24G这卡看明白1.1 它到底算不算“运算加速卡”先说结论:Atlas 300V 24G就是一张运算加速卡,而且是一张专门干推理活的加速卡。很多人第一次看到“Atlas 300V”这个型号会困惑,因为它不像GPU那样有熟悉的GeForce、RTX前缀&a…

2026/9/20 9:30:17

Word/PPT中横线波浪线箭头的底层技术方案

1. 这不是排版小技巧,而是专业文档表达的底层逻辑在Word和PPT里给数字或字母加横线、波浪线、箭头——表面看是个“怎么打出来”的操作问题,但实际背后是三类完全不同的技术路径:字符装饰、数学公式标注、图形化标注。我做过上百份技术白皮书…

2026/9/20 9:25:15

Claude Code 粘贴自动发送,TaoToken 接入后 Shift 还管用吗?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 10:45:26

Cursor 右下角选大模型类型,Base URL 填 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 10:45:26

水稻害虫YOLO检测数据集:5229张VOC标注图像

简介:本资源是一套面向农业AI视觉开发者与植保方向研究者的水稻害虫目标检测专用数据集,聚焦褐飞虱、绿叶蝉、叶夹、稻蝽、蛀干虫、轮生蛆六类典型害虫,解决田间图像识别模型训练中高质量标注数据匮乏的痛点。压缩包共含2000个VOC格式XML标注…

2026/9/20 10:45:26

Atlas 300V Pro 24G部署YOLO实战:从环境配置到性能优化

1. 先回答热搜问题:Atlas 300V 24G到底是不是运算加速卡1.1 定位上是推理卡,不是训练卡,这是很多人第一个踩的坑最近群里经常有人问:Atlas 300V 24G是运算加速卡吗?能拿来搞训练吗?我手上的这张Atlas 300V …

2026/9/20 10:45:26

Atlas 300V 24G推理加速卡部署YOLO全流程指南

做AI落地这几年,目标检测是绕不开的活儿。从工业质检到智慧交通,再到安防巡检,YOLO系列基本成了检测任务的默认起点。不过模型训练是一码事,真正把YOLO部署到边缘设备、用一张接口卡扛住多路视频流,又是另一码事。最近…

2026/9/20 10:40:25

10 分钟录音,训出你的 RVC 专属音色模型

10 分钟录音&#xff0c;训出你的 RVC 专属音色模型 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-Voice-Conversion-WebUI …

2026/9/20 0:04:49

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介&#xff1a;《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南&#xff0c;面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者&#xff0c;用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/20 0:04:49

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介&#xff1a;这份PPT围绕互联网业务安全托管服务展开&#xff0c;面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者&#xff0c;重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件&#xff0c;包体约30.63MB&#xff0c;以…

2026/9/20 0:04:49

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介&#xff1a;《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南&#xff0c;面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者&#xff0c;用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/20 0:04:49

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介&#xff1a;这份PPT围绕互联网业务安全托管服务展开&#xff0c;面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者&#xff0c;重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件&#xff0c;包体约30.63MB&#xff0c;以…

2026/9/20 4:54:47

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/20 5:01:23

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/20 5:09:33

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码