AI 应用开发:大模型 API·RAG·Agent·MCP
前面是“用 AI 写代码”,这一章是“写调用 AI 的代码”。
你将学会
- 调通一次大模型 API,并处理流式与错误;
- 把提示词当代码来管理(模板化、版本化、评测);
- 搭一个 RAG 最小闭环(检索 + 拼上下文);
- 理解工具调用与 Agent 的循环;
- 知道 MCP 是什么、解决什么问题;
- 为 AI 应用做基本的评测与可观测。
前置知识
一、调用大模型 API
一次请求的基本结构:
text
请求:模型名 + 消息列表(system / user / assistant)+ 参数(温度等)
响应:生成的文本(或流式分片)+ 用量(token 数)要点:
- 流式输出:边生成边显示,体验好,但要做好分片拼接;
- 出错要兜:超时、限流、余额不足都要有明确提示与重试;
- 算成本:token 用量直接等于钱,界面上最好给个上限。
text
# 最小请求(伪代码)
messages = [{ role: 'system', content: '你是简洁的助手' },
{ role: 'user', content: userInput }]
return callModel({ model: 'xxx', messages, stream: true })二、提示词即代码
生产环境里,提示词不是随手打的字,而是要管理的资产:
- 模板化:把提示存成文件/常量,变量用占位符;
- 版本化:改提示走代码审查,能对比、能回退;
- 评测:准备一组固定样例,改完提示跑一遍,看是变好还是变坏。
三、RAG 最小闭环
RAG(检索增强)= 先查资料,再让模型基于资料回答。
text
文档 → 切分 → 向量化 → 存库
用户提问 → 向量化 → 检索 top-k → 拼进提示 → 模型回答最小实现:文档切块 → 存进向量库(或简单的关键词检索)→ 查询时取最相关的几块拼进提示。 先做最小闭环,再谈优化——很多“效果不好”其实是检索没找对,而不是模型不行。
四、工具调用与 Agent
- 工具调用:你把可用的函数(查天气、读数据库、发邮件)告诉模型,模型决定“调哪个、传什么”;
- Agent 循环:模型 → 调用工具 → 拿到结果 → 再决定下一步,直到完成;
- 工程要点:给循环设上限(步数、时间、花费)、失败要能停下来、危险操作要人工确认。
五、MCP 与集成
MCP(Model Context Protocol)是把外部工具与数据接给模型的通用协议:一次接入,多个模型/工具都能用。 用途:让模型读写你的文件、查你的数据库、调你的内部系统——不必每个应用各写一套胶水。
六、评测与可观测性
“感觉变好了”不算数。至少要有:
- 固定评测集:一组带期望答案的样例,改动前后各跑一次;
- 日志:记录每次请求的输入、输出、耗时、用量;
- 兜底:模型挂了/超时要降级(返回兜底文案、稍后重试)。
动手练习
- 写一个最小脚本,调通一次大模型 API,并打印用量。
- 做一个“文档问答”最小应用:给一段文档,提问能引用原文作答。
- 给它加上步数/费用上限与失败提示。
检查点
- 能画出你的 AI 应用的数据流图(输入 → 检索 → 模型 → 输出);
- 能说出一次调用的成本来自哪里;
- 能为一次提示改动做“改前/改后”的对比评测。
常见问题
Q:一定要上向量数据库吗? 不一定。数据少时关键词检索就够;但先别优化,先用最小闭环验证“回答对不对”。
Q:Agent 会不会失控乱调工具? 会。所以要有步数/花费上限、危险操作白名单、以及人工确认点。
小结与下一步
到这里你已经能“用 AI 做产品”也能“做 AI 产品”。最后一步:把它变成可维护、可协作的工程——工程化与团队协作。