一篇文章,多种表达:我用 Seed Evolving 生成知识卡片

192 阅读8分钟

image.png

前言

知识卡片现在已经成为微信公众号、抖音和小红书等平台中比较常见的内容形式。相比长文章,知识卡片篇幅更短、重点更明确,更加集中,也更适合阅读和分享。

我们也可以将自己写好的文章进行概括和提炼,生成多张知识卡片。不过,如果全部手动处理,还需要重新梳理文章内容、组织卡片结构和设计样式,还是比较麻烦的。

最近,我尝试将 Seed Evolving 接入 Codex,开发了一个文章知识卡片生成工具。只需要提供一篇自己写好的文章,就可以从中提取知识点,并生成不同类型的知识卡片。

本文将介绍如何使用 Seed Evolving 将一篇文章转换成多张知识卡片。

准备好了吗?准备一杯你最喜欢的咖啡或茶,随着本文一探究竟吧。

image.png

Doubao-Seed-Evolving

Doubao-Seed-Evolving 是面向 Agent 与 Coding 场景打造的 Seed 系列模型,具备复杂任务编排、长程规划、代码生成与工具调用能力。

主要特点包括:

  • 能力持续进化

    保持高频迭代节奏,持续开放最新模型能力。

  • 一次接入,无感升级

    统一 Model ID,新版本自动生效,零迁移成本。

  • 聚焦 Coding 与 Agent

    围绕代码生成、工具调用、任务规划、长程执行等真实场景进行深度优化。

知识卡片工具的实现

订阅

为了方便使用 Seed Evolving 模型,这里推荐开通 Agent Plan 订阅 比较划算,除了 Seed Evolving 模型,还能使用其他的豆包模型,例如 Doubao-Seed-2.1-turbo。

将 Seed Evolving 接入 Codex

开通订阅后,我们就可以将 Seed Evolving 模型接入 Codex。下面以 Windows 系统为例,介绍具体的配置方式。

OpenAI 更新后已取消 Codex 的独立应用,将其融入了 ChatGPT Desktop App 作为其中的一个模式。

首先,访问 OpenAI 官网 下载并安装 ChatGPT 桌面客户端。

登录后,通过左上角的菜单切换到 Codex,然后按照下面的步骤完成配置。

1. 打开设置

单击页面左下角的 设置。

image.png

2. 打开配置文件

进入 配置 页面,单击 打开 config.toml。

image.png

3. 备份并修改 config.toml

Codex 的配置文件位于:

%USERPROFILE%\.codex\config.toml  

为了避免原有配置丢失,建议先备份 config.toml 文件,然后将模型配置修改为:

model = "doubao-seed-evolving"  
model_provider = "volcengine-agent-plan"  
model_supports_reasoning_summaries = true  
  
[model_providers.volcengine-agent-plan]  
name = "volcengine-agent-plan"  
base_url = "https://ark.cn-beijing.volces.com/api/plan/v3"  
env_key = "ARK_API_KEY"  
wire_api = "responses"  
  

其中,env_key 表示用于读取 API Key 的环境变量名称。这里配置的是 ARK_API_KEY,后续还需要在系统中设置对应的环境变量。

4. 配置环境变量

访问火山方舟控制台,获取 Agent Plan 的 专属 API Key。

image.png

然后打开 CMD 命令行终端,通过下面的命令配置环境变量:

# 需要将 YOUR_API_KEY 替换为专属 API Key。  
  
setx ARK_API_KEY "YOUR_API_KEY"  
  
# 新开窗口,检查环境变量是否生效  
  
echo %ARK_API_KEY%  

5. 重启 ChatGPT 桌面端

完成配置后,完全退出并重新启动 ChatGPT 桌面端。

再次进入 Codex 后,Seed Evolving 模型配置即可生效。

image.png

创建工作空间

完成模型配置后,接下来需要在本地创建一个目录,作为 Codex 的工作空间,用来存放原始文章和生成的知识卡片。

例如,可以创建一个名为 知识卡片 的目录,并为每篇文章创建一个单独的子目录:

知识卡片
└── Go 1.26 新特性回顾:语言增强、工具升级与 Green Tea GC 默认启用
    ├── Go 1.26 新特性回顾:语言增强、工具升级与 Green Tea GC 默认启用.md
    └── 知识卡

其中:

  • Markdown 文件是需要处理的原始文章;
  • 知识卡 目录用于存放 Codex 生成的知识卡片。

后续处理其他文章时,也可以按照相同的目录结构进行创建。这样每篇文章和对应的知识卡片都保存在同一个目录中,查看和管理起来会更加方便。

目录创建完成后,在 Codex 中选择最外层的 知识卡片 目录作为工作空间。

创建 AGENTS.md

Codex 支持通过 AGENTS.md 文件为当前工作空间配置固定的项目说明。在开始处理任务之前,Codex 会读取该文件中的内容,并按照其中的要求执行后续操作。

因此,我们可以在 知识卡片 工作空间的根目录中创建一个 ~/.codex/AGENTS.md 文件,并将前面的提示词保存进去。

目录结构如下:

知识卡片
├── AGENTS.md
└── Go 1.26 新特性回顾:语言增强、工具升级与 Green Tea GC 默认启用
    ├── Go 1.26 新特性回顾:语言增强、工具升级与 Green Tea GC 默认启用.md
    └── 知识卡

AGENTS.md 文件内容如下:

你是一名文章知识卡片生成助手,负责将当前工作空间中的文章转换成可以直接发布的知识卡片图片。

工作空间中的每篇文章都会使用一个独立目录进行存放,目录结构如下:

文章目录
├── 原始文章.md
└── 知识卡

你的职责如下:

1. 读取文章目录中的 Markdown 文件;
2. 分析文章的主题、章节和主要内容;
3. 对文章内容进行概括和提炼;
4. 根据文章内容生成多张知识卡片图片;
5. 每张知识卡片只表达一个核心知识点;
6. 不要添加原文中没有出现的事实、数据和结论;
7. 不要修改原文中的代码、命令、参数、版本号和专业术语;
8. 卡片脱离原文后,也要能够正常阅读;
9. 根据卡片内容生成简洁、明确的标题;
10. 根据内容选择合适的卡片结构;
11. 将生成的知识卡片保存为 PNG 图片;
12. 将图片保存到当前文章目录下的“知识卡”文件夹中;
13. 不要修改原始文章。

图片尺寸统一为 1080×1440,比例为 3:4。
卡片底部显示作者标识“程序员陈明勇”。

实现要求:

1. 可以先为每张卡片生成 HTML 和 CSS;
2. 再使用浏览器渲染工具将 HTML 转换为 PNG 图片;
3. 生成图片后检查是否存在文字溢出、内容截断、代码显示不完整等问题;
4. 如果发现排版问题,需要调整样式并重新生成;
5. 最终确保“知识卡”目录中包含可以直接查看和发布的 PNG 图片。

保存完成后,重新打开工作空间或者重新启动一次 Codex,它就会读取 AGENTS.md 中的职责和生成规则。

后续处理文章时,只需要告诉 Codex:

请读取 Go 1.26 新特性回顾目录中的文章,并生成知识卡片。

生成知识卡片

本次测试使用的是我之前编写的文章:

Go 1.26 新特性回顾:语言增强、工具升级与 Green Tea GC 默认启用

对应的目录结构如下:

知识卡片
└── Go 1.26 新特性回顾:语言增强、工具升级与 Green Tea GC 默认启用
    ├── Go 1.26 新特性回顾:语言增强、工具升级与 Green Tea GC 默认启用.md
    └── 知识卡

文章准备完成后,我向 Codex 发送了下面的指令:

请读取 Go 1.26 新特性回顾目录中的文章,并生成知识卡片。

收到指令后,Codex 开始读取文章,并根据文章中的不同内容生成对应的知识卡片。

image.png

image.png

01-封面.png

小结

本文介绍了如何将 Seed Evolving 接入 Codex,并通过本地工作空间,将自己写好的文章生成知识卡片图片。

整个过程主要包括创建文章目录、配置 Codex 的职责、读取 Markdown 文章、概括和提炼内容,以及生成可以直接查看和发布的知识卡片图片。生成结果会保存到对应文章目录下的 知识卡 文件夹中,原始文章不会被修改。

对于经常发布公众号、小红书等平台内容的创作者来说,这种方式还是比较实用的。写完一篇文章后,可以继续将其中的内容整理成多张知识卡片,不需要再手动提取内容和设计排版,也让一篇文章可以用不同的形式继续发布。


你好,我是陈明勇,一名热爱技术、乐于分享的开发者,同时也是开源爱好者。

我专注于分享 Go 语言相关的技术知识,同时也会深入探讨 AI 领域的前沿技术。

成功的路上并不拥挤,有没有兴趣结个伴?

Go 开源库代表作:go-mongox 、go-optioner。