惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
博客园 - Franky
罗磊的独立博客
G
Google Developers Blog
The GitHub Blog
The GitHub Blog
P
Proofpoint News Feed
Recent Announcements
Recent Announcements
V
V2EX
F
Fortinet All Blogs
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
U
Unit 42
GbyAI
GbyAI
A
About on SuperTechFans
WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
Martin Fowler
Martin Fowler
D
DataBreaches.Net
The Cloudflare Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MongoDB | Blog
MongoDB | Blog

博客园 - yi-sheng

[2026年9月]国产曦云C500双卡vllm框架本地部署qwen3.6-35B模型 [部署失败]国产曦云C500双卡sglang框架本地部署qwen3.6-35B模型 4090多卡使用sglang:v0.5.16在docker环境部署Qwen3.5-35B-A3B-20260807 短剧及算力租用平台 AMD Rademo RX 7900 48G显存 单卡环境部署Qwen3.6-35B-A3B AMD开发者中心Notebook开SSH与WEB外网访问 ROCm 环境多模态开发开源项目汇总 国产曦云C500双卡vllm框架本地部署qwen3.6-35B模型 国产曦云C500驱动安装 国产曦云C500双卡本地部署qwen3.6-35B模型 NVIDIA GeForce RTX 3080 魔改20G 运行大模型 FusionXpark_GB10救砖教程 ARM 架构NVIDIA GB10 Grace Blackwell环境中部署 Qwen3.6-35B 推理服务 Rufus的4.4制作ubuntu-24.04.4安装U盘 常用办公终端NEC 莱斯双盘位桌面存储阵列2代-LaCie 2big v2设置RAID1 常用办公终端配置信息 H3C LinSeer MegaCube灵犀MegaCube工作站使用笔记 4090多卡使用sglang推理框架docker布署qwen3.6-35B 国产曦云C500双卡本地部署qwen3.5-35B模型 国产GPU沐曦GPU系统曦云C500体验笔记 ARM 架构NVIDIA GB10 Grace Blackwell 芯片环境下安装conda FusionXpark GB10盒子开箱笔记 Python 3.11.6 + Oracle 11g​开发环境配置 MCP开发技巧:静态参数作为行为提醒(Reminder Pattern) Teachable Machine安装 Qwen2.5-1.5B + LoRA 单张显卡 微调实战 Qwen2.5-1.5B + LoRA 微调实战 大模型基建实战:使用序列猴子数据集定制 BPE Tokenizer 老年小龙虾soul.md示例
MCP工具粒度的权衡
yi-sheng · 2026-03-16 · via 博客园 - yi-sheng

一个常见的错误是直接把现有的 REST API 端点或函数封装成 MCP 工具,「反正功能都实现了,包一层不就行了?

LLM Agent 的上下文窗口(context window)是稀缺资源,而计算机内存是廉价且充裕的。这个根本差异决定了工具设计的方向。


简单例子:在通讯录中搜索联系人。

传统软件可以高效地存储和处理整个联系人列表,逐个检查每条记录。
但如果让 LLM Agent 使用一个返回「所有联系人」的工具,然后逐个 token 地阅读每一条……它就是在用最宝贵的上下文空间处理大量无关信息。

# ❌ 不好:直接暴露底层能力,让 Agent 自己处理
list_contacts()         # 返回所有联系人,Agent 需要逐个筛选
get_contact(id)         # Agent 需要知道 ID 才能调用

# ✅ 好:针对 Agent 的认知模式设计
search_contacts(name="")           # 直接返回匹配结果
message_contact(name="张三")         # 内部处理搜索和发送

两个极端
太细粒度:多次调用,浪费 token
太粗粒度:返回大量无关信息,填满上下文。

核心原则:把编排逻辑放在你的代码里,而不是放在 LLM 的上下文窗口里。

启发式方法:如果 Agent 在 90% 的情况下调用 A 后都会调用 B,考虑合并它们。

# 观察到的调用模式:
# 1. get_issue(id)
# 2. get_issue_comments(id)  <-- 几乎总是紧跟着调用

# ✅ 考虑合并
get_issue_with_comments(issue_id, include_comments=True)

一个 Server,一个职责。

不要试图构建一个「全能」的 MCP Server。就像微服务架构一样,每个 Server 应该专注于一个领域。

当工具数量增长到一定程度,MCP 的「会话开始时加载所有工具」模式会遇到瓶颈。这时,一种互补的方案是 Skills(或类似的渐进式披露机制)。