会议录音是一项尚未得到充分利用的知识资产。它们难以搜索,回顾起来很耗时,而且分散在各团队的共享云盘中,导致有价值的洞见常被忽视。
在一场为期一天的黑客松中,三人团队打造了 Callombia。这是一个内部平台,可自动转写会议录音、添加标签、生成摘要并剪辑成片段,再将其汇入一个可供全球各办公室访问和搜索的 YouTube 式代码仓库。
整个解决方案均使用 Codex 构建,借助由 OpenAI 嵌入和余弦相似度驱动的语义搜索,即使未使用完全匹配的关键词,也能找出相关片段;此外还集成了 RAG 聊天机器人和通知系统。
过去需要数周完成的工作,如今只用了七小时。这表明,借助 Codex 等编程智能体进行 AI 原生开发,可以大幅缩短产品开发周期,让内部黑客松真正创造商业价值。
如果你和我一样,可能很少有时间(或耐心)重新听会议录音。这往往是因为你得在杂乱无章的团队共享云盘里翻找,跳过乏味的寒暄,还要一边忙着发送电子邮件和消息,一边努力做到真正认真听。
但也许事情不必如此?也许我们可以打造一款产品,彻底改变会议录音的使用方式?这正是我们近期黑客松项目背后的想法。
短短一天内,我们工程、交付和运营团队的 50 名成员着手解决来自公司各部门的一系列问题,包括扩展招聘运营、简化 SoW 创建流程、了解项目健康状况、实时生成原型,以及从会议录音中发掘洞见。
在这场基于 Codex 的黑客松中,我们打造了 Callombia。Callombia 就像公司的 YouTube,能将每次通话都转化为持续更新、可搜索的资产。每次通话都会自动转写、添加标签并生成摘要,随后按主题剪辑成片段,存入按频道(客户)和主题(AI 专业领域)分类的代码仓库。这样,无论团队成员身处伦敦、爱丁堡、新加坡还是澳大利亚,都能立即查看通话中自己关注的片段。
熟悉且符合品牌风格的用户界面让内容探索直观易用,语义搜索(当然还有 RAG AI 聊天机器人)则帮助人们准确找到所需内容。新增的通知系统还允许同事订阅特定主题,并在发布与其相关的新片段时收到通知。
不过,Callombia 最酷的地方不是产品本身,也不是赢得黑客松的 2,000 英镑奖金(小小炫耀一下),而是两名工程师和一名交付负责人仅用七小时就完成了这一切。这在一年前还不可能实现。编程智能体的进步极大加快了产品开发的端到端流程,而这场黑客松也成为了解其能力参差边界的绝佳试验场。那么,我们是如何使用 Codex 的?
我们没有直接写下一大堆需求,而是先以提示的形式,分享团队对问题领域以及 Callombia 愿景的共同看法。我们刻意不提供具体细节,让模型主动发挥并进行创造性思考:
经过 10 分钟的来回沟通,我们开启了规划模式,以明确需求并为构建中的技术部分提供指导。规划模式就像在回答那个烦人的朋友提出的问题——不过他确实很有帮助,因为他已经把所有可能的情形都考虑到了。在确定视频数量、采用语义搜索还是关键词搜索以及使用何种架构等事项后,它生成了一份 Markdown 文件,成为后续项目开发的基础。


制定好计划后,下一步便是构建让 Callombia 真正运行起来的核心组件。这意味着要建立一条将通话录音转化为可搜索资产的管道:
摄取视频和转写文本;
将其分块为有意义的片段;
利用摘要和标签丰富内容;
通过 API 将内容提供给前端使用。
Ed 主要负责将原始录音和转写数据转换为可用格式,Nico 则更专注于检索层,让用户能够发现这些片段。借助 Codex,他们建立数据模型、提取脚本和后端基础设施的速度远超手动开发。我们得到的远不止是附在视频上的转写文本。我们得到的是一个个精彩片段:Tesco 部分、战略更新、招聘讨论,或是某次通话中用户真正想看的特定 90 秒内容。
检索层尤其令人兴奋。我们希望用户输入“财务表现”“Tesco 路线图”或“对话评估”等内容后,即使通话中从未出现过这些原词,也能直接找到最相关的片段。为此,我们创建了包含时间戳、摘要、转写文本和元数据的内容块。有了清晰的架构思路,再加上 Codex 的大力协助,我们将主题、摘要和转写文本合并为单一输入,并使用 OpenAI 的 text-embedding-3-small 模型为每个内容块生成嵌入。我们将这些嵌入存入数据库,并使用余弦相似度将用户查询与每个内容块进行比较,从而构建了语义检索层,而不只是简单的关键词搜索。
这种方法的准确性极高,也让产品在黑客松演示中呈现出一种“魔法”般的体验。与此同时,我们也知道,如果视频数量持续增长,这种方法无法无限扩展,因为将每次查询与所有内容块逐一比较,成本最终会变得过高。下一步自然是引入更高效的检索策略,例如分层可导航小世界(Hierarchical Navigable Small World),以减少比较次数,并在语料库不断扩展时保持较低延迟。这项功能运行起来后,Callombia 不再像一个媒体库,而更像是一套知识系统。
与所有优秀的黑客松项目一样,这部分也需要不断迭代:最初的分块边界过于粗糙,一些时间戳需要收紧,部分标签范围太宽,而且转写文件和录音文件也并非总能整齐对应。但价值也正是在这里显现出来。Codex 让我们能够快速完善系统,而不会困在设置和返工中。最终,我们打造出了一个能够支持视频片段、文本摘录和真正实用的语义搜索的后端。至此,Callombia 开始像一款真正的产品,而不再只是黑客松演示。
Ed 和 Nico 构建摄取与智能层的同时,我负责构建前端。利用我们的全栈模板,我没有编写一行代码,便迅速搭建出了网站的第一个版本。让它在我的浏览器中打开本地网站后,我会用简单的项目符号反馈,引导它反复调整设计,直至达到我想要的效果。
经过约一小时的来回调整,我得到了一个相当满意的版本,尽管自己完全没有用户界面或设计经验。虽然最终产品肯定还不完美,但作为第一个版本已经相当不错,足以帮助人们理解这款产品。


为了确保当天结束时能拿出成果,我们提前分配了工作。不出所料,各自相对独立地工作几小时后,每个人的本地分支都出现了大量冲突。
我们没有花费本就不够用的时间逐项仔细解决冲突,而是决定直接让 Codex 在代码仓库中放手处理,自行修复这些冲突。目前我们并不建议在企业级软件开发中采用这种做法,但它在低风险环境中展现出的效果令人惊叹,也为我们节省了许多时间。
黑客松的最后一项任务是录制 Callombia 的演示视频,供评委观看。虽然我们的第一反应是打开 Loom 进行录制,但我们觉得,这可能是对 Codex 的一次真正考验,也略微超出了它目前的能力范围。于是……我们写了一段提示,向它提供 Callombia 网站的链接,附上我在 OpenAI 开发者平台录制的声音,然后让它完成其余工作。
第一次尝试的效果就非常惊艳——它编写了演示脚本、录制了屏幕、添加了我的配音,基本达到了要求。唯一让我们不太满意的是配音与演示画面的同步,因此我们要求它:“强制要求:配音必须与演示画面中显示的内容完全对齐。此前存在不同步的情况(例如在聊天页面)。最后务必反复检查配音与屏幕录制演示的同步情况。请不惜采用任何可行方法让二者匹配。”
针对这一要求,Codex 将配音和录像拆分成更小的片段,几乎完美地完成了任务,正好赶上下午 5:30,大家得以用啤酒和披萨庆祝。
我们知道,Callombia 解决的是大多数企业都会面临的问题。在快速扩张的公司中参加每一次通话并不现实,但通话中分享的宝贵见解却极具价值。现在,我们只需将它投入生产环境。
但其中还有一个关于迈向 AI 原生的更重要启示:投入工程与产品才智来解决共同问题,会带来巨大收益。通过跳出日常工作节奏、开展跨团队协作,并置身于带有一定竞争性的环境中,我们最终得到了多项只需稍加调整便可投入生产的解决方案。定期开展此类活动,可以确保我们的内部运作与为客户打造的解决方案同样高效顺畅。