orange2ai/podcast-to-article
把多人对谈播客的逐字稿整理成可发布长文的 Agent Skill:换轴成文、人名校准、精简三分之一、去 AI 味自检。An agent skill that turns podcast transcripts into publishable articles.
About orange2ai/podcast-to-article
orange2ai/podcast-to-article is an open-source project on GitHub, mainly written in Python. 把多人对谈播客的逐字稿整理成可发布长文的 Agent Skill:换轴成文、人名校准、精简三分之一、去 AI 味自检。An agent skill that turns podcast transcripts into publishable articles. It currently holds 113 stars and 6 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).
Project Overview
AI Homed tracks it on the Today's Trending board, currently at rank #82 with 0 new stars today.
GitHub Repository Details
README
播客转文章 · podcast-to-article
把一期播客的逐字稿,整理成能直接发的长文。多人对谈、单人访谈都行,中文和英文素材都行。
逐字稿的轴是发言人和时间,文章的轴是话题和判断。这个 skill 做的就是换轴。
为什么需要它
直接让模型「把逐字稿写成文章」,出来的一般是三种东西。
一种是记流水账,满篇「张三说……李四说……王五说……」,读起来像会议纪要。另一种是抽象化,数字和细节全丢了,换成一堆「行业正在加速」「生态逐渐成熟」,很顺,但没有一句是新信息。第三种最不容易发现:改写过度。发言人的原话被压成第三人称概述,「他说」被换成陈述句,稿子读起来像记者的二手转述,读不出那个人说话的样子。
所以规矩是三条:拆掉发言人的脚手架,保留事实的颗粒度,留住原话的语气。 前两条管信息,第三条管人。
拆脚手架只在一个条件成立时做:几个人说同一件事。单人对谈里说话人是唯一的信息源,这时候反过来,尽量原话直译、原样保留。
实测效果
一份 5730 汉字的发言人为轴原始稿,经过这套流程变成 3703 汉字的发布稿,砍掉 35%,段落从 57 减到 47(口径:本仓库的 check_style.py)。作者的评价是「广受好评」。
自检脚本跑出来:破折号 0、对举句 0、总结腔 0、序数词小标题 0、动词名词化 0、段首零回指评论 0。只在「一句话概括:」那一处提示性冒号上翻车一次。
第二个案例:英文单人访谈
把 Invest Like the Best 的一期(Noah Shinn 谈 Instinct,86 分钟)整理成中文长文时,第一版犯的正是第三种错。
初稿 3600 字,按话题平铺,43 段,平均 84 字一段,每段开头一句自足判断(「安全被拆成两块」「变化出现在第三周」),全篇直接引语 0 处,嘉宾的原话被全部改写成第三人称概述。作者连打三枪:每段开头都是断言、没有主线没有故事感、标题不直白。
改法三步:先定一条主线(它主动替你花钱,靠从每笔交易里抽成赚钱,所以必须站在用户这边),不服务主线的材料整块砍掉;再把概述换回原话,引出直接引语;最后把每节标题改成能预判内容的句子。
然后又被退回来三次:引号太多(「我让你多用原文,不是让你都用引号,这种读起来很累」)、过渡句自己攒得太重(「你的小结过度其实可以非常简单,比如聊到支付,他说」)、替嘉宾描述了态度(「这句话他说得很重」——「好的记者不会这样猜测」)。顺手核逐字稿时还发现一段归属错了:价值观那一整段是主持人 Patrick 说的,写成了 Noah 的独白。
终稿 2573 字,直接引语占比 23%(18 处),段首自足判断句 0%,大标题里带上了 Instinct 的名字。
安装
git clone https://github.com/orange2ai/podcast-to-article.git
ln -s "$(pwd)/podcast-to-article" ~/.cola/skills/podcast-to-article # Cola
其他 agent:把整个目录放进它的 skills / rules 目录,指向 SKILL.md 即可
SKILL.md 是给 agent 读的说明书,除此之外没有任何平台依赖,纯 python3 标准库。
用法
对 agent 说:
这是这期播客的逐字稿,按 Next Token 的格式整理成一篇文章
它会走七步:清稿 → 要点梳理 → 定主线 → 换轴成文(用原文)→ 人名校准 → 精简 → 自检。
两个脚本也可以单独用:
# 字幕清洗:去时间轴、按说话人合并成段、报统计
python3 scripts/prep_transcript.py 第004期.srt -o 清洗稿.md
python3 scripts/prep_transcript.py 第004期.srt --speakers # 只列说话人
成稿自检:AI 痕迹逐条命中数 + 人类基准对照
兼报直接引语占比(实录体参考 10-28%)和段首自足判断句占比(参考 ≤30%)
python3 scripts/check_style.py 成稿.md
支持 SRT、VTT,以及已转成 md / txt 的转写稿(带 发言人: 标记的也能识别)。
目录
SKILL.md 流程与判据(agent 的主入口)
references/style-rules.md 语言硬约束,每条附人类/AI 实测基准
references/example.md 同一段逐字稿的两次处理,原始稿对照成稿
scripts/prep_transcript.py 字幕清洗
scripts/check_style.py 成稿自检
规则从哪来
语言那部分的数值来自 lieflat-less-ai-tone(MIT)的对照语料研究:300 篇五模型生成文本加 329 篇人类写作,629 篇、95,551 句、45,721 段。它检验了 26 项候选特征,只留下真有区分力的。
其中三条和网上流传的说法正好相反,值得单独看一眼:
- 人类用比喻是 AI 的 2.4 倍。不要为了「像人」而回避比喻。
- 正文设问,人类每千字 1.83 处,AI 0.10 处,差 17 倍。少写设问才是 AI 味。
- 句长均匀度 0.87,没有差异。强行打乱句长没有用。
许可
MIT