这篇稿子是我自己的 AI 短剧 Agent 0.0.1 版本测试记录。测试题材用了短视频里常见的女性逆袭加商战套路:《72小时的反击,看姐重夺公司控制权》。先给结论:这个版本能在有限条件下跑通主题解析、人物拆解、分集大纲和单集台本生成,但输出远没到“可以直接拍短剧”的程度。如果你正在搭 AI 短剧创作管线,或者在选 Agent 开发框架,这篇的重点可以放在:哪些环节被自动化了,哪些环节还必须人工介入,以及 0.0.1 版本里最容易踩的坑是什么。
1. 先弄清楚“AI短剧Agent 0.0.1版本”到底在测什么
普通的“AI生成短剧”通常是你丢一个提示词:帮我写一个重生短剧。模型给你一段文字。这只能算一次文本生成任务。
Agent 的区别是把事情拆成多步。以短剧为例:主题理解、故事梗概、人物小传、分集大纲、单集台本、分镜提示词、旁白文本、配音文本,这些环节不再一次性吐出来,而是由 Agent 调度多个步骤完成。0.0.1版本的主要意义就是验证这套多步链路能不能稳定跑起来。
那么为什么要用短剧题材?因为短剧套路成熟、结构清晰、人物关系简单。主角、反派、助攻、情感线、反转点都比较固定。这类结构化的内容特别适合交给 Agent 拆解和生成。如果连短剧这种强套路文本都做不稳,那更复杂的任务先别谈。
0.0.1版本最该关注三件事:
- 能不能跑通。主题进,文案出,中间不要断。
- 输出结构是否稳定。脚本、大纲、分镜是否分离,是否方便后续接配音和剪辑工具。
- 失败能不能定位。卡住、空结果、重复内容,日志里能不能看到原因。
很多人一上来就要求生成成品短剧,甚至要求画面一致、配音自然、剪辑成片。这个目标没有错,但对于0.0.1版本来说,标准应该降级:先把文字生产链路跑稳,再谈画面和成片。
我测试时没有把“效果惊艳”当作目标,只关注一件事:同一个剧本题材,用同一套 Prompt 和参数,连续跑几轮,输出会不会失控。如果第一轮输出很好、第二轮直接跑偏,那后面接批量任务就完全没有可靠性。
这里还要强调一个边界:0.0.1版本不涉及视频渲染,不保证画质,不负责最终剪辑工程。“Agent”这个词容易被神化,实际在0.0.1阶段它就是一套带状态、带步骤、带输出约束的文本生成流程。你可以在里面接不同模型、不同提示词模板,甚至接外部工具,但核心逻辑还是“拆任务、分步执行、汇总结果”。
1.1 它和普通AI生成短剧有什么区别
普通AI生成短剧是“一人一段式”:你输入主题,模型输出一段完整剧本,或某个角色台词。缺点是:
- 没有人物一致性,角色名字可能中途变化。
- 没有分集结构,故事高潮乱放。
- 没有旁白和分镜提示词,拿到文本后还需大量人工拆解。
AI短剧Agent更像一个“小型生产流水线”。它不会一次性把所有东西都生成完,而是:
- 先解析主题,输出人物关系和主线冲突。
- 生成故事梗概。
- 拆分集数大纲。
- 按集生成台本。
- 再从台本里抽取旁白、动作、画面描述。
这样每一层都有独立任务,也方便你对中间结果做检查和替换。比如说,如果你对人物小传不满意,可以只修改人物部分,再让后续步骤继续,而不是整段重新生成。这个能力对做长剧很重要,因为短剧通常20集起步,一次性生成20集文本,一是超长上下文容易崩,二是你无法逐段审核。
我一开始以为这类Agent只是“套了一层提示词模板的模型调用”,实际跑下来发现不是。它需要处理任务状态、上下文拼接、分步输出、失败重试。这些逻辑比单纯写提示词复杂得多,但也是它能批量生产短剧文本的基础。
1.2 0.0.1版本最该关注的三件事
第一,能不能形成稳定的结构化输出。我在测试初期遇到最多的问题不是模型不会写,而是它偶尔会把“人物小传”和“分集大纲”混在一起,或者返回非 JSON 格式,导致后一步解析失败。所以0.0.1版本里最该盯住的就是输出格式是否稳定。
第二,任务中间状态是否可见。Agent 跑的时候,最好能输出每一步的日志,比如“正在生成人物小传”“正在生成第3集台本”。如果任务卡住,至少知道卡在哪一步。0.0.1版本里我会在每步前后加一条日志,记录该步开始时间、结束时间、输出长度,不然排查起来全靠猜。
第三,失败重试是否可控制。短剧Agent生成过程中,API超时、单次返回过长、文本里带有非法字符,这些都是常见问题。比较好的做法是让Agent在失败时把原始返回记录下来,并允许人工判断后重试。不要做无脑重跑,因为无脑重跑可能把本来正常的数据也覆盖掉。
注意:0.0.1版本的定位是“验证路线”,不是“交付成品”。如果测试时发现某个环节不稳定,应该先停下来处理这个环节,而不是继续往后堆功能。
2. 用《72小时的反击》当测试用例,跑出第一版结果
我这次测试用的题材是“72小时的反击,看姐重夺公司控制权”。这种题材在短剧里属于“女性逆袭+商战”的经典组合,人物克制、反转密集,很适合作为Agent的第一批测试用例。
2.1 测试输入怎么设计
我没有直接让它“随便写一部短剧”,而是给了明确的结构化输入。因为Agent和普通模型不一样,它需要知道按什么顺序拆解任务。实际输入类似下面这份需求卡:
主题:72小时的反击,看姐重夺公司控制权 题材:都市商战、女性逆袭 剧集:20集,每集文案长度约60到90秒 风格:开场即冲突、每集留钩子、台词信息密度高 人物:姐姐为主角,反派是争夺控制权的对手,另有1到2个关键助攻 限制:不要出现真实公司名、真实人名这里没有填具体的人物名,我想看Agent能不能自己稳定生成名字并保持一致。测试下来,0.0.1版本在第一次生成时基本能做到,但它自己在后续生成单集台本时偶尔会更换称呼,比如主角从“林晚”变成“姐姐”再变成“林总”。这对于人去读问题不大,但如果要提取角色名做配音标注,就会出现不一致。
所以建议在输入里把关键角色的固定称呼单独写清,例如“主角:林晚,全剧统一称呼为林晚或林总,口吻一致”。这一步能省很多后续修改时间。
2.2 第一次单集生成结果长什么样
Agent跑完第一轮后,返回的不是一个文件,而是分层的文本结果:
- 故事梗概。
- 人物小传。
- 分集大纲。
- 第1集台本。
- 第1集旁白提示词。
- 第1集分镜提示词。
我截取第1集的内容来看,它基本符合预期:开头直接交代林晚发现公司股权被转移,必须在72小时内找到证据,否则会被踢出董事会。这个开场足够快,符合短剧“三秒钩子”的习惯。
但单集台本里也有明显问题。比如有一句旁白是“她看着窗外的城市,眼神里是别人看不懂的坚定”,这种表达写成小说可以,写成短剧旁白就太书面了,配音演员念出来会很慢。短剧的旁白讲究口语化、节奏快,应该改成类似“林晚站在窗前,没有慌。时间只有72小时,她必须找到翻盘的牌。”
0.0.1版本能生成“像剧本”的东西,但不代表它天然懂“短剧语言”。你在Agent的提示词里需要加一句约束:旁白使用短句,少用长句和抒情性描述,像解说一样推进剧情。加上这句之后,输出会稳很多。
2.3 多集连续生成的完整度测试
单集生成只是第一步。短剧的核心问题是:第1集到第20集能不能连起来。第一次测试时,我连续让它生成5集,结果出现了两个典型问题:
- 第2集开始,人物对话的语气略有变化。主角上一集还有很强控制感,下一集遇到对手时显得过于被动。
- 第3集出现了重复信息。角色在对话里把自己已经查到的证据又解释了一遍,明显是在填充时间。
这类问题不是模型不会写,而是分步生成时上下文流失。Agent生成的每一集都要带着“全局设定”和“前情摘要”一起喂给模型,不能只告诉它“你负责写第3集”。我后来在任务链里加入了一个“每集前情摘要”步骤,效果改善很多。
测试结果可以简单记录成表格:
| 测试项 | 判断标准 | 第一轮表现 |
|---|---|---|
| 故事梗概闭环 | 72小时危机、目标、结果是否清晰 | 通过 |
| 人物动机一致 | 角色行为和身份不发生冲突 | 基本通过,称呼有漂移 |
| 分集衔接 | 每集结尾有钩子,下集能承接 | 部分通过 |
| 单集台本可用度 | 去掉重复内容后可直接配音 | 需要1轮人工修正 |
整体来看,0.0.1版本“能跑通”,但“跑得稳”还谈不上。如果你拿这个版本来做正式项目,建议把人工审核环节放在分集大纲之后,而不是等所有分集都生成完再审核。大纲错了,后面生成得越多,返工越重。
3. 输出质量怎么判断:从剧情闭环到角色一致性
短剧文本不是写出来就行,它有一套自己的质量判断标准。我这里用了四个维度:剧情逻辑、角色一致性、节奏钩子、文本落地性。
3.1 剧情逻辑是否闭环
短剧再狗血,也需要有基本逻辑。以“72小时的反击”为例,我判断核心逻辑是否成立,就看三件事:
- 为什么是72小时。72小时是一个倒计时,它是推动女主行动的动力,不是装饰。
- 女主靠什么翻盘。是隐藏股权、关键录音、秘密账本,还是外部盟友,必须有一个可被兑现的手段。
- 对手为什么会被翻盘。不能让对手第19集突然智商下线,而是女主用关键筹码击中了对手的软肋。
0.0.1版本在梗概生成时基本能带上这些点,但在分集展开时容易丢失。比如第12集女主已经开始反击,到第13集又回到被动局面,中间缺少合理解释。这个时候不要急着怀疑模型能力,先回头检查分集大纲和当前集号的前情摘要,大概率是信息没传递过去。
3.2 人物设定是否漂移
人物一致性是短剧Agent最容易被忽视的问题。角色出现漂移,不只是名字变化,还包括:
- 性格行为漂移:一个果断的姐姐在关键时刻优柔寡断。
- 语言风格漂移:主角一会儿说“你等着”,一会儿说“这件事恐怕还需从长计议”。
- 关系线漂移:上一集还是敌对,下一集突然变成盟友,中间没有铺垫。
解决思路不是靠模型记性好,而是把“角色信息卡”单独固定下来。每次生成单集前,把角色卡和前几集的关键事件摘要一起传入。角色卡里写清楚:姓名、身份、核心目标、性格关键词、常用口吻、禁止行为。比如“林晚:语气冷静但压迫感强,说话少用感叹号,不会当众情绪失控”。
0.0.1版本对角色卡的依赖非常高。如果你准备做自己的AI短剧Agent,第一件事不是优化模型,而是先做好角色卡模板。角色卡越具体,生成的稳定性越高。
3.3 每集钩子和节奏是否达标
短剧按秒算,第1秒到第3秒必须有人物、冲突、信息量。第10秒左右要有一个小反转或信息爆点。每集结尾还要留一个悬念,让用户愿意看下一集。
我在测试里设计了一个钩子检查项:读取每集最后三句,判断是否包含“未解决的问题”。例如:
- 第1集结尾:“林晚把协议翻到最后一页,发现签名日期是今天。”这是一个钩子。
- 第1集结尾:“林晚深吸一口气,决定开始调查。”这不是一个强钩子,信息量不够。
0.0.1版本能写出钩子,但常常写得太平。此时需要给Agent提供一个“钩子句式库”:悬念型、身份反转型、倒计时加码型、筹码曝光型。让它基于这些模板生成,而不是自由发挥。
3.4 文本落地性
短剧文字最终要交给配音、字幕、分镜和剪辑。所以文本落地性要看是否方便下游工具使用:
- 台词是否适合口播,句子太长要拆。
- 旁白是否和画面对应。
- 动作描述是否写成了可拍画面,而不是心理描写。
- 是否有明确的分钟数和场次。
0.0.1版本在分镜提示词上会输出场景、人物动作、镜头方向等,但比较粗糙。比如它会写“林晚走进办公室,镜头缓慢推进”,但不会写“这是室内日景,画面左侧有落地窗,人物从右向左走”。后者对AI视频生成或人工拍摄都更友好。
如果你不只做文本,后续还要接AI视频生成,就必须在Agent的分镜提示词模板里加入“画面组成要素”。否则拿到分镜提示词后,还是要人工补很多内容。
4. 单条任务跑通之后,再处理批量生成
短剧的现实是20集起步,甚至60集。单集跑通只是第一步,真正考验Agent的是批量任务的稳定性。
4.1 从单集扩展到十集,先拆输入清单
不要直接发一条超长指令让它“写十集”,模型容易丢失信息。更稳的做法是准备一个输入清单,每一行是一个独立生成任务。
project_id,series_no,title,main_clue,characters revenge72,S01E01,发现股权被转移,林晚发现股权转移协议,林晚;对手;助理 revenge72,S01E02,72小时倒计时开始,董事会改选通知,林晚;对手;律师我把这个清单塞给Agent,它按顺序依次生成。关键点是清单里不要只写集数,还要写“本集要推进的主线线索”和“出场角色”,这样模型知道每集的边界,不会把第2集的内容写到第1集。
4.2 输出目录和文件命名要提前规划
批量生成后,如果文件名不统一,后期合并整理会非常痛苦。我在测试时用的目录结构是:
project_revenge72/ script/ # 最终合并剧本 outline/ # 分集大纲 episodes/ # 单集台本,用 S01E01 命名 storyboard/ # 分镜提示词 tts/ # 配音文本 fail/ # 失败任务输出文件名格式固定为{项目ID}_{集数}_v{版本号}.md。比如revenge72_S01E03_v0.1.md。这样做的好处是,无论任务跑了几次,都能通过版本号找到是新版还是旧版,不会覆盖重要内容。
4.3 失败重试和断点续跑不能省
批量跑10集,很难保证10集全部成功。我遇到的失败原因主要是三个:
- 模型接口超时。
- 单集输出过长,半路被截断。
- 返回格式不对,JSON解析失败。
0.0.1版本里需要做三件事:
- 每个任务写失败日志,记录集数、失败阶段、原始返回片段。
- 自动重试时保留前一次输出,避免覆盖。
- 支持从失败集数继续跑,而不是重新跑全部。
很多人一跑批量就着急并发,想一次开10个线程。实际上0.0.1版本不建议这么干。先顺序跑一轮,看稳定性和耗时,再尝试2到3路并发。并发上来后,接口限流、超时、日志混乱等问题都会放大。
注意:批量任务最怕的不是跑得慢,而是跑完了才发现输出不一致。每跑完5集,花两分钟抽查一下集与集之间的人物称呼、时间线、事件连续性,比最后统一检查省时间。
5. 0.0.1版本的价值边界和落地建议
5.1 哪些场景可以先试用
尽管0.0.1版本不够成熟,但已经有一些场景可以先用起来:
- 选题脑暴:输入一个“主角+目标+期限”,生成多个短剧梗概,用来筛选题材。
- 分集大纲初稿:把想要的反转和走向给Agent,让它排出20集结构。
- 人物小传和关系线:快速生成角色卡,然后人工修改。
- 分镜提示词的初稿:如果要接AI视频工具,先用它生成画面描述,再人工调整。
这些场景的共同特点是“生成内容要做二次加工”,不需要一步到位。0.0.1版本能帮人把空白文档填满,加快构思速度,但不会直接替代编剧和剪辑。
5.2 哪些场景不要急着依赖
不要一上来就用它做完整短剧的最终成片。尤其是这些环节:
- 演员形象一致性。目前文本Agent管不到人物形象一致,需要靠AI视频工具或固定人物参考图解决,这是另一套链路。
- 成片剪辑节奏。Agent生成的单集台本不能直接映射成剪辑节奏,必须人工看一遍。
- 大规模稳定生产。0.0.1版本几乎没有调度优化,连续跑几十集时,如果没做好任务队列和重试,失败率会很高。
如果项目目标是“从故事到成片全自动”,那0.0.1版本只是第一步里的第一步,后面还有配音、画面、字幕、剪辑、合成等多个环节。盲目套用Agent反而会让流程更难排查。
5.3 对Agent开发路线有参考价值的经验
短剧Agent这个例子很适合用来练习Agent开发,因为它的任务边界清楚,反馈速度快。你可以通过它学着怎么设计多步任务、怎么控制模型输出格式、怎么处理长上下文、怎么做任务队列。
实际开发里,我建议把Agent的每一步都设计成独立函数,并在输入输出中定义固定结构。比如“生成分集大纲”这一步,输入是主题和人物卡,输出是一个 JSON 数组。后续“生成单集台本”的输入,就是分集大纲里的某一集。
{ "serie": 1, "title": "发现股权被转移", "hook": "协议签名日期是今天", "scene": ["林晚办公室", "会议室"], "characters": ["林晚", "对手", "助理"] }定义好这种结构之后,你可以任意替换模型、增加检查步骤,都不会把整个流程打乱。这是我从0.0.1版本测试里收获最大的一点。
6. 常见报错和排查顺序
如果做到这里还是出了问题,下面是我在实际测试中用的排查顺序。
6.1 任务卡住或中断
先看日志最后一行,确定卡在哪个阶段。常见原因:
- 接口超时:短剧文本生成单次要输出较长,很容易超过默认超时时间。对策:把单集台本拆成“场景1、场景2”,或者调大超时参数。
- 输出过长被截断:0.0.1版本没有做文本续写,一旦截断,后面全部为空。对策:限制单集字数,或者做“自动续写”。
- 外部工具没启动:如果Agent接了数据库、文件服务,先确认真的是否在运行。
这里最忌讳直接重跑整个任务。先看卡在哪个环节,再决定是补跑还是清缓存。
6.2 输出为空或重复
输出为空通常是解析失败。模型返回了文本,但Agent按JSON解析,结果失败。对策:让Agent在解析失败时,把原始文本存到fail/目录,并保留一条错误提示“格式不是JSON,请人工查看”。
输出重复通常和温度参数有关。温度调太高,模型容易发散;调太低,又容易重复。通用做法是先把 temperature 设到 0.7 左右,TopP 0.9,再根据结果微调。如果还是重复,优先检查是不是前情摘要写得和当前集太接近,而不是先改参数。
6.3 角色名字和身份漂移
漂移的解决不靠模型,靠输入结构。我在测试中加入了两层保护:
- 全局角色卡:每集生成时都带上,包含姓名、身份、口吻。
- 每集约束字段:在输入JSON中明确本集出场角色、禁用行为。
如果还有漂移,怀疑是上下文被覆盖。0.0.1版本在设计时,可能把当前正在生成的内容放进了系统提示词,而系统提示词长度有限,就会把角色卡挤掉。排查时先看当前给模型的完整上下文是什么,再决定怎么精简。
6.4 资源占用过高
短剧Agent如果是本地运行,主要资源消耗在模型加载和并发请求上。文本生成阶段显存占用不会像视频生成那么高,但长上下文和并发请求依然会拖慢机器。0.0.1版本建议先把并发降到1,确认单任务内存占用稳定后,再逐步加。
如果CPU或内存一直居高不下,先检查是不是任务日志写太多、文件句柄没释放,或者把无用的大对象保存在内存里了。批量跑的时候,每处理完一集,就释放一次上下文缓存。这不是优化技巧,是0.0.1版本能稳定跑完的基础前提。
最后留个建议:如果你是新手,先拿3集短剧跑通整个链路,别一上来就是20集。剧本生成只是Agent在短剧生产里的第一站,后面还有配音、画面、剪辑这些更硬的骨头。0.0.1版本能告诉你这套流程走不走得通,但要把短剧真正做成成品,还得靠你在每个环节补上人工判断和工程优化。