news 2026/10/3 8:38:13

Context Engineering 实战指南:在 mcp-for-beginners 项目中设计与维护 AI 上下文

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Context Engineering 实战指南:在 mcp-for-beginners 项目中设计与维护 AI 上下文
  • 教程
  • 文档
  • 人工智能

【免费下载链接】mcp-for-beginners

This open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.

项目地址:https://gitcode.com/GitHub_Trending/mc/mcp-for-beginners
点击查看免费下载

导读:本指南以mcp-for-beginners开源课程中 05-AdvancedTopics/mcp-contextengineering/README.md 为骨架,系统讲解 Context Engineering(上下文工程)这一新兴概念——它研究信息如何被结构化、交付并在客户端与 AI 服务之间持续维护。读完本文,你将掌握上下文工程的定义与五大关注领域、信息在 MCP 系统中的"旅程"视角、三条早期原则、MCP 协议对五大上下文挑战的设计响应,以及上下文分块、渐进式加载、压缩摘要等可落地的实践方法与评估框架。

什么是 Context Engineering

Context engineering 是 AI 领域一个正在形成的新兴概念,它聚焦于信息流的刻意设计与治理:用户、应用与 AI 模型之间,信息应当如何被组织、传递并随时间演进。与早已成形的提示工程(prompt engineering)不同,上下文工程仍处于实践者不断定义的阶段——它要解决的核心问题是:如何在正确的时间,为 AI 模型提供正确的信息。

随着大语言模型(LLM)能力的演进,上下文的重要性愈发凸显:上下文的质量、相关性与结构会直接影响模型输出。上下文工程正是要研究这层关系,并逐步提炼出有效的上下文管理原则。

Cognition AI 的 Walden Yan 在 2025 年的一段论述很好地概括了这一概念的定位:

"2025 年的模型已经极度聪明。但即便最聪明的人,如果没有被告知任务所需的上下文,也无法高效完成工作……'Context engineering' 是提示工程的下一级形态,它是在一个动态系统中自动完成这件事。"

围绕这一目标,上下文工程大体涵盖五个关注领域:

  1. 上下文选择(Context Selection):判断某项任务需要哪些信息;
  2. 上下文结构化(Context Structuring):组织信息以最大化模型的理解效果;
  3. 上下文交付(Context Delivery):优化信息发送给模型的方式与时机;
  4. 上下文维护(Context Maintenance):管理上下文随时间演进的状态;
  5. 上下文评估(Context Evaluation):度量并改进上下文的有效性。

这五个领域与 MCP 生态高度相关——MCP 恰好为应用向 LLM 提供上下文提供了一条标准化通道。

上下文的旅程视角

要直观理解上下文工程,可以追踪信息在一套 MCP 系统中流转的完整旅程:

旅程包含五个关键阶段:

  1. 用户输入(User Input):来自用户的原始信息(文本、图片、文档);
  2. 上下文组装(Context Assembly):将用户输入与系统上下文、对话历史、检索到的其他信息合并;
  3. 模型处理(Model Processing):AI 模型对组装后的上下文进行处理;
  4. 响应生成(Response Generation):模型基于给定上下文产生输出;
  5. 状态管理(State Management):系统根据本次交互更新内部状态,并影响下一轮交互。

这一视角揭示了 AI 系统中上下文的动态本质,也提出了一系列关键问题:在每个阶段,信息应当如何被最优地管理?这正是上下文工程要回答的问题。

新兴的上下文工程原则

随着领域成形,实践者中开始浮现一些早期原则。它们尚未成为公认最佳实践,但足以指导 MCP 的实现选择。

原则一:完整共享上下文(Share Context Completely)

上下文应当在系统的所有组件之间完整共享,而不是被碎片化地分散在多个智能体或进程之中。当上下文被分散时,系统某一部分做出的决策可能与另一部分冲突。

在 MCP 应用中,这要求我们设计出让上下文贯穿整个流水线无缝流动的系统,而不是把上下文关进彼此隔离的"隔间"。本仓库的对抗式多智能体示例就是这一原则的实践:在 05-AdvancedTopics/mcp-adversarial-agents/README.md 中,正反双方智能体共享同一个 MCP 工具集与同一个 ClientSession(代码中以"one shared session"贯穿run_debate),从而消除信息不对称——双方的分歧反映的是推理差异,而非数据获取差异。

原则二:行动携带隐式决策(Actions Carry Implicit Decisions)

模型采取的每一个动作,都隐含着对上下文如何解读的决策。当多个组件基于不同上下文行动时,这些隐式决策可能相互冲突,导致不一致的结果。对 MCP 应用而言,这一原则有三条重要推论:

  • 复杂任务优先线性处理,而非带碎片化上下文的并行执行;
  • 确保所有决策点都能访问相同的上下文信息;
  • 设计让后续步骤可以看到先前决策的完整上下文的系统。

原则三:平衡上下文深度与窗口限制(Balance Context Depth with Window Limitations)

随着对话与流程不断变长,上下文窗口终将溢出。有效的上下文工程要探索如何在"全面上下文"与"技术限制"之间取得平衡。目前被探索的潜在手段包括:

  • 上下文压缩:在保留关键信息的同时降低 token 占用;
  • 渐进式加载:根据与当前需求的关联度按需加载上下文;
  • 交互摘要:对先前交互做摘要,同时保留关键决策与事实。

上下文挑战与 MCP 协议设计

MCP 协议在设计之初就意识到了上下文管理的独特挑战。理解这些挑战,有助于解释 MCP 协议设计的关键特性。

挑战一:上下文窗口限制

大多数 AI 模型拥有固定的上下文窗口大小,一次能处理的信息量有限。

MCP 设计响应:

  • 协议支持结构化、基于资源(resource)的上下文,可通过引用高效访问;
  • 资源支持分页与渐进加载。

本仓库的 04-PracticalImplementation/pagination/README.md 给出了这一响应的完整落地细节:MCP 采用基于游标(cursor)的分页,tools/list、resources/list、prompts/list、resources/templates/list四个方法均支持分页;客户端通过"带 cursor → 收到nextCursor→ 再次请求"的循环逐页拉取,服务端则把游标设计为索引、ID 或编码状态三种策略,并建议在数据源处而非客户端分页,避免一次性加载百万级记录造成内存耗尽与超时。

挑战二:相关性判定

判断哪些信息最值得放进上下文是困难的。

MCP 设计响应:

  • 灵活的工具(tooling)机制支持按需动态检索信息;
  • 结构化提示词保证上下文组织的一致性。

仓库中的实时搜索示例是典型佐证:05-AdvancedTopics/web-search-mcp/server.py 通过@mcp.tool()暴露general_search等工具,由模型在需要时动态发起 SerpAPI 检索(num_results默认 5,可传参调整),把"外部世界的信息"按需注入上下文;05-AdvancedTopics/mcp-realtimesearch/README.md 则进一步总结了上下文连续性、动态查询重构等技巧,强调跨多次查询保持用户意图。

挑战三:上下文持久化

跨交互管理状态,需要对上下文演化进行细致跟踪。

MCP 设计响应(随协议版本演进):

  • 早期版本(2025-11-25)依赖标准化会话管理:Streamable HTTP 通过initialize握手返回Mcp-Session-Id,后续请求携带该头;
  • 当前版本(2026-07-28)改为无状态协议核心。正如 01-CoreConcepts/mcp-2026-07-28.md 所述:initialize握手与协议级会话被移除,协议版本、客户端信息与能力全部移入每个请求的_meta;状态管理退回到 HTTP API 的经典模式——用一次tools/call铸造显式句柄(如basket_id、browser_id),模型在后续调用中把它作为普通参数传回。

这一演进本身就是一次深刻的上下文工程实践:把状态从传输层元数据"藏起来",变成对模型可见、可推理的显式上下文,从而让任何服务器实例都能处理任何请求,水平扩展不再依赖粘性会话。

挑战四:多模态上下文

不同类型的数据(文本、图片、结构化数据)需要不同的处理方式。

MCP 设计响应:

  • 协议设计容纳多种内容类型;
  • 提供多模态信息的标准化表示。

挑战五:安全与隐私

上下文常常包含必须受到保护的敏感信息。

MCP 设计响应:

  • 明确客户端与服务器之间的责任边界;
  • 提供本地处理选项以最小化数据暴露。

四种新兴的上下文工程实践方法

以下方法代表当前实践者的思路,尚未成为既定最佳实践,会随着 MCP 落地经验积累而演化。

方法一:单线程线性处理(Single-Threaded Linear Processing)

与把上下文分发到多处的多智能体架构相反,部分实践者发现单线程线性处理能产出更一致的结果——这与"维护统一上下文"的原则一致。

虽然看似不如并行处理高效,但每一步都建立在对先前决策的完整理解之上,因此往往产生更连贯、更可靠的结果。与之对照,05-AdvancedTopics/mcp-adversarial-agents/README.md 展示的多智能体模式则必须通过"共享工具集 + 辩论记录 + 裁判智能体"来对冲上下文碎片化的风险。

方法二:上下文分块与优先级排序(Context Chunking and Prioritization)

把大上下文切成可管理的块,并优先选取最重要的部分:

# Conceptual Example: Context Chunking and Prioritization def process_with_chunked_context(documents, query): # 1. Break documents into smaller chunks chunks = chunk_documents(documents) # 2. Calculate relevance scores for each chunk scored_chunks = [(chunk, calculate_relevance(chunk, query)) for chunk in chunks] # 3. Sort chunks by relevance score sorted_chunks = sorted(scored_chunks, key=lambda x: x[1], reverse=True) # 4. Use the most relevant chunks as context context = create_context_from_chunks([chunk for chunk, score in sorted_chunks[:5]]) # 5. Process with the prioritized context return generate_response(context, query)

这一概念展示了如何把大文档切成小块、只选出最相关的部分送入上下文。它能在上下文窗口限制之内工作,同时仍然利用大型知识库。这与 MCP 的分页机制天然互补:服务端先通过resources/list分页暴露资源,模型再按相关性决定读取哪些资源内容。

方法三:渐进式上下文加载(Progressive Context Loading)

按需渐进加载上下文,而非一次性全量加载:

渐进式上下文加载从最小上下文开始,仅在必要时扩展。对于简单查询,它可以显著降低 token 消耗,同时保留处理复杂问题的能力。这与2026-07-28协议的多轮往返请求(Multi Round-Trip Requests)机制在精神上一致——服务器在处理请求途中发现需要更多信息时,返回InputRequiredResult请求客户端补充输入,再携带requestState重试原请求(详见 01-CoreConcepts/mcp-2026-07-28.md)。

方法四:上下文压缩与摘要(Context Compression and Summarization)

在保留关键信息的前提下缩减上下文规模:

上下文压缩聚焦于:

  • 移除冗余信息;
  • 摘要冗长内容;
  • 抽取关键事实与细节;
  • 保留关键上下文要素;
  • 优化 token 效率。

这一方法对于在上下文窗口内维持长对话、高效处理大文档尤其有价值。一些实践者已开始使用专门的模型来压缩和摘要对话历史。

探索性的上下文工程考量

以下考量并非规定性最佳实践,而是可能在你特定场景中带来改进的探索方向。

明确你的上下文目标

在实现复杂的上下文管理方案之前,先清晰地说明目标:

  • 模型要成功完成任务,具体需要哪些信息?
  • 哪些信息是必需的,哪些只是补充性的?
  • 你的性能约束是什么(延迟、token 限额、成本)?

探索分层上下文(Layered Context)

一些实践者发现按概念分层组织上下文效果良好:

  • 核心层(Core Layer):模型始终需要的关键信息;
  • 情境层(Situational Layer):当前交互专属的上下文;
  • 支撑层(Supporting Layer):可能有帮助的附加信息;
  • 回退层(Fallback Layer):仅在需要时访问的信息。

研究检索策略(Retrieval Strategies)

上下文的有效性往往取决于如何检索信息:

  • 语义搜索与向量嵌入:查找概念上相关的信息;
  • 基于关键词的搜索:查找特定事实细节;
  • 混合方法:组合多种检索手段;
  • 元数据过滤:按类别、日期或来源缩小检索范围。

实验上下文一致性(Context Coherence)

上下文的结构与流动可能影响模型的理解效果:

  • 将相关信息分组放置;
  • 使用一致的格式与组织方式;
  • 在合适处保持逻辑或时间顺序;
  • 避免相互矛盾的信息。

权衡多智能体架构的代价

多智能体架构在许多 AI 框架中流行,但它给上下文管理带来显著挑战:

  • 上下文碎片化可能导致各智能体决策不一致;
  • 并行处理可能引入难以调和的冲突;
  • 智能体间的通信开销可能抵消性能收益;
  • 维持连贯性需要复杂的状态管理。

在很多场景下,**"单智能体 + 全面上下文管理"**比"多个专精智能体 + 碎片化上下文"更能产出可靠结果。这与本仓库 05-AdvancedTopics/mcp-adversarial-agents/README.md 的设计互为印证:即使采用多智能体,也必须通过共享 MCP 会话保证信息环境一致,否则辩论失去意义。

发展评估方法

要持续改进上下文工程,请思考如何度量成功:

  • 对不同上下文结构做A/B 测试;
  • 监控token 用量与响应时间;
  • 跟踪用户满意度与任务完成率;
  • 分析上下文策略何时、为何失败。

度量上下文有效性:一个演进中的框架

上下文工程作为一个新兴概念,尚无既定度量框架,但一些候选指标正在被讨论,可用于指导未来工作。

潜在度量维度

1. 输入效率维度

  • 上下文-响应比(Context-to-Response Ratio):相对响应规模,需要多少上下文?
  • Token 利用率(Token Utilization):提供的上下文 token 有多大比例实际影响了响应?
  • 上下文缩减(Context Reduction):原始信息能被多有效地压缩?

2. 性能维度

  • 延迟影响(Latency Impact):上下文管理如何影响响应时间?
  • Token 经济性(Token Economy):token 用量是否得到有效优化?
  • 检索精度(Retrieval Precision):检索到的信息有多相关?
  • 资源利用(Resource Utilization):需要多少计算资源?

3. 质量维度

  • 响应相关性(Response Relevance):响应在多大程度上回答了查询?
  • 事实准确性(Factual Accuracy):上下文管理是否提升了事实正确性?
  • 一致性(Consistency):相似查询的响应是否稳定一致?
  • 幻觉率(Hallucination Rate):更好的上下文能否降低模型幻觉?

4. 用户体验维度

  • 追问率(Follow-up Rate):用户需要多少次澄清?
  • 任务完成度(Task Completion):用户是否成功达成目标?
  • 满意度指标(Satisfaction Indicators):用户如何评价体验?

探索性度量方法

在 MCP 实现中实验上下文工程时,可考虑以下探索路径:

  1. 基线比较(Baseline Comparisons):先用简单上下文方案建立基线,再测试更复杂的方法;
  2. 增量变化(Incremental Changes):一次只改变上下文管理的一个方面,以隔离其效果;
  3. 以用户为中心的评估(User-Centered Evaluation):将定量指标与定性用户反馈结合;
  4. 失败分析(Failure Analysis):检查上下文策略失败的案例,寻找改进方向;
  5. 多维评估(Multi-Dimensional Assessment):在效率、质量与用户体验之间权衡取舍。

这种实验性、多面的度量方式,与上下文工程自身"正在成形"的性质是吻合的。

未来方向

上下文工程仍处于早期阶段,但几个有前景的方向正在浮现:

  • 上下文工程原则可能显著影响模型性能、效率、用户体验与可靠性;
  • 对许多用例而言,带全面上下文管理的单线程方法可能优于多智能体架构;
  • 专门的上下文压缩模型可能成为 AI 流水线的标准组件;
  • 上下文完整性与 token 限制之间的张力将驱动上下文处理技术的创新;
  • 随着模型在高效类人沟通上变得更强大,真正的多智能体协作可能变得更加可行;
  • MCP 实现可能逐步标准化当前实验中涌现出的上下文管理模式。

结语与仓库内延伸阅读

上下文工程是一个新兴的探索领域,很可能成为高效 MCP 应用的核心。通过审慎思考信息如何在系统中流动,你有可能创造出更高效、更准确、对用户更有价值的 AI 体验。本文介绍的技术与方法是该领域的早期思考,而非既定实践;"实验 + 审慎度量"是目前最具生产力的路径。随着 AI 能力演进与理解深化,上下文工程有望发展为一门更成体系、更明确的学科。

若想在本仓库中继续深入,建议按以下顺序阅读:

  • 01-CoreConcepts/mcp-2026-07-28.md:理解无状态协议、显式句柄状态模式与多轮往返请求,是"上下文持久化"挑战的最新协议背景;
  • 04-PracticalImplementation/pagination/README.md:游标分页的完整服务端/客户端实现,对应"资源可分页、可渐进加载"的设计响应;
  • 05-AdvancedTopics/mcp-root-contexts/README.md:学习 Roots 的弃用状态与替代方案(工具参数、资源 URI、服务器配置);
  • 05-AdvancedTopics/mcp-adversarial-agents/README.md:对抗式多智能体架构如何通过共享 MCP 会话维护统一信息环境;
  • 05-AdvancedTopics/web-search-mcp/server.py 与 05-AdvancedTopics/mcp-realtimesearch/README.md:动态检索与上下文连续性在真实搜索工具中的落地;
  • 接下来按课程顺序可进入 05-AdvancedTopics/mcp-transport/README.md 学习自定义传输机制。
  • 教程
  • 文档
  • 人工智能

【免费下载链接】mcp-for-beginners

This open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.

项目地址:https://gitcode.com/GitHub_Trending/mc/mcp-for-beginners
点击查看免费下载
上一篇:freeCodeCamp 每日编码挑战 Challenge 10「3 Strikes」:统计平方数中包含数字 3 的个数
下一篇:PyTorch torch.compile 降低 Guard 开销实战:install_free_tensors、guard_filter_fn 与 skip_guard_eval_unsafe 详解

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 8:36:51

FaceFusion force-download 完整指南:3 步搞定模型下载与哈希校验

FaceFusion force-download 完整指南:3 步搞定模型下载与哈希校验 【免费下载链接】facefusion Industry leading face manipulation platform 项目地址: https://gitcode.com/GitHub_Trending/fa/facefusion 把 FaceFusion 搬上内网机器,模型下载…

作者头像 李华