使用 MCP 和 Bifrost 让 AI 工作流可预测 🔥

发布: (2026年2月13日 GMT+8 20:24)
7 分钟阅读
原文: Dev.to

Source: Dev.to

LLM 开发与对生产级网关的需求

LLM 开发迅速超出简单实验的范畴。如今,AI 系统不再只是文本生成器;它们是完整的生产应用,能够与 API、数据库、文件以及内部服务协同工作。模型上下文协议(Model Context Protocol,MCP) 已成为统一模型与工具、基础设施交互的标准。

但随着复杂度的提升,出现了新的问题:可管理性。MCP 服务器、工具和集成越多,模型行为就越难预测——工具选择、操作顺序、成本以及结果的稳定性都会受到影响。

生产级 LLM 网关登场

Bifrost MCP GatewayCode Mode 的组合,将 MCP 从实验性的集成层转变为可管理、可扩展且可预测的基础设施。编排从提示工程转向代码,使 LLM 能专注于其最擅长的——推理和决策——而不是“ juggling ”工具。

当基于 LLM 的系统超出实验阶段时,工具和集成的管理变得至关重要。MCP 为文件、数据库、API 和内部服务提供统一标准,便于在工作流之间连接和复用能力。在大型生产环境中,模型往往会花费大量资源去弄清哪些工具可用,而不是解决实际问题。

带有 Code Mode 的 Bifrost 集中管理工具,将编排从提示转为代码,降低 token 使用量,加快执行速度,并使结果可预测。由此形成的架构可管理、安全且具备可扩展性。

启用 Code Mode in Bifrost

  1. 打开 MCP Gateway 选项卡。
  2. 编辑客户端。
  3. 为客户端启用 Code Mode
  4. 保存。

💎 Star Bifrost

⚙️ Bifrost 与代码模式如何将 LLM 转变为受管基础设施

在构建可投入生产的 AI 工作流时,管理跨多个 MCP 服务器的数十种工具很容易让人不堪重负。代码模式通过仅公开三个元工具来改变 LLM 与 MCP 工具的交互方式:

  • listToolFiles
  • readToolFile
  • executeToolCode

这种极简接口保持模型上下文轻量且可预测,所有编排工作都在安全的执行沙箱中完成。

好处

  • 降低 token 使用量 – 模型生成代码,而不是反复描述工具调用。
  • 降低延迟 – 编排在代码中完成,而不是通过多次往返请求。
  • 确定性输出 – 执行在具有固定环境的沙箱中进行。
  • 完全控制与可调试性 – 开发者可以检查并调试生成的代码。

示例:Bifrost 沙箱中的 TypeScript 工作流

const results = await youtube.search({ query: "LLM", maxResults: 10 });

const titles = results.items.map(item => item.snippet.title);

return { titles, count: titles.length };

模型专注于推理和输出生成,而网关则安全地处理工具执行。

规模化工具管理

随着 AI 项目的扩展,模型需要交互的工具、API 和数据源数量可能会急剧增加。如果没有集中式的 LLM 网关,每个模型都必须独立发现并编排这些资源,导致:

  • 行为不可预测
  • 延迟高
  • 令牌使用过多

集中式网关可以解决这些问题。例如,通过单一的 Bifrost 端点列出可用的 MCP 工具,只需如下操作:

# List available MCP tools via Bifrost Gateway
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list"
  }'

这可以降低复杂度,最小化延迟,并实现高效的扩展。

使用代码模式管理复杂工作流

如果没有标准,模型可能在每一次交互中收到所有工具定义,需要解析庞大的模式并做临时决策。这会导致延迟增加、令牌消耗升高以及不可预测性。

使用 Bifrost 的代码模式,模型可以:

  1. 列出可用工具。
  2. 只读取它需要的定义。
  3. 在安全的沙箱中执行代码。
// List all available MCP tool files
const tools = await listToolFiles();

// Read a specific tool definition
const youtubeTool = await readToolFile('youtube.ts');

// Execute a workflow using the tool
const results = await executeToolCode(async () => {
  const searchResults = await youtubeTool.search({ query: "AI news", maxResults: 5 });
  const titles = searchResults.items.map(item => item.snippet.title);
  return { titles, count: titles.length };
});

console.log("Found", results.count, "videos:", results.titles);

模型不再需要手动处理每个工具;它能够发现、加载并可预测地编排这些工具。MCP 与类似 Bifrost 的网关结合后,可将复杂的多步骤工作流转化为可管理、确定性的过程。

Bifrost 中的默认无状态工具调用模式

  1. POST /v1/chat/completions → LLM 返回工具调用建议(未执行)。
  2. 您的应用 审核工具调用 → 应用安全规则,必要时获取用户批准。
  3. POST /v1/mcp/tool/execute → 明确执行已批准的工具调用。
  4. POST /v1/chat/completions → 使用工具结果继续对话。

保证

  • 不会意外调用外部服务的 API。
  • 不会误删或误改数据。
  • 所有工具操作都有完整审计日志。
  • 对敏感操作进行人工监督。

如果您对项目有任何疑问,我们的支持团队很乐意在评论区或论坛中为您解答。

Discord 频道

您可以在以下位置找到更多项目资料:

感谢阅读本文!

0 浏览
Back to Blog

相关文章

阅读更多 »