我搓了一个更有「人味」的 Hacker News 播客

大家好,最近花时间搞定了一个一直想做的坑:一个由 AI 驱动、但听起来没那么「AI」的 Hacker News 播客项目。

虽然市面上已经有面条大佬的 Hacker News 播客,也有 NotebookLM 这种直接生成播客对话的工具,但我总觉得差点意思。这些 AI 播客有很明显的一些问题:

没「人味」,生成的对话听起来像是一问一答的面试,或者死板的说明书,缺乏真人对话那种跳跃感和性格。

在真实的播客对谈中,其实是有很多的跑题和有趣的对话,而不是专注在话题本身。而生成的播客一心想让你学点东西,但有时候我们听播客只是想对新闻「浅尝辄止」,缺乏电台的陪伴感。

在开发调试的过程中,很容易发现,如果我们只是抓取信息塞给 AI,哪怕给它复杂的提示词,它也只会机械地完成任务,忘记自己要转换成一个有性格的播客对谈,很多时候还会因为上下文长度问题,给出的播客脚本经常不符合格式。所以为了让最后的成品更符合自己的期望,重新设计了一期播客的生成工作流:

  • Hacker News 网站信息抓取 → 只抓取基础信息和评论,不抓取 Story 的详情
  • 使用 AI 总结每一条信息,生成话题分类、可讨论性、摘要、评论的核心观点、亮点评论。
  • 将上面所有的信息交给 AI 生成「蓝图」,选取最热门的 5-6 条故事,生成背景、描述、氛围和每一个章节信息。对于每一个章节信息,会包含这个章节的讨论类型(深度剖析还是思维漫游?)、互动类型(观点碰撞还是共同吐槽或赞赏?)。
  • 将背景和氛围用来生成 Intro 和 Outro 的对话脚本,将每一个章节生成独立的对话,在生成独立的对话时,要传入具体的 Story 详情,包括评论、观点外,还要传递具体的文章信息。
  • 最后将对话拼接在一起,形成对话脚本,使用 Azure TTS 生成对话语音,使用 ffmpeg 拼接在一起,并加入适当的背景音乐和停顿,让最后的成品更像是一个完整的播客。

在生成的流程中,用到的提示词是比较精简的,如果给的提示词过于严格和死板,就很容易让 AI 完全遵循我给的案例,导致每期播客主播的咖啡都凉了、楼上天天装修…… Anyway,经过这样的一套流程,最终的成品更有人味,而不是生硬的面试对谈。

用到的一些模型:

模型 用途
LongCat-Flash-Chat 用于总结 Story 信息,免费好用
gpt-oss-120b 来自 Cerebras,速度快,稳定。用于生成蓝图、封面提示词。
Z-Image-Turbo 用于生成封面,nano banana 没有稳定的 API 啊 :pleading_face:
mistral-3-large 用于生成对话

之所以没有用最热门的模型,是因为目前公开的 API 公益站还是不够稳定,而且经常遇到的问题是很多公益站提供的接口,结构性输出经常报错。之后生成对话的流程会考虑迁移到 Gemini。

整个工作流我放到了 GitHub Action 上每天运行,相关的数据会存储在 CloudFlare R2 / Workers KV 中,生成的 Markdown 文本会额外存储下来放到仓库,用于更新 Astro 播客网站。


欢迎大家挑刺找茬:

播客网站:https://hn.craigary.net

GitHub Repo: GitHub - craigary/hn-podcast-project


待办事项:

小雅同学好像脏话有点太多了
Update 1: 怀念满嘴脏话的小雅,看看后期能不能在不影响收听效果的前提下,把脏话适当加回来 :face_with_symbols_on_mouth:
Update 2: 感觉这次优化差不多了,会有一小部分脏话,但不影响收听体验


语音 TTS 生成需要继续调整,要不从 Azure 换成别的?
Update 1: 小雅的声音做了一些调整,并且修正了(Vibe)了 TTS 的生成逻辑,这样语音就不会突然加速了
Update 2: 小雅还是用 zh-CN-Xiaochen:DragonHDFlashLatestNeural 更符合情绪


继续优化提示词,确保对话的真实感和时效性
Update 1: 现代先避免出现大段的说英文的情况


上传各大播客平台
如果在未来,能说出「我们在前几期就聊到 xxx」这样的对话就更好了…… 人设和知识库是不是可以定期更新呢

85 个赞

cooool :partying_face:

1 个赞

听了一章还是有点牛逼的

1 个赞

佬友厉害!

1 个赞

前排支持!

1 个赞

欢迎佬提出建议 :smiling_face:

1 个赞

牛逼,讲真的我也挺被 Hacker News 那个内容组织形式困扰的。

1 个赞

是这样的,HN 的布局排版有点不符合习惯,而且信息可能过于密集了 :joy:

听了一期 感觉做得很好

1 个赞

佬厉害啊,正好晚上睡觉听 :face_savoring_food:

1 个赞

感谢!我也偶尔用它助眠 :smiley:

那女的说话粗话太多了吧!你说一两句是调剂,全部都是……那就有点太……!

小雅:操!这特么的说到点子上了!

我还是想保留脏话,但目前的确有一点多,我之后看看怎样调整一下 :zany_face:

1 个赞

随便点了一期好像开头就是这个:joy:

1 个赞

哦,挺有意思

TTS 跑 azure 成本多少?

1 个赞

之前以为改好了(最早的时候更严重),但是还是有一些问题,今天又调了一下提示词,过两天再看看 :eyes:

0,用的是站内佬友逆向的版本 :clown_face: 明天我把原链接找到贴上~

厉害的佬 感谢分享

1 个赞

这个项目听起来也还不错【开源Demo】RadioNowhere:AI Agent音乐电台-1.0.0版本

2 个赞