我搓了一个更有「人味」的 Hacker News 播客
大家好,最近花时间搞定了一个一直想做的坑:一个由 AI 驱动、但听起来没那么「AI」的 Hacker News 播客项目。虽然市面上已经有面条大佬的 Hacker News 播客,也有 NotebookLM 这种直接生成播客对话的工具,但我总觉得差点意思。这些 AI 播客有很明显的一些问题:没「人味」,生成的对话听起来像是一问一答的面试,或者死板的说明书,缺乏真人对话那种跳跃感和性格。在真实的播客对谈中,其实是有很多的跑题和有趣的对话,而不是专注在话题本身。而生成的播客一心想让你学点东西,但有时候我们听播客只是想对新闻「浅尝辄止」,缺乏电台的陪伴感。在开发调试的过程中,很容易发现,如果我们只是抓取信息信息塞给 AI,哪怕给它复杂的提示词,它也只会机械地完成任务,忘记自己要转换成一个有性格的播客对谈,很多时候还会因为上下文长度问题,给出的播客脚本经常不符合格式。所以为了让最后的成品更符合自己的期望,重新设计了一期播客的生成工作流:Hacker News 网站信息抓取 → 只抓取基础信息和评论,不抓取 Story 的详情;使用 AI 总结每一条信息,生成话题分类、可讨论性、摘要、评论的核心观点、亮点评论;将上面所有的信息交给 AI 生成「蓝图」,选取最热门的 5-6 条故事,生成背景、描述、氛围和每一个章节信息。对于每一个章节信息,会包含这个章节的讨论类型(深度剖析还是思维漫游?)、互动类型(观点碰撞还是共同吐槽或赞赏)?将背景和氛围用来生成 Intro 和 Outro 的对话脚本,将每一个章节生成独立的对话,在生成独立的对话时,要传入具体的 Story 详情,包括评论、观点外,还要传递具体的文章信息;最后将对话拼接在一起,形成对话脚本,使用 Azure TTS 生成对话语音,使用 ffmpeg 拼接在一起,并加入适当的背景音乐和停顿,让最后的成品更像是一个完整的播客。经过这样的一套流程,这样最终的成品更有人味,而不是生硬的一期对谈。用到的一些模型:之所以没有用最热门的模型,是因为目前公开的 API 公益站还是不够稳定,而且经常遇到的问题是很多公益站提供的接口,结构性输出经常报错。之后生成对话的流程会考虑迁移到 Gemini。整个工作流我放到了 GitHub Action 上每天运行,相关的数据会存储在 CloudFlare R2 / Workers KV 中,生成的 Markdown 文本会额外存储下来放到仓库,用于更新 Astro 播客网站。播客网站:https://hn.craigary.netGitHub Repo:https://github.com/craigary/hn-podcast-project待办事项:上传各大播客平台;继续优化提示词,确保对话的真实性和时效性;语音 TTS 生成需要继续调整,要不从 Azure 换成别的?
评论已关闭