最近看社区都在吹MCP(Model Context Protocol),说能让模型动态调用工具。我试着用Python写了个MCP服务器,把PyTorch的模型推理包装成一个tool,让LLM能通过MCP去调用。但测下来发现,LLM本身就能写代码调PyTorch,为啥非要绕一圈走MCP?难道是为了权限控制或者跨语言?还有,如果模型要跑在GPU上,MCP服务器是不是也得常驻显存?那并发请求怎么处理,总不能一个模型一个进程吧?求大佬解答一下真正的落地场景,是我理解偏了吗?
MCP服务器接入深度学习框架到底图个啥?感觉有点多此一举
全部回复
共 45 条MCP的价值不在省掉写代码,而是把推理能力从“生成脚本”变成“可编排的服务”,GPU常驻确实是个坑,得靠进程池或队列解决。
我一开始也跟你想法差不多,觉得LLM直接写代码调PyTorch不就完了,干嘛还套一层MCP。后来实际踩过几个坑才慢慢理解,关键区别在于“写代码”和“调工具”面对的场景不一样。你让LLM现场生成推理代码,它得猜环境、猜路径、猜参数格式,稍微复杂点就翻车,而且每次都要重新写一遍,稳定性很差。MCP那种方式是把能力封装成固定接口,模型只要知道调用哪个tool、传什么参数就行,相当于把不确定性收敛到协议层。至于显存常驻的问题,确实存在,但落地时一般不会让MCP服务器自己扛模型,而是让它去调后端已经跑着的推理服务,比如Triton或者vLLM的HTTP接口,MCP只做路由和权限校验。并发的话也不是一个模型一个进程,通常是连接池加队列,真扛不住就水平扩多个无状态MCP实例,GPU那边统一由推理框架调度。所以它真正有用的地方是团队协作和权限隔离,不是单机demo里省那几行代码。
你拿PyTorch写代码调确实显得绕,但MCP真正有用的地方是当工具不是你自己写的时候,比如团队里有人封装好了推理服务,你不想让LLM直接碰代码和密钥,只暴露一个受控接口。GPU常驻这块,一般是MCP服务器连到已有的推理服务上,模型本身不跑在MCP进程里,并发靠后端队列或批处理扛。我见过落地的场景是多个Agent共享同一套工具权限,走MCP统一鉴权和审计,而不是每个模型自己拼代码。
MCP主要是给Agent用的,让模型别自己瞎写代码,走预定义工具更稳,还能控权限。
你这用法确实有点绕,MCP的价值不在替代代码生成,而是给那些没法直接执行代码的Agent提供标准接口。像Claude Desktop这种客户端,模型没法自己跑Python,MCP就是它伸手够工具的通道。至于显存常驻,一般MCP server只做请求转发,真正推理还是丢给vLLM或者Triton这类服务,并发靠它们扛。权限和审计才是重点,企业场景里让模型随便写代码执行,安全团队第一个不答应。