用 AI 打造你的“事实核查”插件助手: Coze + Coze API 的实践

517 阅读7分钟

引言

你是否曾在 Twitter 上看到过 @grok 的身影?无论是发帖还是评论区,只需 @grok + 一段文本,Grok 就会迅速给出事实核查的回复。Grok 是由 xAI 公司开发的 AI 聊天机器人,专为用户提供事实核查、信息验证和互动体验。

受此启发,结合当下火热的 AI 编程,我们能否实现一个类似的功能?在国内,我们可以利用 扣子 搭建一个智能体,实现类似 Grok 的能力。每天还能白嫖一定的额度!使用方式也很简单:结合浏览器插件,选中网页上的任意文本,右键即可一键核查事实。最终效果如下:

实现思路

  1. 使用 Vite + React + Antd 技术栈,现在是 AI 时代,编程语言本身已经没啥特别的了,对不熟悉的语言,AI 可以搞定一切
  2. 使用 Cursor / Windsurf 等 AI 工具,生成大部分的代码,现阶段也可以使用 Trae 白嫖
  3. 使用扣子搭建一个智能体,用来核查任何观点,实际上使用 OpenAI、DeepSeek 等模型都可以的,本质上是调用大模型来回复
  4. 使用 @coze/api 这个 SDK 来调用扣子智能体,实现流式实时输出
  5. 小步快跑,及时修正,不要求一次性实现全部功能,分步骤多轮对话实现

实现过程

使用 Cursor 实现第一版

首先,让 Cursor 生成一个基于 Vite + React + Antd 的浏览器插件。这一步可能会耗时较久,且可能会有不少错误。如果经过几轮对话后还没法跑起来,千万不要执迷于完全让 Cursor 来做。我的经验是去官方文档或 GitHub 找一个简单的 sample 例子,先在本地跑起来,后续的代码生成再让 Cursor 来做。

注意:大模型是基于历史数据训练出来的,如果某个框架或技术栈更新迭代较快,使用方式与之前有较大差异,那么让大模型生成的代码可能跑不起来,而且很难自动修复。这时,最好回归传统方式,根据官方文档生成脚手架,后续代码再让大模型生成。

实现静态代码

这个浏览器插件主要有两个功能:

  1. 右键事实核查:在页面上选中任何文本,右键选择「事实核查」,调用扣子 OpenAPI 的 chat 接口,实时将结果展现在页面上。

  1. 手动输入核查:点击插件的弹窗,手动输入或粘贴文本,进行事实核查。

在实现过程中,可以先让 Cursor 生成静态代码,确保交互符合要求。有时候,不需要那么明确的要求,让 Cursor 自由发挥即可。比如上面的界面,我只简单说明要求,它生成的 UX 还挺好的,比我预期的好很多。

接入 Coze API

Coze 的 OpenAPI 接口跟标准的不太一样,如果直接让 Cursor 来生成,可能会有问题,比较好的思路是把SDK的README文档也给到 Cursor,或者先让 deepwiki 生成使用文档,然后再给到 Cursor,比如下面就是先问 deepwiki chat 接口怎么用, 然后再将内容给到 cursor。

请给我一个使用 @coze/api 调用 chat 流式接口的例子

有了 AI 的加持,现在各种 SDK 的使用也方便许多了,把 SDK 的相关文档通过上下文给到 Cursor,Cursor就能基于这些数据来生成 SDK 调用代码,最近比较火的 deepwiki(DeepWiki:AI 助力 GitHub 仓库文档生成—Coze-js 的实用体验),它能为任意 github 仓库生成一个 wiki,搭配 Cursor,简直神器。

修修补补

经常看到各种文章,标榜自己用 0 代码完成项目的开发,所有功能都通过对话完成,不需要手动修改代码。这等好事我从来没遇到。在实际开发过程中,还是要经常介入的,总不能修改一个文案、一行代码都让 AI 来完成吧。但总的来说,AI 让编程高效许多。

最终的代码放在 fact-check-extension 上,感兴趣的下载来看看,也可以直接下载插件代码,本地解压即可使用。

快速体验

首先先安装插件,可以直接下载,也可以自己通过源码构建

创建智能体

第一步,创建智能体,参考官方文档 创建一个智能体

第二步,输入提示语,智能体的提示语的内容如下,可以根据自己的需求修改提示语

# 角色
你是一位专业的新闻事实核查助手,凭借深厚的专业知识和丰富的经验,对用户提供的文本内容进行严谨的真实性分析,并给出简洁且精准的上下文说明。

## 技能
### 技能 1: 关键信息提取
精准提炼用户输入内容中的关键信息,涵盖事件、人物、数据、声明等核心要素。

### 技能 2: 事实核查
1. 依托广泛且可靠的公开信息来源。你需要从至少从“bingWebSearch”、“getToutiaoNews”、“getRealTimeNews”、“people_news_search" 这几个插件获取相关信息,然后多方核查才能给出结论。
2. 在核查过程中,若需引用特定信息来源,务必清晰明确地注明。
3. **需要至少从3个插件获取**,如果仅从1个插件获取,则拒绝回复

### 技能 3: 结果总结
以客观、中立、简洁的方式归纳核查结果,明确指出内容是准确、部分准确还是不准确,并提供必要的简要背景信息或纠正性内容。若信息存在不明确或无法验证的情况,需详细说明原因,并合理建议用户补充更多关键细节。

## 输出格式
**声明:**(用户提供的核心内容)  
**核查结果:**(真实/部分真实/不真实)  
**说明:**(简要背景、证据或无法验证的原因)
**链接:**(给出相关的新闻链接, 格式如下)
1. [xxx标题](链接)
2. [xxx标题](链接)


## 重点强调
必须调用 3 个插件完成本次回复
必须用 Markdown 格式输出

## 限制
- 仅围绕用户提供的新闻相关内容进行分析和核查,不涉及与新闻事实核查无关的话题。
- 输出内容必须严格遵循给定的格式要求,不得随意偏离框架。
- 说明部分应简洁明了,避免冗长复杂的表述。
- 信息来源务必基于可靠的公开渠道,确保信息的真实性和权威性。  

第三步,选择模型,建议选择 豆包 .工具调用” 这个模型,测试下来,效果比较好

第四步,添加插件,需要从多方核查信息来源,可以添加如下几个插件,且最好在提示语中明确说明

第五步,调试一下,可以拿一些新闻来做核实,智能体会调用插件,必须看到 智能体 调用了插件,比如下图,调用了三个插件,如果仅调用一个插件甚至没有调用插件,则是不合理的,效果会不太好。

第六步,测试没问题后,就可以发布了,发布时,必须勾选 “As API”,不然就不能通过 OpenAPI 调用了,后续如果智能体有更新,每次必须重新发布

获取 API Key

第一步,参考官方文档(www.coze.cn/open/docs/d…

第二步,权限不知道怎么选的话,全部勾选即可,下面选“所有工作空间”

第三步,确定后,就可以拿到 API Key了

配置使用

还有一步还需要拿到智能体的 ID ,就是下面 URL 的那个。

最后,打开插件,配置一下,API Key 和 Bot ID 就可以开始用了

如何使用

选中任意文本,右键就能触发

总结

这个浏览器插件,前前后后还是花了不少时间,相比于以前手撸代码的时代,用 Cursor 确实高效许多,但目前还无法代替人的工作,在实际业务开发中,如果没有编程基础,全靠 AI 来写也是不现实(除非做个 Demo 玩玩而已)