目录

一、前言

二、Codex 介绍

2.1 Codex 是什么

2.2 Codex能做什么?

2.3 Codex 搭建知识库介绍

2.3.1 核心思路

2.3.2 具体操作流程

三、RAG 前置介绍

3.1 什么是RAG?

3.2 为什么要使用RAG

3.3 适合RAG的一些场景

四、Codex 搭建RAG知识库过程

4.1 前置准备

4.1.1 提前准备一些知识库语料

4.2 知识库搭建过程

4.2.1 准备知识库框架

4.2.2 搭建知识库框架

4.2.3 准备原始知识库材料

4.2.4 将原始文档写入知识库

4.2.5 知识库效果测试

4.3 知识库升级

4.4 构建客服智能体

4.4.1 增加项目聊天界面

五、写在文末

一、前言

Codex 被誉为2026年最值得上手的 AI 工具,它不仅是一个编程 Agent,更是一个几乎可以替换掉任何对话工具的全能 AI。配合高性价比的定价机制和充足的 Token 额度,只要你能想到的场景,它都能帮你自动化完成。可以说,Codex 完美复刻了ChatGPT的模板,让普通的用户也能方便使用一款专属定制、性能强大的桌面版AI助手。

自从有了AI,知识库的使用就显得尤为重要,AI搭配知识库的使用可以让AI智能体充分发挥其价值,比如大家熟知的各类智能客服,传统方式下,不管是使用外部的知识库服务,还是自己从0到1搭建一个知识库都是耗时耗力的,现在就可以直接基于Codex 快速开发一个企业级的知识库,本篇将介绍如何基于Codex 完成一个知识库的应用搭建过程。

二、Codex 介绍

Codex 是 OpenAI 推出的一款AI 编程智能体。与简单的聊天机器人或代码补全工具不同,Codex 能够像一个真实的开发人员一样,独立理解复杂任务、操作你的电脑、编写并修改代码、运行终端命令,甚至自动修复bug。访问入口:https://openai.com/zh-Hans-CN/codex/?utm_source=Ai138.com

2.1 Codex 是什么

简单来说,可以把 Codex 看作一个“能帮你干活的AI工程师”。

  • 它是“目标驱动”而非“指令驱动”:你只需告诉它最终的目标(例如:“帮我搭建一个带用户登录功能的网站”),它会自动拆解任务,规划步骤并执行,而不需要你一步步告诉它该怎么做。

  • 它不只是一个聊天框:虽然你可以在ChatGPT网页版找到它,但它真正的威力在于桌面应用和命令行工具(CLI)。在这些地方,它可以直接访问你的文件系统、运行终端命令,甚至操作其他软件。

  • 它的用户远超程序员:官方数据显示,Codex每周有超过300万用户,其中近一半(50%)的使用场景并非编码。从写周报、整理文档到数据分析,它都足以胜任。

2.2 Codex能做什么?

近期的重大更新让Codex的能力大幅跃升,使其不再局限于编程领域:

  • 动打开软件、运行模拟器、发现问题、修改代码,并再次测试验证,完成一整套开发闭环。

  • 所见即所得的开发(内置浏览器):Codex内置了一个浏览器。当你开发网页时,它可以直接在浏览器中展示效果。你可以直接在渲染出的网页上圈出问题,比如圈出一个标题并写上评论“字体太大,颜色改成蓝色”,Codex就能理解视觉和空间上下文,并精准地修改对应的代码。

  • “心跳”机制与长期记忆:

    • 自动排班:你可以交付给它一个需要数小时甚至数周的长线任务。即使你关掉电脑,它也会在约定的时间点“自动醒来”,在后台继续工作。

    • 记忆功能:它会记住你的编码偏好和纠正过的错误,下次再合作时,就不需要从头开始解释了。

  • 强大的工具生态:Codex已经接入了超过90个插件,可以无缝连接JIRA、GitLab、Microsoft Suite、Slack、Gmail等常用工具。你可以让它去Notion里读文档、去邮箱里看邮件、去项目管理工具里筛选Bug,再把所有信息汇总成一份报告给你。

2.3 Codex 搭建知识库介绍

用 Codex 搭建知识库,本质上是将 AI 从被动的问答工具,转变为一个能帮你持续打理、整理和连接信息的"知识管理员"。它的核心方法,就是围绕一个本地的 Markdown 文件夹,通过明确的规则和技能(Skills),让 Codex 来负责知识的摄取、提炼和维护。

2.3.1 核心思路

整个搭建思路,是创建一个由 AI 辅助管理的"第二大脑":

  1. 数据完全由你掌控:所有知识都以 Markdown 文件形式存储在本地,你随时可以用任何编辑器打开、修改,数据隐私和安全性很高。

  2. AI 是你的知识管家:Codex 可以读取和修改这个目录下的文件。你只需给它下达"把这篇资料归档"或"更新知识库"等指令,它便会自动执行。

  3. 规则驱动:在项目根目录下放一个 AGENTS.md 文件,来定义目录结构、命名规范和维护流程。这样,Codex 每次操作都会遵循同一套标准,避免混乱。

2.3.2 具体操作流程

具体的操作路径很清晰,目前社区里主要有两种主流方式:

1)使用现成的知识库工具包(推荐新手)

这是最省事的方法,可以借助一些开源工具快速上手。以 kb-skills 这个工具包为例:

  • 一键安装:在你的终端运行 npx @optima-chat/kb-skills@latest install,它会把需要的技能(Skills)自动安装到 Codex 的目录里。

  • 一句话初始化:在 Codex 对话中直接说:"帮我把当前目录初始化成一个可长期维护的知识库"。Codex 就会自动为你创建好 AGENTS.mdraw/(存放原始资料)、wiki/(存放整理后的知识)等基本骨架。

  • 日常使用流程:

    • 摄入资料:把文章链接或文件发给 Codex,说:"把这份资料 ingest 进知识库"。

    • 更新知识:说:"更新受影响的页面",Codex 就会将新资料与已有知识进行整合和关联。

    • 提问:你可以直接基于这个不断生长的知识库提问,Codex 会优先从整理好的 wiki 里找答案,效率更高。

2)手动打造更个性化的方案

如果你想更自由地控制知识库的结构,也可以手动设置。比如,可以结合 Obsidian 这款笔记软件来使用:

  • 在 Obsidian 中打开你的知识库文件夹,利用它的双向链接和知识图谱功能,直观地看到知识之间的关联。

  • 同时让 Codex 也"打开"这个文件夹,并遵循你定义好的 AGENTS.md 规则来工作。这样,你就有了一个既拥有强大可视化界面,又有 AI 自动维护的"超强"知识库。

3)企业级知识库

这种需要对AI智能体的相关技术有一定的掌握,这种开发出来的知识库更符合企业自身的需求,不过要投入的资源以及后续维护的成本也会高很多。

三、RAG 前置介绍

3.1 什么是RAG?

RAG对应的就是检索 增强生成,RAG就是让AL回答问题之前,先去你准备好的资料里查一查,而传统 AI是凭自己记忆回答:RAG是先查你给它的资料,再根据资料回答。

比如用户问:

  1. 你们这个课程卖多少钱?

    1. 传统的AI回答:价格可能根据课程内容不同有所变化,建议咨询客服。

  2. 而RAG会先去你的知识库里找价格信息,然后回答:

    1. 根据知识库,基础班价格是1999元,进阶班价格是3999元,私教班需要人工确认。

所以客服智能体更适合用RAG,因为它回答的是企业自己的产品资料,不是AI自己猜。

3.2 为什么要使用RAG

使用过传统知识库的同学应该深有体会,从0到1搭建并使用一个知识库整个周期是非常长,如果是代码开发,可能会更加复杂,以使用开源软件作为知识库服务,搭建完成后,需要将文档等各类资料分门别类整理好,然后上传到知识库软件服务,创建索引,后续的维护等,这个过程下来,少则几个月,甚至大半年都有可能,而RAG则方便很多,只需要把各类资料,pdf,word,markdown等上传之后,即可马上测试看效果了。

3.3 适合RAG的一些场景

如果你也有下面这些场景,可以考虑使用RAG

  1. 客服问答

  2. 企业知识库

  3. 产品资料问答

  4. FAQ 自动回复

  5. 售后政策查询

  6. 内部员工助手

  7. 销售话术辅助

  8. 课程学习助手

四、Codex 搭建RAG知识库过程

接下来通过实际操作演示下使用Codex 搭建一个知识库的完整过程。

4.1 前置准备

4.1.1 提前准备一些知识库语料

这些语料可以是日常业务中的销售话术,或者回复用户的业务标准流程说明等,如下,我这里提前准备了一份关于服务器相关的文档。

4.2 知识库搭建过程

4.2.1 准备知识库框架

我们可以让codex帮我们生成一个RAG的知识库框架,相当于是编写一个开发计划或方案,有了这份方案,指导Codex 进行后续具体的开发。

给到Codex的第一步提示词可以这样写:

请帮我创建一个最基础的RAG知识库演示项目。

项目目标:
用于教学演示,让用户理解RAG的基本原理:用户提问后,系统先从本地知识库中查找相关内容,再根据查到的内容进行回复。

技术要求:

1、使用 Node.js + Express
2、创建一个knowledge.txt 文件作为本地知识库
3、创建一个POST/ask接口
4、用户提交问题后,后端读取knowledge.txt
5、使用简单关键词匹配,从knowledge.txt 中查找相关内容
6、如果找到相关内容,就返回基于知识库的回答
7、如果找不到相关内容,就返回:知识库中暂时没有找到相关答窝,建议转人工客服处理
8、不需要前端页面
9、不需要数据库
10、不需要向量数据库
11、不需要真实 AI API
12、代码要简单,注释要清楚,适合新手学习


项目文件结构:
basic-rag-demo/
|--- package.json
|--- server.js
|--- knowledge.txt
|--- README.md

关于项目文件目录说明:

  • basic-rag-demo/

    • 是项目总文件夹,就像我做一个课程项目,所有资料都放进一个文件夹里,方便管理。

  • package.json

    • 是项目配置,就像项目的“说明牌”,告诉电脑这个项目怎么运行。

  • server.js

    • 是核心代码,就是这个RAG系统的大脑和发动机。

比如当用户提问:

这个产品多少钱?

server.js 就会去knowledge.txt 里找和”价格、多少钱、收费”相关的内容,然后返回答案。所以:

  • server.js是真正处理问题和返回答案的地方。

knowledge.txt 是知识库资料,你自己的产品资料都写在这里,比如:

产品介绍
价格说明
购买流程
付款开通
FAQ 常见问题
退款规则
人工寄服规则

用户问问题时,系统不是乱答,而是先查这个文件。比如:

用户问:付款后多久开通?
系统查 knowledge.txt
找到:付款成功后一股5分钟内开通
然后返回答案

所以:

  • knowledge.txt 写得越清楚,RAG回答越准确。

README.md就像项目的使用说明书,别人拿到这个项目后,看它就知道怎么运行。

4.2.2 搭建知识库框架

将上面的提示词投递给Codex

请帮我创建一个最基础的RAG知识库演示项目。

项目目标:
用于教学演示,让用户理解RAG的基本原理:用户提问后,系统先从本地知识库中查找相关内容,再根据查到的内容进行回复。

技术要求:

1、使用 Node.js + Express
2、创建一个knowledge.txt 文件作为本地知识库
3、创建一个POST/ask接口
4、用户提交问题后,后端读取knowledge.txt
5、使用简单关键词匹配,从knowledge.txt 中查找相关内容
6、如果找到相关内容,就返回基于知识库的回答
7、如果找不到相关内容,就返回:知识库中暂时没有找到相关答窝,建议转人工客服处理
8、不需要前端页面
9、不需要数据库
10、不需要向量数据库
11、不需要真实 AI API
12、代码要简单,注释要清楚,适合新手学习


项目文件结构:

basic-rag-demo/
|--- package.json
|--- server.js
|--- knowledge.txt
|--- README.md

稍作等待之后可以看到项目文件已经按要求生成了

打开项目文件夹,可以看到按要求生成了相关的文件

4.2.3 准备原始知识库材料

提前准备一份知识库原材料,可以是工作中的业务文档,SOP流程,销售话术,处理常见问题的文档材料等,作为接下来上传到RAG的材料,如下,我这里有一份阿里云服务器相关的FAQ资料:

4.2.4 将原始文档写入知识库

通过下面的提示词将准备的这份材料写入到知识库文档,即 knowledge.txt

请帮我把这个文档里的资料整理成适合 RAG知识库使用的knowledge.txt 内容。

要求:
1、按照以下结构整理:
        -- 服务器选购流程
        -- 计费方式
        -- 下单流程
        -- 配置过程
        -- 售后流程
2、内容要简洁清晰,方便关键词检索
3、不要编造我没有提供的信息
4、如果资料中没有提到的内容,请标注“资料不足,需要人工补充”
5、请直接帮我写入knowledge.txt

最终成功将原始文档内容写入到指定的knowledge.txt 文件中

4.2.5 知识库效果测试

经过上面的操作后,RAG写入知识库就结束了,我们要确认用户提问时,系统真的能从knowledge.btxt里找到对应资料。

如果用户问"服务器选购流程是怎样的”,系统应该命中。

如果用户问"服务器操作遇到问题怎么办”,系统应该命中售后流程规则。

如果用户问一个知识库里没有的问题,比如”你们能开发火箭吗”,系统就不能乱答,应该提示转人工。

给出下面的提示词,做一个完整的测试流程:

请帮我测试当前 RAG 项目。

要求:
1、启动项目
2、测试 P0ST /ask 接口
3、分别测试以下问题:
        -- 服务器选购流程是怎样的
        -- 服务器使用遇到问题怎么办
4、检查返回结果是否正确
5、如果接口报错,请帮我修复
6、如果知识库没有命中,请帮我优化关键词匹配逻辑

提示词输入之后,Codex 会根据本地的环境要求为这个项目安装必要的依赖

在执行过程中,Codex 发现知识库文件中存在语义不够明确的地方,于是自己进行了优化调整,最后完成了整个过程的测试验证

4.3 知识库升级

一开始我们不需要把知识库拆得太细。资料少的时候,一个knowledge.txt就够。如果拆分的太细,日常的维护工作量比较大,但是随着知识库承载的功能越来越多,全部放在一个知识库文件中就不合适了,此时需要根据业务类型进行细分。比如针对上面这个知识库文件,可以拆成3个文件:

  1. 服务器选购流程

  2. 服务器计费方式

  3. 服务器售后流程

明确了需求,接下来给出下面的提示词:

请帮我把当前 RAG 项目从单个knowledge.txt升级为简单的多文件知识库。

不要拆得太细,只需要拆成3个文件:

knowledge-base/
|-- Purchase.txt
|-- Service.txt
|-- Fee.txt

要求:
1、Purchase.txt 存放与服务器购买相关的内容
2、Service.txt 存放与服务器售后相关的内容
3、Fee.txt 存放与服务器使用过程中计费相关的内容
4、保留原来的POST /ask接口
5、后端自动读取knowledge-base文件夹里的所有txt 文件
6、用户提问时,系统从这3个文件中检索相关内容
7、返回结果中显示命中的文件名 matchedFile
8、如果没有找到相关内容,返回:知识库中暂时没有找到相关答案,建议转人工客服处理
9、代码要简单,注释要清楚,适合课堂教学

经过一段时间响应之后,最终按照要求将原始的知识库文档拆分成了3个文件

并且还贴心的做了测试验证

4.4 构建客服智能体

经过上面的操作,完成了一个简单的知识库的搭建过程,有了知识库,就可以做一个客服智能体,基于知识库语料进行用户问题回复了,下面使用Codex 完成客服智能体的开发。

简单理解:

RAG知识库=客服的大脑资料

客服智能体=用户提问入口+RAG回答逻辑+回复展示/发送

所以接下来要做的是:

  1. 用户提问

  2. 睿服智能体接收问题

  3. 调用 RAG 知识库

  4. 生成喜服回复

  5. 模拟展示在微信客服窗口里

下面看具体的实现步骤。

4.4.1 增加项目聊天界面

为了方便后续的演示操作,需要做一个用户的聊天界面,给出下面的提示词,让Codex 生成后续的功能:

请帮我在当前RAG知识库项目基础上,增加一个“微信客服智能体本地演示页面”。

当前项目已经有:
1、knowledge-base 知识文件夹
2、server.js后端服务
3、POST /ask 接口
4、用户提问后可以从知识库中检索并返回回答

现在请继续开发本地微信客服演示功能。

耍求:
1.新增 public文件夹,
2.在 public 中创建:
        index.html
        style.css
        script.js
3.页面模拟微信客服聊天窗口。
4、页面包含:
        聊天记录区域
        用户输入框
        发送按钮
        快捷问题按扭
5、快捷问题包括:
        - 服务器购买步骤?
        - 服务器是怎么计费的?
        - 服务器宕机了怎么办?        
6、用户输入问题后,前端调用后端 POST /ask接口。
7、后端返回答案后,页面以聊天气泡形式展示。
8、用户消息显示在右侧,AI客服消息显示在左侧,
9、如果没有命中知识库,页面展示转人工提示,
10、保留原来的 RAG知识库逻辑,不要破坏原来的/ask接口。
11、代码要简单,注释要清楚,适合课堂教学。
12、README.md 中补充如何打开本地微信客服演示页面。

请直接修改当前项目并生成完整代码。

等待一段时间后,按要求完成了页面的生成,并且给出了项目启动的方式,我们按要求启动项目或者直接让Codex 帮我启动

浏览器打开,测试一下效果

五、写在文末

本文通过较大的篇幅详细介绍了如何基于Codex 完成一个基本的RAG应用开发的过程,有兴趣的同学还可以在此基础上进行更深入的扩展,本篇到此结束,感谢观看。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐