使用 PHP 构建新闻编辑室 AI 模块

大多数人认为新闻编辑室中的 AI 意味着一个巨大的聊天框。这是一个误区。这种模式会导致人们用过一次就再也不用的功能。

新闻编辑室有数十种细小且具体的需求。你需要标题选项、社交媒体简介、SEO 标题、实体标签。每项工作都很小,但都有其自身的规则。

在与 200 个新闻网站合作后,我找到了构建它的正确方法。不要构建一个单一的“AI 功能”,而是要构建一个由细小、专业的工作流组成的注册表。

以下是使用 PHP 实现的方法:

  • 使用任务(tasks)而非提示词(prompts)。任务是一个具有固定契约的命名单元。它知道自己需要什么以及返回什么。
  • 在任务内部验证输出。当你想要 JSON 时,模型往往会返回文本。如果任务能够验证自身的输出,你就可以在不破坏编辑器的情况下进行重试或优雅地处理失败。
  • 使用基于层级的路由。在廉价模型上运行简单任务。在高级模型上运行法律或风险评估任务。
  • 按任务和输入进行缓存。如果编辑对同一篇文章点击了两次按钮,你不应该为第二次 AI 调用付费。缓存是最佳的成本控制手段。
  • 将规则留在代码中,将“品味”留在提示词中。不要要求模型检查标题是否少于 70 个字符,使用 PHP 来处理这类工作。使用模型来判断标题是否写得好。代码处理规则,模型处理判断。

将任务分组以保持条理清晰:

• 标题:SEO 标题、社交媒体简介、推送通知。 • 结构:摘要、要点、相关阅读建议。 • 分类:类别建议、标签提取。 • 媒体:替代文本(Alt text)、说明文字、裁剪提示。 • 质量:语调检查、风险标记、脏话过滤。

目标是运营的可靠性。如果 AI 服务商在繁忙的新闻日宕机,你应该只需修改配置文件,而不是重写代码。

成功的两条最终准则:

  1. 建议仅作为草稿。永远不要让 AI 直接写入已发布的字段。必须由人工进行审核并接受输出结果。
  2. 在后台运行。如果一项任务耗时超过一秒,请将其作为异步任务运行。不要让编辑们盯着加载界面等待。

先构建架构,模型是次要的。

来源:https://dev.to/mahmut_gndzalp_c736ac4b/building-newsroom-ai-modules-in-php-50-specialized-workflows-2co1