随着基础模型能力的不断增强,现实世界中的应用场景对人工智能提出了更高的要求,推动其向更具上下文感知能力、依赖外部信息检索以及由智能智能体驱动的方向发展。为了满足这些需求,诸如检索增强生成(RAG)和MCP等关键技术正逐步成为构建现代AI系统的核心组成部分。
检索增强生成(RAG)是一种结合语言模型与外部知识库的方法,使模型能够在生成回答之前,先通过向量搜索或语义搜索技术检索相关的文档内容。随后,这些检索到的信息会被整合进提示词中,作为生成响应的依据。这种机制不仅有效缓解了模型在处理超出训练数据范围问题时的上下文长度限制,还显著降低了“幻觉”现象的发生概率,使输出更加准确且基于事实。
与此同时,MCP 提供了一种结构化的方式来编码 AI 智能体的动态上下文,特别适用于需要长时间运行、具备角色认知和工具理解能力的复杂任务。它帮助智能体维护自身身份、管理任务状态,并协调与外部环境的交互。可以将其视为围绕 RAG 查询所构建的一层轻量级协议,融合了元数据与推理状态,从而实现更灵活的记忆存储、上下文链接以及环境信息注入。这种设计大大增强了智能体系统的可扩展性和可控性,为未来智能化应用的发展提供了坚实的基础。
希望快速入门MCP 的朋友,可以阅读老码农的《MCP 极简入门》一书。
这个流程展示了一个现代 AI 应用程序中,如何将用户的问题转化为一个结构清晰、有上下文支持的智能响应过程。整个流程可以分为以下几个关键步骤:
User Query
↓
Retriever → [Documents]
↓
MCP Formatter: {"role": "analyst", "task": "...", "context": [docs]}
↓
LLM (Gemini/Claude/GPT)
↓
Response grounded in context + protocol该流程融合了检索增强生成(RAG) 和 智能体驱动的上下文管理(MCP),代表了一种先进的 AI 工作流设计方式。它不仅提升了模型回答问题的准确性,也增强了其在复杂业务场景下的实用性,例如企业决策支持、个性化客服、智能助手等领域。
pip install sentence-transformers faiss-cpu openaifrom sentence_transformers import SentenceTransformer
import faiss
import numpy as np
# Documents to retrieve from
docs = [
"RAG uses retrieval to improve generation.",
"MCP is a protocol for embedding model behavior and task context.",
"LangChain and LlamaIndex offer RAG frameworks.",
"Vector stores allow semantic search over text."
]
# Create vector index
model = SentenceTransformer("all-MiniLM-L6-v2")
embeddings = model.encode(docs)
index = faiss.IndexFlatL2(embeddings.shape[1])
index.add(embeddings)def retrieve_top_k(query, k=2):
query_vec = model.encode([query])
D, I = index.search(np.array(query_vec), k)
return [docs[i] for i in I[0]]def build_mcp_prompt(user_query, context_docs):
return f"""<MCP>
Role: Analyst Agent
Task: Answer user query with context-aware, grounded reasoning.
Context:
{"".join(f"- {doc}\n" for doc in context_docs)}
User Query:
{user_query}
Answer:"""import openai
openai.api_key = "your-openai-key"
def generate_with_openai(prompt):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{ "role": "user", "content": prompt }],
temperature=0.5
)
return response.choices[0].message["content"]query = "How does MCP help with AI agent context?"
retrieved = retrieve_top_k(query, k=2)
mcp_prompt = build_mcp_prompt(query, retrieved)
output = generate_with_openai(mcp_prompt)
print("🔍 MCP Prompt:\n", mcp_prompt)
print("\n💡 RAG-MCP Answer:\n", output)RAG-MCP 构成了智能、工具驱动型人工智能智能体的核心之一。无论您是借助 LangChain、LlamaIndex 等现成框架,还是自行开发编排系统,MCP 都能为 RAG(检索增强生成)流程引入清晰的结构化逻辑。这种结构不仅提升了智能体在处理复杂任务时的一致性和可控性,还增强了其决策过程的可解释性与整体能力,使 AI 智能体能够在多步骤、长周期的任务中表现得更加稳健和高效。
如果希望了解MCP 的价值,可以参考《拆解OpenAI最大对手的杀手锏:为什么会是MCP?》和《什么可能会定义人工智能的下一个十年?》;
如果想全面而有深度地了解MCP, 可以阅读《大模型应用系列:两万字解读MCP》;
如果想了解MCP 规范的原文, 可以参考我的译稿《MCP规范完整中译稿:2025-3-26版》;
如果想通过工具快速入手,可以使用《让你的服务变成MCP Server?FastAPI MCP 指南》;
如果选择使用 MCP 的开发框架, 可以参考《万字解读:8种常见框架,选择哪一种来开发MCP呢?》;
如果在现有的Agent 开发框架中使用MCP, 可以参考《当Semantic Kernel 遇上MCP......》和《Pydantic AI与MCP相逢》;
如果希望在大模型应用的中使用MCP,可以借鉴《在大模型应用中使用长短记忆: OpenMemory MCP》;
如果希望集成多个MCP服务,可以利用《采用LangGraph集成多个MCP服务器的应用》
如果希望了解基于MCP的架构模式,有全网首发的文字《全网首发:MCP 的10种架构模式》;
如果希望解决MCP应用的安全性问题,有全网首发的文字《全网首发:安全性问题,使MCP成为AI应用的双刃剑,如何化险为夷呢?》;
如果想对比 MCP 与其他智能体协议的区别, 🉑参考《智能体间协作的"巴别塔困境"如何破解?解读Agent通信4大协议:MCP/ACP/A2A/ANP》;
如果希望快速入门MCP,请阅读老码农的作品——
【关联阅读】