在一个下午构建一个 AI 会议记录助手

LLazare Rossillon

每个 AI 会议助手背后的架构:会议 bot 录制通话,webhook 传递转写内容,LLM 生成摘要。这里是完整的 pipeline 及代码。

在一个下午构建一个 AI 会议记录助手
August 13, 2026

每个 AI 会议助手——记录笔记的、分析销售通话的、合规录音的——都建立在相同的三阶段 pipeline 上:

  1. 采集:bot 加入会议并进行录制
  2. 转写:语音转换为带说话人标注的文本
  3. 推理:LLM 将转写内容转化为摘要、待办事项或 CRM 更新

第 1 和第 2 阶段是基础设施,第 3 阶段才是你的产品。本指南介绍如何将第 1 和第 2 阶段压缩为一次 API 调用,让你把时间集中在第 3 阶段。

采集层是最难的部分——bot 需要在等候室、布局变化以及长达四小时的通话中稳定运行,还要同时支持 Zoom、Google Meet 和 Microsoft Teams。这部分应该直接购买,而不是自己构建。

采集层:一次 POST 请求

import { createBaasClient } from "@meeting-baas/sdk";

const client = createBaasClient({
  api_key: process.env.MEETING_BAAS_API_KEY,
  api_version: "v2"
});

const { success, data, error } = await client.createBot({
  bot_name: "Acme Notetaker",
  meeting_url: meetingUrl // Zoom, Google Meet or Microsoft Teams
});

同一个请求适用于所有三个平台。启用日历集成后,你甚至可以跳过这一步——系统会自动为你的用户即将进行的会议安排 bot。

转写内容通过 webhook 送达

会议结束后,你的 webhook 将收到带说话人标注的转写内容、参与者列表和录像 URL。一个简单的处理示例:

export async function POST(req: Request) {
  const rawBody = await req.text();

  // Verify the webhook signature over the raw body before parsing —
  // see the webhooks documentation for the signing scheme
  if (!verifySignature(req.headers, rawBody)) {
    return new Response("invalid signature", { status: 401 });
  }

  const event = JSON.parse(rawBody);

  if (event.event === "complete") {
    const { bot_id, transcript, participants } = event.data;
    // Deduplicate on bot_id so replayed deliveries don't re-run the LLM
    if (await alreadyProcessed(bot_id)) return new Response("ok");
    await summarize(bot_id, transcript, participants);
  }

  return new Response("ok");
}

说话人分离包含在每次录制中,片段与真实参与者姓名对齐——你的 LLM prompt 收到的是「Sarah:我们周五发布」,而不是「Speaker 2:我们周五发布」。正是这个差异让待办事项提取真正有效。

推理层:你的产品

有了清晰的带说话人标注的转写内容,LLM 步骤只是一个 prompt,而不是一个项目:

async function summarize(botId: string, transcript: Segment[], participants: Participant[]) {
  const text = transcript
    .map((segment) => `${segment.speaker}: ${segment.text}`)
    .join("\n");

  const summary = await llm.complete({
    prompt: `Summarize this meeting. Extract decisions and action items with owners.\n\n${text}`
  });

  await saveNotes(botId, summary);
}

从这里开始,差异化就是产品工作:按参与者发送跟进邮件、CRM 数据补充、跨周期会议的话题追踪,或者能够实时回答问题的发言 bot——speaking bots API 涵盖了最后一项。

运行成本

录制费用为每小时 1 个 token(含说话人分离);转写额外增加每小时 0.25 个 token。按照 token 套餐 每 token $0.35–0.50 计算,一小时完整转写会议的成本为 $0.44–0.63——不含 LLM 成本,而一小时会议的转写内容对应的 LLM 成本通常仅需一两美分。

下一步

相关博客tutorial