fast-agent#截至目前为止,全面支持MCP能力的一个客户端实现

截至目前为止,全面支持MCP能力的一个客户端实现。

# Fast-Agent 框架:关键技术与知识点

github.com/evalstate/fast-agent

Fast-Agent 是一个功能强大的 AI 代理框架,旨在简化复杂 AI 应用的构建。它支持多模态交互、工作流编排以及外部工具集成,特别适合需要快速开发的场景。

## 核心特点

有2点是最重要的,MCP全能力原生支持,尤其是提了很多次的human-in-loop的实现(需要依赖Sampling功能)

1. MCP 原生支持

   - 完整支持 MCP(Model-Client-Protocol)特性,包括采样功能。  

2. 多模态支持

   - 支持图像、PDF 等多模态内容。  

   - 通过 Prompts、Resources 和 MCP Tool Call 结果处理多模态数据。

Sampling是我比较关心的特性。

采样支持  

   - 每个客户端/服务器对可配置采样 LLM。  

   - 在配置文件中指定模型名称。

人机交互  

   - Agent 可请求人工输入以获取额外上下文。  

   - 提供交互式命令行界面,支持与工作流组件聊天。

关于Sampling,fast-agent提供了一个示例:

根据topic生成故事,在读取resource的时候,调用Sampling来生成特定的resource。也就是说,能够通过资源地址来获取动态生成的故事。(标准化的好处)

我参考了这个实现,在 Memory MCP 里,增加了一个动态的resource,根据topic,结合你的知识图谱信息。

github.com/shadowcz007/memory_mcp 这个项目还处于早期实验阶段,需要有代码知识才能用得起来,mcp_client.py是stdio的使用示例,演示了sampling的实现,下周有空的时候,我会制作一个配套的客户端

先实现 读取resource的代码:

实现完基本逻辑后,把Sampling的代码写入:

( 另外,在些resource的返回的时候,注意是str的返回格式)

在MCP客户端(sse方式)会接收到一个事件类型:

仔细观看返回的数据里,是一个method叫 "sampling/createMessage" ,参数里有messages。我们使用客户端把这个messages发给 LLM,我们暂时手动替客户端完成这个操作。

Gemini的结果

Grok3的结果

——

以上,就是关于MCP的Sampling是怎么使用的介绍,我总结成一张图:

( 本页已更新到 《智能体和AI编程》PDF,可以联系我获取 litnmnm  )

## fast-Agent的主要工作流类型

在fast-agent的example示例里,有具体的代码示例,简单来讲,就是把Agent塞进了MCP,当成了 MCP 的工具来调用不同的Agent组合。

而Agent的组合,fast-agent做了高度的抽象,抽象成了几种工作流模式(并行、路由等),工作流是几种固定的 Agent 协作方式:

1. 基础 Agent 

   - 提供简单的 LLM 交互接口。  

   - 支持历史记录保存和人工输入功能。

2. Chain(链式工作流)  

   - 按顺序调用多个 Agent。  

   - 可配置是否累积消息,或是否与最终 Agent 继续对话。

3. Parallel(并行工作流)  

   - 将相同消息同时发送给多个 Agent(fan-out)。  

   - 使用聚合 Agent 处理组合结果(fan-in)。  

   - 适用于集成多个 LLM 的创意生成场景。

4. Evaluator-Optimizer(评估-优化工作流)

   - 结合生成器和评估器两个 Agent。  

   - 循环迭代,直到满足质量要求或达到最大迭代次数。  

   - 适合研究和内容生成任务。

5. Router(路由工作流)

   - 使用 LLM 评估消息,并将其路由到最合适的 Agent。  

   - 自动生成基于 Agent 指令和可用服务器的路由提示。

6. Orchestrator(编排工作流)  

   - 使用 LLM 生成计划,将复杂任务分配给可用 Agent。  

   - 支持一次性计划(full)或迭代计划(iterative)。

除此之外,还有哪些技术亮点?

提示词管理

支持 MCP 提示词,通过 `apply_prompt(name, arguments)` 应用。交互式界面中支持 `/prompt` 命令。

通过 / 或者 @ 来实现MCP不同能力的调用,是目前能看到的方式。


目前,关于MCP的客户端用户体验,还处于非常早期,没有特别好的体验,大部分需要按照技术的逻辑进行接入和使用,但 MCP Server的优势也很明显, 留给客户端的创新空间非常大。

近期推荐:

OpenAI宣布支持MCP协议#关于MCP和人工智能工具的未来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值