尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

AIGC、RAG、Agent、Function Call、MCP 到底啥关系?这次用 TaoToken 让 Codex 走通一遍示例

AIGC、RAG、Agent、Function Call、MCP 到底啥关系?这次用 TaoToken 让 Codex 走通一遍示例 1. 从“ChatGPT 只会文生文”到真正动手干活刚开始接触 AI 编程的同学多半都有类似的感受ChatGPT 用起来就是个“高级聊天框”输入一句话它回一段文字写个周报、改段代码都还行。可是当你问它“北京明天天气怎么样”它只会告诉你“我暂时无法获取实时信息”。这就是最基础的 AIGCAI 生成内容模式很单一核心就一句话根据你的 Prompt生成另一段文字。但 AIGC 有两个天生短板第一是知识库有截止时间比如不少模型的训练数据只到某个时间点之后发生的事它完全不知道第二是不会使用工具不能自己查天气、不能订票、不能调外部 API。这就逼着技术往前走于是 RAG、Function Call、Agent、MCP 一个一个冒出来。这篇文章我想换个方式讲不画概念图而是用 TaoToken 把 Codex 接好按“文生文 → 检索增强 → 函数调用 → 多步 Agent”的顺序每一步都实际跑一遍。你跟着操作下来会发现这些热词之间的关系比想象中清楚得多。先到 TaoToken 注册并创建一把 API Key后面所有请求都用它不用在多个平台之间来回切换。1.1 先搞清 AIGC 的边界AIGC 强调“生成”但生成的内容完全依赖模型自身的参数化记忆。你让模型“帮我写一份国庆自驾计划”它能写但写出来的东西里没有实时路况、没有天气、没有加油站分布因为这些信息不在它的“脑子”里。就像让一个从没出过远门的人给你规划自驾路线他能给你一份通用模板但给不了真正贴合当天的方案。在 Codex 里体验 AIGC 很简单配置好之后直接发一句普通 Prompt 就行。但为了让后面几个概念有对比建议你先在对话里问一个关于“当前日期 实时事件”的问题比如“今天是几号最近有什么新闻”大概率模型只能给出训练截止日之前的回答这就是 AIGC 的局限。1.2 Codex 里把模型通道切到 TaoTokenCodex 默认的模型供应商是 OpenAI要换到 TaoToken 统一 API 通道需要改~/.codex/config.toml。这个文件在 macOS 和 Linux 下都在用户主目录下Windows 一般在C:\Users\你的用户名\.codex\config.toml。model 你的模型ID model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY这里有几个细节要注意base_url填https://taotoken.net/api末尾不要加/v1env_key是环境变量名你可以换成任意你喜欢的名字但需要和后面的环境变量保持一致。模型 ID 不要凭空猜打开 TaoToken 模型广场 看当前可用的模型列表以那里显示的 ID 为准。然后设置环境变量export TAOTOKEN_API_KEYYOUR_API_KEYYOUR_API_KEY就是在 TaoToken 控制台里创建的那把 Key。保存后重新打开 Codex它就会走 TaoToken 这条通道。2. RAG 补上“实时性”让模型学会查资料再回答当你发现 AIGC 回答不了实时问题时第一种解决思路就是 RAGRetrieval-Augmented Generation检索增强生成。它的原理不复杂模型不知道答案那就先从一个外部知识库或搜索引擎里把相关资料检索出来把检索结果拼进 Prompt模型再基于这些“参考答案”生成最终回答。相当于从“死记硬背”变成“开卷考试”。2.1 用 Codex 验证一个带检索的请求在 Codex 里RAG 不一定要自己搭一套向量数据库很多场景可以直接调用一个带检索能力的接口。比如你配置一个支持联网搜索的模型或者在 Prompt 里通过系统消息告诉 Codex“请先搜索再回答”。我用 TaoToken 通道跑了一条测试用户请查询一下北京今天的天气并告诉我是否需要带伞。如果模型本身不支持联网它会老实告诉你它没有这个能力。如果支持它会在回答里给出检索来源然后再总结。这一步的关键不是让 Codex 真的调通一个搜索引擎而是理解 RAG 在链路里到底做了什么——模型自己没有实时知识但通过“检索 拼接上下文”得到了实时信息。2.2 RAG 和 AIGC 的本质区别AIGC 只有一个环节模型直接生成。RAG 有三个环节先检索再拼接最后生成。你可以把 RAG 理解成给模型配了一个检索员模型负责组织和表达检索员负责找答案。但 RAG 有个局限它只能“看”不能“做”。它查到了天气但它不会帮你订高铁票也不会因为下雨提醒你带伞而真的去执行某个动作。这就是为什么还需要 Function Call。RAG 解决“不知道”Function Call 解决“不会做”。3. Function Call 让模型长出手脚以 getWeather 为例Function Call函数调用指模型在对话过程中识别出需要调用外部工具时自动生成一个结构化函数调用请求比如getWeather(city)由应用程序真正执行这个函数再把结果返回给模型形成最终回复。模型不只是“说”它还能“调用工具”来完成用户的请求。3.1 在 Codex 里让模型自动生成函数参数用 Codex 验证 Function Call不需要真的写一个天气服务。你可以定义一个空的本地函数然后让模型生成调用参数。比如在对话里这样描述当我问你天气时请调用 getWeather(city, date) 函数参数用 JSON 格式返回。 然后我提供城市和日期你输出函数名字和参数结构。这时 Codex 会根据你的描述生成类似下面的调用{ name: getWeather, arguments: { city: 上海, date: 2025-09-30 } }看到这个输出说明模型已经完成了“意图识别 → 函数选择 → 参数抽取”的整个流程。你只需要在本地写一个真正的getWeather函数去请求天气 API就能把结果贴回给模型。3.2 为什么 Function Call 是 Agent 的垫脚石传统的 LLM 只会返回文本支持 Function Call 的模型知道“什么时候该调用哪个工具”。比如用户说“查一下明天上海天气”模型判断需要调用getWeather(上海)而不是直接凭感觉编一个天气。这个能力非常关键因为它意味着模型不再是纯粹的“话痨”而是可以参与到实际工作流中。但单次函数调用仍然不够。一个复杂的任务往往需要连续调用多个函数每次调用的结果还会影响下一步决策。这就是 Agent 要解决的问题。4. Agent 把多步任务串起来济南自驾到北京Agent智能体是让模型具备自主规划和多轮决策能力。它接收一个目标后自己拆解成多个步骤按顺序调用不同工具根据中间结果调整后续计划最后输出完整结果。和 Function Call 不同Agent 不是“调用一个函数”而是“管理一串函数调用”。4.1 在 Codex 里让模型拆解“十一自驾”任务我用 Codex 跑了一个真实场景Prompt 是这样的请帮我规划十一期间从济南自驾到北京的三天行程需要包含天气、高速路况、中途休息点、景点推荐。Codex 的输出很符合 Agent 的特征。它没有一次性给结论而是先列拆解步骤再一步步产出。比如查询济南和北京十一期间的天气预报判断出发日是否适合出行。规划济南到北京的驾车路线估计里程和时长。沿高速列出服务区标注适合休息和加油的地点。根据天数安排景点和住宿。汇总成完整行程表。这不是模型“说”出来的而是它“规划”出来的。你甚至可以继续追问“如果第二天有雨怎么办”它会重新调用相关逻辑改变后续建议。这就是 Agent 的典型行为多步骤、多工具、多轮决策。4.2 Agent 和 Function Call 的分工Function Call 是“手”负责执行单次动作Agent 是“大脑”负责决定什么时候动哪只手。用句话说Function Call 解决“怎么调用”Agent 解决“什么时候调、调完之后下一步做什么”。在 Codex 里这两层是天然融合的你只需要给它一个大目标它能自己拆解并逐步完成。5. MCP 就是 AI 世界的 USB 接口看到这里你会发现Agent 越强大需要的工具就越多。今天接一个天气 API明天接一个地图 API后天再接一个酒店预订 API。每个工具都有自己的参数格式、鉴权方式、返回结构。如果每接一个工具都要单独写适配代码那模型和工具就是“强绑定”换个模型就得全部重来。MCPModel Context Protocol模型上下文协议解决的就是这个问题。它由 Anthropic 在 2024 年 11 月发布目标是标准化模型和外部工具之间的连接方式。类比一下以前给手机充电每种手机一种线非常麻烦MCP 相当于统一成了 USB-C所有设备用一根线就能充电。5.1 MCP 和 TaoToken 的内在一致性这次用 TaoToken 配 Codex 的过程本身就是一次“统一接入”的实践。你只需要在 TaoToken 创建一把 Key把 Base URL 填成https://taotoken.net/api无论后面想用哪个模型、跑什么任务都不用再改环境变量。模型对话、Codex 接入、API 调用全部走同一套认证方式。MCP 讲的是“标准协议连接工具”TaoToken 讲的是“标准通道连接模型”。一个是协议层一个是接入层但它们的目标一致让 AI 应用从“M × N 的混乱对接”变成“M N 的标准接入”。5.2 在 Codex 里快速理解 MCP 的作用你可以在 Codex 里添加一个简单的 MCP 服务器比如一个本地文件服务然后看它如何被自动识别和调用。但这个不是必须的核心是理解MCP 让工具接入变成“即插即用”就像 USB 设备一样插上就能用不用为每个设备单独设计接口。6. 跑通之后去控制台对一下调用记录配置完成后先别急着写代码。打开 TaoToken 模型对话用同一把 Key 发一条测试消息确认模型 ID 和 Base URL 没填错。如果对话能正常返回说明你的 Key 和网络通道都没问题。6.1 验证每一步的 Token 消耗我跑完 AIGC、RAG、Function Call、Agent 四个场景后回到 TaoToken 控制台查看用量每一步的 Token 消耗都清楚地列在记录里。这样你就能直观看到文生文通常消耗最少Agent 因为需要多轮推理Token 明显更高。这个数据对评估 Coding Plan 够不够用很有参考价值。如果你打算长期用 Codex 写代码可以打开 Coding Plan 看一下套餐覆盖范围。Key 管理、用量明细都在控制台 API Keys页面Claude Code 的接入方式可以参考TaoToken 文档。6.2 遇到这些问题先自查如果 Codex 报了model_not_found多半是模型 ID 填错了。去 TaoToken 模型广场 对照一下当前可用的模型 ID不要凭感觉写。如果报401或invalid_api_key检查config.toml里的环境变量名和 Key 是否匹配注意不要有多余空格。如果报连接超时先确认本地网络能不能访问https://taotoken.net/api然后用浏览器直接打开这个地址看响应。有一步非常容易踩坑有些同学会把https://taotoken.net/api误写成https://taotoken.net/v1或是在官网链接后面拼接/api。官网和接口是两回事官网用来注册、看用量、看文档接口地址才是用来填进工具的。Base URL就是https://taotoken.net/api一个字符都别多。跑完这一步你已经用同一把 Key 把 AIGC、RAG、Function Call、Agent 走了一遍也理解了 MCP 要解决的标准化问题。下一步就可以打开 TaoToken 模型对话 或者创建自己的 Key开始实际项目了。
返回列表