传统软件开发首先从界面出发:客户列表、项目页面、 上传按钮、发票表单、日历视图。对人类而言这很合理。 对 AI 智能体、自动化系统和外部系统而言,这是错误的抽象模型。
智能体不应该需要知道按钮在哪个页面上。
智能体真正需要什么
智能体不导航界面,它调用能力。相关问题是:
- 有哪些可用操作?
- 操作期望哪些输入,返回哪些输出?
- 需要哪些权限?
- 哪些操作是高风险或不可逆的?
- 何时需要询问用户?
- 什么会被审计?
UI-first 软件无法回答这些问题。MCP-first 软件能全部回答。
Klassisch
- Webapp
- Mobile App
- Admin UI
- API
- Automation
- AI-Integration
MCP-first
- Domain Model
- Action Layer
- Permission Layer
- MCP Tools
- MCP Resources
- MCP Workflows
- Audit Layer
- Webapp · Mobile · Admin · API · Automation
论点一:AI 智能体使用软件的方式与人类不同
人类会点击、滚动、阅读和理解。智能体需要可以直接、 安全调用的结构化能力。
第二种方式是确定性的、类型化的、权限验证的且可审计的。 第一种方式产生脆弱的浏览器自动化,每次 UI 更新都会崩溃。
-
schedule_follow_up(contactId, projectId, datetime, note) -
contacts.search(query, tenantId) -
reminders.create(contactId, datetime, note, assignedTo) -
calendar.find_free_slot(participantIds, duration, after)
论点二:用户界面成为众多客户端之一
过去,UI 是访问软件的主要入口。未来将有多个同等地位的 访问渠道,全部访问同一个能力层:
- 人类通过 Web 应用
- 人类通过移动应用
- AI 智能体通过 MCP
- 自动化通过 Worker
- 第三方通过 API
- 内部系统通过事件
- CLI 通过 Action 层
先构建 Web 应用再追加其余部分,意味着重复构建同一个 Action 层—— 每次略有不同,每次有各自的权限逻辑。
论点三:没有智能体能力的软件将难以集成
如果软件只能通过界面运行,必然会产生脆弱的变通方案:
- 浏览器自动化和屏幕抓取
- CSV 导入和手动复制粘贴流程
- 半自动化工作流
- 针对每个客户或集成项目的专项方案
这些变通方案在 UI 变更时会崩溃,无法扩展,也无法审计。 MCP-first 从根本上消除了它们存在的理由,因为系统从一开始就 具备结构化的可控性。
论点四:对许多任务而言,最好的界面是没有界面
许多任务是对话式的、情境化的、基于工作流的——它们不再需要一个页面:
“生成所有未结交易的摘要。"
"我今天应该联系哪些客户?"
"检查该员工是否缺少文件。"
"生成所有存在风险的项目报告。"
"比较最近两次薪资运行的结果。”
对于这些任务,一个可以访问能力层的对话式智能体比任何 带过滤器和表格的页面都更高效。前提是:能力经过清晰建模、 类型化并标注了风险等级。
Low 生成摘要 — Medium 创建文档 — Critical 薪资导出——系统必须了解这些区别。
论点五:MCP-first 减少重复开发
当一个功能首先作为 Action 构建时,每个客户端都可以使用相同的 Action—— 无需重复实现:
create_project(name, templateId, ownerId, tenantId)
这一个 Action 可被以下所有端使用:
- Web 应用
- 移动应用
- 管理 UI
- MCP 智能体
- CLI
- Worker
- 导入流程
- 集成
- 测试套件
这不仅减少了工作量——它消除了客户端之间随时间积累的不一致性。
论点六:MCP-first 强制产生更好的架构
MCP-first 构建方式自然会带来更清晰的建模。每项能力都需要:
- 具有明确用户意图的清晰领域 Actions
- 类型化的输入和输出 Schema
- 清晰的权限和错误处理
- 已定义的副作用
- 审计事件和保护级别
这迫使在编写任何一行 UI 代码之前,就明确分配业务职责。
-
Input Schema — 类型化,已验证 -
Output Schema — 确定性 -
Permission Scopes — 哪种角色可以调用 -
Risk Level — low / medium / high / critical / forbidden -
Side Effects — 外部影响,是或否 -
Audit Event — 记录什么内容 -
Confirmation Policy — 自主执行或需要人工审批
API-first 是为开发者而生的。MCP-first 是为智能体而生的。
首先作为完整描述、权限验证和可审计的能力系统构建的软件, 对人类更好,对智能体更好,对介于两者之间的一切也更好。