随着人工智能技术的日益普及,使用大型语言模型(LLM)进行自动化任务逐渐成为热点,许多人也开始关注模型上下文协议(MCP)这种新兴的工具调用方式。然而,资深开发者Armin Ronacher的深入分析却表明,尽管MCP作为一种理念或许前景广阔,但在实际应用中,代码仍然是实现高效、稳定、可组合自动化的关键所在。通过对MCP与传统代码自动化的优劣对比,Ronacher提出了讲究代码的“更好用”理念,尤其强调了代码在自动化规模和可靠性上的独特优势。当前,MCP的最大问题源于两点:缺乏真正的可组合性,以及对上下文信息的极强依赖。这种依赖使得每次工具调用所需的上下文量大幅增加,导致效率低下且难以控制。而相比之下,直接通过命令行工具或编写脚本来实现需求,能明显减少上下文消耗,加快任务完成速度。
Ronacher通过实验举例——使用GitHub MCP完成任务与直接使用gh CLI相比,后者耗费上下文更少且更快完成了目标——以直观方式说明了这一问题。即使从未来发展角度考虑,虽然模型能力或许会提升、能够支持更多工具及更复杂任务,当前的数据显示MCP仍难以从根本上战胜代码的优势。对于领域特定应用,代码生成更是具有明显优势,因为它能实现模块化、可维护和可验证的解决方案,远胜单纯基于推理的工具调用。另一方面,自动化真正的价值在于规模化执行反复发生的任务。一次性、偶发性操作不适合自动化,因其准备和验证成本过高;只有当任务重复多次,自动化才能带来显著效益。而在这一过程中,代码自动化体现出独特优势。
使用代码生成的脚本和程序,我们可以清晰地审查逻辑,精准验证和调整,避免依赖模型推理导致的错漏和不确定性。Ronacher本人在博客转换项目中展示了这一思路:他利用LLM生成代码,将reStructuredText转换成Markdown,并通过表达式树(AST)确保转换过程的准确性;同时,通过编写差异比较脚本,循序渐进地迭代和验证结果。这套流程的核心不在于模型本身完成复杂推理,而是模型辅助代码生成与检查,从而保证了转化的可靠性与可控性。这种“LLM产出代码-代码执行验证-LLM辅助审查”的闭环机制,让自动化任务在规模上更加可控,避免了MCP推理模式带来的大量上下文和时间消耗。关于MCP更复杂场景的应用,如Playwright浏览器自动化,Ronacher指出,虽然在交互性强的实时页面操作中,推理不可避免,但在已明确界面和操作流程的自家应用中,编写Python脚本执行自动化更为高效。此类脚本只需写一次,无需在每次执行时依赖推理,极大提高了速度和稳定性。
不仅如此,代码级别的脚本更易于调试和维护,对于开发者来说也更为友好和透明,而MCP的调用体验往往难以预测且调试困难。Ronacher坦言,他本人作为用户都更倾向于代码操作而非MCP客户端,因后者存在较高的使用门槛和不确定性。综合来看,尽管MCP理念指向基于推理的高度灵活工具组合,但目前其架构限制了自动化规模化和效率的提升,短期内难以替代成熟的代码生成与执行模式。未来自动化可能需要融合两者的优点:以代码为主体完成核心任务,通过模型辅助实现局部推理和决策判断,形成“代码核心-模型辅助”的协同框架。一个理想的方向是构建更智能的代码沙箱环境,支持自动化任务的拆分与合并,并让LLM在代码执行后作为“裁判”进行结果分析和优化。除此之外,如何让LLM生成能够被非程序员轻松理解和操控的自动化脚本,也会成为未来的重要课题。
通过自动生成“人类可懂”的脚本说明,不仅降低使用门槛,也能促进跨领域协作,从而推动自动化进一步普及和深度应用。总的来说,当前人工智能赋能自动化的最佳实践,仍然是“让代码承担核心逻辑,LLM辅助代码生成与验证”。从实践角度来看,代码是一种成熟且经过时间验证的工具,易于调试、复用和组合。相比之下,依赖推理的MCP模型虽有创新性,但在效率、稳定性和可控性上存在明显短板。技术发展需要脚踏实地地解决自动化“成本、速度、稳定性”三大挑战,唯有如此机器才能真正代替重复繁琐的人类操作,实现规模化生产力飞跃。对于开发者而言,拥抱代码生成带来的灵活性和可控性,逐步创造属于自己的一套自动化工作流,将是推动未来智能工作的关键起点。
通过结合人工智能的引导能力和代码的坚实基础,不断迭代和完善,我们有望打造出既灵活又高效的智能自动化体系。未来或许不是单纯选择工具调用还是代码生成,而是两者协同共生,从而让自动化工作既精准又易用,释放更大的生产潜能。