← 博客列表
2026-07-30·定制 Agent

Agent 工具调用(Function Call / MCP)入门:连接 ERP、CRM 的正确姿势

企业 Agent 一旦要「查 CRM 商机」「读 ERP 库存」「创建工单」,就必须走出纯对话:模型提出调用意图,网关按白名单执行工具,再把结构化结果喂回模型生成答复。Function Call(各家模型的 tools / function calling)解决「模型如何声明要调什么」;MCP(Model Context Protocol)解决「工具如何被发现、鉴权与跨运行时复用」。两者都不等于「把 ERP 账号密码写进 Prompt」。GeonAI 按场景设计工具面与人工确认点;/agents 仅为能力参考(363+ 预设非公众全量试用)。评估请邮件 [email protected]。多 Agent 编排见 /blog/multi-agent-vs-single-assistant;交付节奏见 /blog/enterprise-ai-agent-delivery-4-steps

先对齐名词:Function Call、MCP、自建网关

概念解决什么不解决什么
Function Call / Tools模型输出结构化「调工具」意图与参数ERP 鉴权、幂等、审计、写操作审批
MCP标准化暴露工具/资源,便于宿主与客户端对接自动获得企业级 ACL 与变更管理
自建工具网关白名单、配额、签名校验、人工确认、审计日志替代业务系统本身的权限模型
仅 RAG检索制度与 FAQ 生成答案真实订单状态、可写业务动作

落地时常见组合是:模型 Function Call → 贵司工具网关 →(可选)MCP Server 或直连 ERP/CRM API。MCP 是可选的标准化层,不是上生产的唯一门票。

什么时候必须上工具,而不是加长知识库?

  • 答案依赖实时状态(库存、物流、商机阶段、工单状态)
  • 需要写操作(建线索、改地址草稿、提交退款申请)
  • 必须可审计到「谁在何时调了哪个 API、参数与结果码」
  • 同一问题在不同账号下结果不同(强依赖登录身份与数据权限)

若只是解释制度、报价口径、SOP,优先 RAG + 引用(见 /blog/enterprise-rag-knowledge-base-agent)。把订单 API 当知识库灌进向量库,会同时制造过期数据与合规风险。

连接 ERP / CRM 的正确姿势(硬规则)

  1. 工具白名单:只暴露试点所需的 3–8 个动作;禁止「通用 SQL / 任意 REST」
  2. 读多写少:默认只读查询;写操作必须另开工具,且默认「草稿 + 人工确认」
  3. 身份透传:用企业 SSO / 服务账号 + 用户上下文做数据范围过滤,禁止共用超级密钥给模型自由发挥
  4. 参数校验:枚举、金额上限、客户 ID 格式在网关校验;模型输出不可信
  5. 幂等与重试:写工具带 idempotency key;超时只查状态不盲目重放
  6. 审计字段:sessionId、toolName、argsHash、resultCode、latency、operatorConfirm 进日志
  7. 失败话术:工具失败时拒答或转人工,禁止模型编造「已下单成功」

两条路径怎么选:原生 Function Call vs 引入 MCP

路径更适合代价
A · 模型 Tools + 自建网关工具少、系统固定(1–2 个 ERP/CRM)、要快速试点每个运行时自己维护 tools schema
B · MCP Server + 宿主多宿主/多 Agent 复用同一工具面;工具集会扩张多一层协议与运维;仍要自建鉴权与审批
C · 只接「万能插件」无网关几乎永不权限失控、无法审计、写操作事故面巨大

多数企业试点从 A 开始:把 CRM 查商机、ERP 查库存做成两个只读工具,验收通过后再评估是否用 MCP 统一暴露。把 MCP 当成「免审万能插座」是常见误解。

算例:售前助手要同时碰 CRM 与 ERP

用户意图工具确认策略验收看什么
查某客户最近商机crm.get_opportunities(customerId)只读;按销售 ACL 过滤越权率=0;缺参转澄清
查 SKU 可售库存erp.get_atp(sku, warehouse)只读;缓存 ≤5 分钟可接受则标注时效与 ERP 抽样一致率
创建跟进任务crm.create_task(...)草稿预览 → 人工点确认再提交误创建率;确认前可取消
「帮我改成交价」无工具 / 拒答转人工或工单禁止模型直接调改价 API

售前对话设计可参考 /blog/presales-consultation-agent-design;若还要拆路由与专家,见多 Agent 一文。POC 指标见 /blog/poc-to-production-agent-checklist

反模式(看到就停)

  1. 把 ERP/CRM 的管理员 Token 放进系统提示或前端
  2. 给模型一个「execute_any_api(url, body)」类万能工具
  3. 写操作成功只靠模型自然语言确认,没有网关回执码
  4. 工具报错时让模型「合理猜测」业务状态并回复客户
  5. 上了 MCP 就跳过白名单、配额与人工确认
  6. 用 363+ 预设页演示当成已接通你们的生产 ERP

试点清单(可直接贴进 SOW)

  1. 列出必须实时/可写的意图;其余仍走 RAG
  2. 画出工具白名单(名称、参数、读/写、确认策略)
  3. 选定路径 A 或 B;明确鉴权与环境(测试租户优先)
  4. 定义幂等、超时、重试与失败话术
  5. 审计字段与抽检表(越权、幻觉回执、漏确认)
  6. 灰度一个入口;达标后再扩工具,禁止一次接满所有 API

找 GeonAI 时怎么描述

说明:要接的系统(CRM/ERP/工单)、只读还是含写、是否已有 API/中间件、可接受的人工确认点、试点意图清单。邮件 [email protected]服务方案 或 Live chat。我们优先「最小可审计工具面」,不推销无边界插件。

常见问题

Function Call 和 MCP 是不是一回事?

不是。Function Call 描述模型如何发起调用;MCP 描述工具如何被标准化暴露与连接。生产上通常还要自建网关做鉴权、白名单与审计。

没有 MCP 能不能接 ERP?

能。用模型 Tools + 自建网关直连 API 是常见试点路径。MCP 更适合工具要跨多个宿主复用、或工具集会持续扩张时再引入。

写操作一定要人工确认吗?

高风险写(改价、退款、改权限)试点阶段建议必须确认。低风险写(建内部跟进任务)可在抽样质检达标后谈半自动,并保留审计与回滚。

工具失败时 Agent 该怎么说?

明确「系统暂不可用/未查到」,转人工或给出工单入口;禁止编造成功状态。验收要抽检失败话术,不只看成功路径。

和多 Agent 有什么关系?

工具权限冲突时,常拆成只读查询 Agent 与写操作草稿 Agent(见多 Agent 一文)。工具白名单按专家隔离,比塞进一个全能助手更安全。

官网预设员工已经会调工具了吗?

展示站预设是能力类型参考,不包含贵司 ERP/CRM 凭证与白名单。生产接通需要定制网关与验收。

Function CallMCP工具调用ERPCRM定制 AgentGeonAI