大家好, 这里是 CodeAgent
最近,Python Flask 作者 Armin Ronacher 发布了一篇文章,讨论了他对 Model Context Protocol(MCP)的一些怀疑与转向:
他并不否定 MCP 的探索意义,但明确指出:当前基于 MCP 的推理驱动模式,并不适合构建稳定、可控的大规模智能自动化系统。
相反,他更倾向于把 LLM 用作 "代码生成器",将自动化逻辑沉淀为可执行、可测试、可验证的脚本,再由程序驱动流程闭环。
里面不仅仅是技术细节的讨论,更是对 Agent 工程架构设计的一些思考。
MCP 的理想与现实
MCP 的设计初衷是让模型根据上下文灵活调用工具,实现动态且 "智能" 的任务执行。这看似优雅——模型根据当前状态推理出下一步操作,并调用对应工具。
但实践中遇到的主要难题包括:
- 上下文依赖过重:每次调用都需大量上下文信息,推理开销极大,且上下文快速膨胀,导致模型效率下降;
- 调试和复用困难:MCP 调用序列动态生成,缺乏静态结构,调试复杂且难以复用;
- 结果不稳定且不可预测:基于推理的连续调用存在随机性,难以保证每次执行结果一致。
因此,尽管 MCP 在某些场景下表现良好,但从长远角度来看,它难以支撑大规模、可验证且可维护的智能自动化系统。
代码生成的优势:一个博客转换的案例
Armin Ronacher 用自己博客格式转换的经历,阐释了代码驱动自动化的价值:
他没有直接让模型"一次性"做文本格式转换,而是让模型执行以下步骤:
- 解析原始 reStructuredText 为抽象语法树(AST)
- 将该 AST 转换为 Markdown 的 AST
- 渲染生成 H

最低0.47元/天 解锁文章
2013

被折叠的 条评论
为什么被折叠?



