AI Agent应用开发工程
让AI不仅会说话,还会「动手」
以前用AI,它给你建议,你还得自己去系统里操作。现在?AI说完直接干——查CRM客户信息、发邮件、订机票、回写数据,全流程自动化闭环。
这个转变的核心,是三件事:MCP协议让AI有了统一的「动手标准」,Function Call让AI能精准调用工具,扣子(Coze)平台让你零代码把这些能力编排成生产级工作流。这篇文章,一次性讲透。
Function Call(函数调用)是大模型原生的结构化调用能力——你告诉模型有哪些函数可用、参数是什么格式,模型就能判断什么时候该调、自动填参数,输出机器可执行的指令。
// Function Call示例:定义一个查天气的函数
{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定城市的天气信息",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "城市名"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
},
"required": ["location"]
}
}
}
模型看到这段定义后,用户问「北京今天冷吗」,它会自动输出:get_weather({"location": "北京", "unit": "celsius"})——这就是Function Call。
但Function Call有个致命问题:每个模型各自定义格式,工具和模型深度绑定。你给GPT写的函数定义,换到Claude就用不了;你集成了5个工具,换个模型就得重写一遍。
MCP(Model Context Protocol,模型上下文协议)由Anthropic在2024年底推出,核心目标是解决这个「M×N集成难题」:M个AI应用对接N个工具,不需要开发M×N个接口,而是通过MCP统一协议,降至M+N。
一句话区分:
Function Call = 手机的语音助手(只能控制本机APP)
MCP = 蓝牙协议(让任何手机连接任何耳机)
| 组件 | 角色 | 示例 |
|---|---|---|
| MCP Host | 运行LLM的应用程序 | Claude Desktop、VS Code、Cursor |
| MCP Client | 协议连接器(1:1连接Server) | 内置在Host中的通信组件 |
| MCP Server | 暴露工具/数据/提示的服务 | GitHub Server、数据库Server |
MCP定义了三种核心原语:
工具 Tools让LLM执行动作(调API、写文件、发邮件)——这是最核心的功能
资源 Resources提供只读上下文数据(文件内容、数据库记录、日志)
提示 Prompts可复用的指令模板和工作流定义
| 维度 | Function Call | MCP |
|---|---|---|
| 本质 | 模型内置能力(JSON格式指令) | 跨模型协议标准(独立于模型) |
| 定位 | 单模型调用工具的实现方式 | 多模型调用工具的通信规范 |
| 跨模型兼容 | ❌ 仅限支持该规范的模型 | ✅ 任何兼容MCP的模型均可 |
| 工具热插拔 | ❌ 需重新部署 | ✅ 动态注册/卸载 |
| 权限控制 | ⚠️ 依赖模型实现 | ✅ 协议层支持操作授权 |
| 能力范围 | 仅工具调用 | 工具 + 资源 + 提示模板 |
| 发现机制 | 代码提前传入工具列表 | 客户端动态发现服务器能力 |
| 适用场景 | 快速验证、单应用内工具调用 | 企业级多工具集成、跨系统打通 |
关键认知:三者不是替代关系,是三层递进
•Function Call:解决「模型怎么调用工具」——底层执行语法
•Skill:解决「平台有哪些业务能力」——上层业务封装
•MCP:解决「系统之间怎么互通」——全局通信标准
企业级场景中,三者协同:FC做底层执行 → Skill做业务封装 → MCP做统一通信

扣子是字节跳动推出的AI Agent开发平台,核心优势:零代码搭Agent + 可视化编排工作流 + 内置丰富插件生态。它把MCP/Function Call的理论能力,变成了拖拽即用的生产力工具。
| 维度 | 普通智能体 | 工作流 |
|---|---|---|
| 执行方式 | 模型每轮自由决定调什么工具 | 按画布固定顺序执行节点 |
| 可控性 | 同一句话可能走不同路径 | 同一输入走同一路径 |
| 适用场景 | 开放对话、简单问答 | 固定流程、多步协作、必须A→B→C |
| 典型例子 | 「帮我查天气」「介绍产品」 | 留资→写库→回执、报表→总结→输出 |
场景:销售人员对AI说「查一下张三的跟进记录,给他发封跟进邮件」——AI自动查CRM、生成邮件、发送并回写记录。
扣子搭建步骤:
1️⃣创建工作流:资源库 → +资源 → 工作流 → 命名「CRM跟进助手」
2️⃣开始节点:定义输入参数customer_name(String类型)
3️⃣LLM节点:System Prompt写「你是销售助手,根据客户信息生成跟进邮件」
4️⃣插件节点:添加CRM查询插件(如纷享销客/HubSpot API),绑定参数
5️⃣代码节点(可选):处理CRM返回的JSON,提取关键字段
6️⃣LLM节点:基于CRM数据生成个性化邮件内容
7️⃣插件节点:调用邮件插件发送
8️⃣HTTP节点:回写CRM跟进记录
9️⃣结束节点:返回「已发送邮件给张三,CRM记录已更新」
企业级落地数据:
• 华鼎冷链通过MCP让大模型对接温度传感器+库存系统+运输系统,年省9300万
• 辽宁12345通过MCP串联6个大模型智能体,人力成本降低30%
• 接入AI Agent的CRM系统,手动数据录入减少67%,线索响应速度提升2.8倍

没有卡片时,AI返回的是一坨混杂链接、格式混乱的纯文本。用户看得头疼,操作全靠手动复制粘贴。卡片把结构化数据变成可交互的可视化界面——信息一目了然,点击直接跳转。
原始文本输出,链接混杂难看
用户需手动复制URL到浏览器
多条结果堆成一团,无法区分
移动端体验极差
结构化展示,标题/摘要/标签清晰
点击按钮直接跳转详情页
循环渲染自动分卡,每条独立展示
多列布局+彩色标签,手机端也好用
卡片的本质是结构化数据的可视化渲染层,通过绑定工作流输出的JSON数组实现动态展示:
// 工作流输出的结构化数据(卡片绑定源)
{
"jobs": [
{
"name": "Python开发工程师",
"company_name": "某科技有限公司",
"salary": "15-25k",
"company_type": "民营企业",
"location": "北京",
"url": "https://example.com/job/123"
}
]
}
绑定四步法:
1️⃣ 运行工作流,复制output JSON
2️⃣ 去除外层结构,粘贴为卡片变量的默认值
3️⃣ 逐字段绑定item.name、item.salary、item.url
4️⃣ 开启「循环渲染」,绑定数组变量,自动为每条记录生成独立卡片
错误1:只显示第一条数据→ 未开启「循环渲染」。必须选中主体区域 → 高级配置 → 开启循环渲染 → 绑定数组变量
错误2:按钮跳转失败→ 字段名错误。在工作流测试中复制完整output,确认字段名为item.url
错误3:卡片与原始文本同时输出→ 双击「结束」节点 → 返回类型改「返回文本」→ 仅填{{output}}占位符
错误4:移动端显示错乱→ 用多列布局+彩色标签替代长文本,提升信息扫描效率
错误5:卡片样式不美观→ 用红/绿/紫三色标签区分企业性质、薪资、所在地,符合企业级UI规范
传统方式:用户需要输入「查看详情」来触发下一步。现在:卡片按钮绑定item.url字段,点击直接跳转,彻底告别手动输入指令的交互模式。
扣子支持两种卡片模式:
•单张卡片:展示单一内容,绑定数组第一个元素
•竖向列表:展示多张卡片(最大20条),循环渲染数组每一条
卡片还能绑定自定义样式——通过拖拽组件(标题/文本/按钮/标签/图片)构建专属界面,发布后即可在智能体对话中使用。

| 方式 | 原理 | 典型场景 | 复杂度 |
|---|---|---|---|
| API直连 | 工作流中添加HTTP/插件节点,直接调系统API | 查CRM、发邮件、订机票 | 低 |
| MCP Server | 将系统能力封装为MCP Server,Agent动态发现并调用 | 跨模型复用、企业工具生态 | 中 |
| 视觉自动化 | Agent「看懂」软件界面,模拟人类操作 | 无API的老旧系统、SaaS界面 | 高 |
以HubSpot CRM为例,4步实现AI Agent双向打通:
// Step 1: 配置API认证(OAuth 2.0)
// HubSpot: Private App Token
// Salesforce: Connected Apps + OAuth
// Step 2: 在扣子工作流中添加HTTP节点
// 查询客户信息
GET https://api.hubapi.com/crm/v3/objects/contacts/{id}
Headers: Authorization: Bearer {ACCESS_TOKEN}
// Step 3: LLM节点处理返回数据,生成操作建议
// System Prompt:
"""你是销售助手。根据CRM中的客户信息:
1. 分析客户当前状态(活跃/沉默/流失风险)
2. 生成个性化跟进邮件
3. 推荐下一步最佳行动"""
// Step 4: HTTP节点回写CRM + 发送邮件
PATCH https://api.hubapi.com/crm/v3/objects/contacts/{id}
Body: { "properties": { "last_contacted": "2026-06-04", "follow_up_status": "completed" } }
1. 认证隔离:OAuth Token存储在加密环境变量中,严禁「令牌透传」
2. 操作分级:读取操作自动执行,写入操作需人工确认
3. 审计日志:每次API调用记录操作人、时间、参数、结果,满足合规审查
4. 提示注入防护:MCP协议层内置输入过滤和输出清洗,防止恶意指令触发危险操作
中国机电一体化技术应用协会已发布《信息安全技术 模型上下文协议安全要求》团体标准(T/CAMETA XX-2026),从传输层、应用层、模型层三个维度规范MCP安全。这意味着MCP已从开发者工具升级为工业级基础设施标准。
三个关键认知:
1. MCP是「标准」,不是「工具」。它不替代Function Call,而是在FC之上建立统一的通信规范。就像USB-C不替代充电功能,但让所有设备用同一个接口充电。企业级场景下,MCP解决的是「工具一次开发,全模型通用」的规模化问题。
2. 扣子工作流是「编排器」,不是「聊天框」。普通智能体靠模型自由发挥,工作流靠你定义流程。当你需要「先查CRM再发邮件再回写记录」这种确定性流程时,工作流是唯一靠谱的选择——可复现、可审计、可优化。
3. 卡片是「体验层」,不是「装饰品」。卡片把AI的输出从「一段文字」变成「可交互界面」,按钮替代文本指令、循环渲染替代堆砌展示。这不是好看不好看的问题,是AI能不能真正被业务人员使用的问题。
从「AI给你建议」到「AI直接干活」,差的不是模型能力,是连接系统的能力。MCP统一标准,扣子降低门槛,卡片优化体验——三者结合,才是AI从「聊天工具」变成「执行工具」的完整路径。
觉得有用?关注我们,持续输出AI实战干货 👇
关注公众号,获取更多AI实战指南数据来源:Anthropic、Linux基金会AAIF、Gartner、Forrester、McKinsey、CSDN、掘金、腾讯云、阿里云、51CTO、扣子官方文档、纷享销客、BizAI
夜雨聆风