MLNLP社区是国内外知名的机器学习与自然语言处理社区,受众覆盖国内外NLP硕博生、高校老师以及企业研究人员。
社区的愿景是促进国内外自然语言处理,机器学习学术界、产业界和广大爱好者之间的交流和进步,特别是初学者同学们的进步。
1.MCP介绍
1.1 大语言模型 VS 智能体Agent?
大语言模型,例如 DeepSeek,如果不能联网、不能操作外部工具,只能是聊天机器人。除了聊天没什么可做的。
而一旦大语言模型能操作工具,例如:联网/地图/查天气/函数/插件/API 接口/代码解释器/机械臂/灵巧手,它就升级成为智能体 Agent,能更好地帮助人类。今年爆火的 Manus 就是这样的智能体。
众多大佬、创业公司,都在 All In 押注 AI 智能体赛道。
也有不少爆款的智能体产品,比如 Coze、Manus、Dify。
1.2 以前的智能体是怎么实现的?
在以前,如果想让大模型调用外部工具,需要通过写大段提示词的方法,实现“Function Call”。
比如在 openai 中这是一个用于处理客户订单配送日期查询的工具调用逻辑设计。以下是关键点解读:
一、工具功能解析
-
核心用途
-
函数名 get_delivery_date 明确用于查询订单的配送日期(预计送达时间)。
-
触发场景:当用户询问包裹状态(如“我的包裹到哪里了?”或“预计何时送达?”)时自动调用。
-
-
参数设计
-
必需参数:仅需提供 order_id(字符串类型),无需其他字段。
-
逻辑合理性:订单ID是唯一标识,足以关联物流信息(如快递单号、配送进度等)。
-
-
技术实现要求
-
开发者需在后端实现该函数,通过 order_id 关联数据库或物流API获取实时配送状态(如预计送达时间、当前物流节点等)。
-
二、客服对话流程示例
假设用户提问:“Hi, can you tell me the delivery date for my order?”
助手应执行以下步骤:
-
识别意图:用户明确要求“delivery date”,符合工具调用条件。
-
参数提取:需引导用户提供 order_id(因消息中未直接包含该信息):
“Sure! Please provide your order ID so I can check the delivery schedule.”
-
工具调用:获得 order_id 后,后台执行 get_delivery_date(order_id="XXX")。
-
返回结果:向用户展示函数返回的配送日期(如 “您的订单预计在2025年6月25日18:00前送达”)。
tools = [ { "type": "function", "function": { "name": "get_delivery_date", "description": "Get the delivery date for a customer's order. Call this whenever you need to know the delivery date, for example when a customer asks 'Where is my package'", "parameters": { "type": "object", "properties": { "order_id": { "type": "string", "description": "The customer's order ID.", }, }, "required": ["order_id"], "additionalProperties": False, }, } } ] messages = [ {"role": "system", "content": "You are a helpful customer support assistant. Use the supplied tools to assist the user."}, {"role": "user", "content": "Hi, can you tell me the delivery date for my order?"} ] response = openai.chat.completions.create( model="gpt-4o", messages=messages, tools=tools, )
1.3 靠大段提示词的方法实现的 Function Call 有什么问题?
对开发者(你)来说:
-
要写一大段复杂提示词,程序员的语文水平一般都比较捉急
-
面对相同的函数和工具,每个开发者都需要重新从头造轮子,按照自己想要的模型回复格式重新撰写、调试提示词
对软件厂商来说(百度地图)来说:
-
百度地图发布的大模型工具调用接口,和高德地图发布接口,可能完全不一样。
-
没有统一的市场和生态,只能各自为战,各自找开发者接各自的大模型。
对大模型厂商(DeepSeek)来说:
-
各家厂商训练出的智能体大模型,任务编排能力参差不齐,标准不一致。


6804

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



