LLM的局限性与上下文工程的重要性

大型语言模型(LLM)本质上类似于一个基于海量信息训练而成的水晶球预测机。它通过阅读书籍、杂志甚至互联网论坛上的内容,掌握了丰富的知识储备和模式识别能力。然而,LLM并非全知全能,要获得准确的答案,关键在于向模型提供正确的上下文(Context)。例如,当用户询问“Red Hat的历史”或“如何检查特定数据库”时,LLM虽然可能知道通用知识,但缺乏针对用户具体环境的细节。这些细节包括数据格式要求、团队特定的数据库配置,以及从外部工具获取的实际响应结果。这种仅仅通过提问和设定角色来完成任务的过程被称为提示工程(Prompt Engineering),而当引入额外的结构化信息以辅助模型做出正确判断时,这一过程升级为上下文工程(Context Engineering)。核心挑战在于如何高效地将这些必要信息传递给AI模型,并在此基础上构建功能强大的AI Agent。

"So when we think about it, well this part right here where we're actually just asking a question with a specific role in a task, this is what's known as prompt engineering."

MCP:标准化外部数据接入层

当AI Agent需要访问如客户关系管理(CRM)系统等实时数据源时,传统的做法是复制粘贴API文档和令牌给LLM,这种方法既不安全也不可靠。模型上下文协议(Model Context Protocol, MCP)的出现解决了这一痛点,它标准化了AI模型与不同数据源之间的通信方式。MCP服务器将服务API抽象为LLM易于理解的格式,并处理身份验证等复杂环节。它为Agent提供具有唯一作用域的令牌(Token)和读写权限控制。在后台,MCP服务器被集成到IDE或AI应用中,当LLM需要特定信息时,会生成标准的JSON请求;随后,MCP服务器将其转换为HTTP POST或GET请求调用实际服务。这种机制使得LLM能够以受控、安全的方式获取实时数据,如查询当前运行的虚拟机状态或集群健康状况。MCP已成为连接LLM与外部工具/资源的标准化中间层,并被几乎所有主流AI工具所支持。

"MCP instead standardize how your AI model talks to these different data sources. So what it does is it abstracts your services APIs into a simple LLM ready format as well as for fighting."

Skills:封装可复用的领域知识与任务逻辑

尽管MCP解决了外部数据接入问题,但它并未涵盖如何让LLM掌握特定领域的专业知识或标准化操作流程。由于LLM具有非确定性(Non-deterministic),即使有数据,不同次生成的结果格式也可能不一致。例如销售团队可能要求CRM数据的输出必须包含客户姓名、联系方式及“最喜欢的饼干类型”,且格式需严格统一。此时,“Skills”(技能)概念应运而生。Skill本质上是一个包含元数据和提示词(Prompt)的Markdown文件,打包在一个文件夹中。它可以被自动加载到LLM的上下文窗口中。例如,“代码调试技能”仅在用户询问代码错误时才会被激活加载。Skill不仅包含提示词,还可以附带脚本、示例或其他资源,从而赋予模型执行特定任务(如格式化数据、运行合规检查)的标准化能力。这种轻量级的封装方式确保了任务执行的可重复性和一致性,弥补了MCP仅负责数据连接而缺乏逻辑规范的不足。

"Being able to have a repeatable way to say, hey I want this formatted the same way every time over and over again is the basis of why skills are so important."

选型指南:MCP与Skills的适用场景对比

在实际应用中,选择MCP还是Skill取决于具体需求。当AI应用需要以受控、严格权限的方式访问实时外部数据时,应首选MCP。这相当于Agent与工具之间的集成层,允许调用特定的工具和资源。典型场景包括查询当前运行的虚拟机、检查集群状态或获取特定客户信息。反之,如果仅需添加可复用的自定义能力(如格式化数据、分析投资报告),MCP的配置可能过于繁琐,此时Skill更具优势。Skill轻量且专注于教导模型“如何做某事”,通过内置脚本或示例执行任务。两者都能增强LLM的上下文窗口,帮助构建更智能的Agent。值得注意的是,无论是MCP还是Skill,目前都是开源项目,并被广泛采用,用户可以在本地机器上立即开始使用。此外,视频还提到命令行界面(CLI)在构建Agent中的作用是一个值得探讨但未深入的话题。

"MCP is the standardized layer between the LLM and the data sources that you need when you're using an LLM or building an agent, and it's supported by almost all AI tools that are out there."

结论

MCP与Skills在AI Agent构建中扮演着互补而非互斥的角色。MCP侧重于解决“数据从哪里来”的问题,通过标准化协议安全地连接外部实时数据和工具;而Skills侧重于解决“数据怎么用”的问题,通过封装标准化的提示词和脚本确保任务执行的一致性和领域知识的复用。对于需要实时数据交互的场景,MCP是基础;对于需要固定流程或特定格式输出的场景,Skills是关键。两者结合使用,能够最大化LLM的能力边界,既保证了数据的实时性与安全性,又确保了输出结果的标准化与专业性。开发者应根据具体需求灵活选择或组合使用这两种技术栈。