一、面试题目
请解释什么是 AI Agent Skill ,并对比它与传统 Tool(工具)、Function Calling(函数调用) 的区别、适用场景与技术实现差异。
二、知识储备
1. 核心概念定义
(1)Tool(工具)
最底层、原子化的能力单元 ,指单一可调用接口/函数,只完成最小粒度单一动作 ,无业务逻辑、无流程、无状态、无异常处理。
示例:查询订单、查询物流、申请退款、查询天气、调用数据库。
(2)Function Calling(函数调用)
是大模型调用单个 Tool 的能力机制 。
流程:意图识别 → 选择工具 → 解析参数 → 执行单次调用。
特点:单步执行、无多步骤规划、无业务编排,适合简单一次性任务。
(3)AI Agent Skill(智能技能)
面向业务封装的复合能力单元 ,是 多个 Tool + 业务规则 + 状态机 + 多步骤编排 + 校验决策 + 异常兜底 的整体封装。
模型只需要触发技能 ,内部自动完成全流程,无需逐一步骤规划。
示例:售后退款Skill、打车纠纷处理Skill、酒店改期Skill。
2. 三者核心区别(面试必背)
|-------|----------|------------------------|----------------------|
| 维度 | Tool(工具) | Function Calling(函数调用) | AI Agent Skill(智能技能) |
| 粒度 | 原子级,单一动作 | 单步调用 | 业务级,多步骤完整流程 |
| 业务逻辑 | 无,只执行指令 | 无,仅调用工具 | 内置规则、分支、判责、校验 |
| 步骤数 | 单步 | 单步 | 多步骤自动流转 |
| 自主性 | 被动执行 | 模型驱动单次执行 | 内部自治,自带状态机 |
| 可复用性 | 底层通用 | 单次临时调用 | 开箱即用、业务复用 |
| 模型参与度 | 模型只传参 | 模型选择工具 | 模型只触发,中间流程自主完成 |
3. 解决的核心问题
- Tool:解决基础能力供给问题;
- Function Calling:解决大模型调用外部工具的基础能力;
- Skill:解决复杂业务多步骤自动化问题,降低模型规划压力,统一业务规则,保证执行稳定性。
三、代码实现(伪代码,直观区分)
1. Tool 原子工具
python
# 工具:最小原子函数
def query_order(user_id):
return db.get_order(user_id)
def apply_refund(order_id):
return db.refund(order_id)
2. Function Calling 单步调用
python
# 大模型单次调用工具
def fc_call(query):
intent = llm_intent(query)
if intent == "退款":
params = llm_parse_params(query)
return apply_refund(params["order_id"]) # 仅单步调用
3. AI Agent Skill 复合技能
python
# 售后退款Skill:多步骤自动执行
class RefundSkill:
def run(self, user_id):
order = query_order(user_id)
# 业务规则校验
if not self.check_aftersale_rule(order):
return "不符合退款条件"
# 自动判责
self.judge_responsibility(order)
# 执行退款
apply_refund(order.id)
# 通知用户
send_notice(user_id)
return "退款已完成"
四、破局之道(面试升华)
Tool 是原材料 ,Function Calling 是单次取用原材料 ,AI Agent Skill 是预制好的完整业务功能 。
传统 Function Calling 依赖大模型逐步骤规划,复杂场景易出错、幻觉、步骤混乱;
Skill 通过预编排、内置业务逻辑、状态机约束 ,把复杂业务固化为稳定可复用模块,大幅降低模型决策压力,提升落地稳定性,是企业级 Agent 规模化落地的关键。
生产实践中一般采用:底层 Tool + 中层 Function Calling + 上层 Skill 封装的分层架构。