如果你准备 Agent 开发岗位,Agent Skills 是一个很适合展开的话题。它能体现你不只是会写 Prompt,而是理解 Agent 如何调用外部能力、如何工程化落地。
面试官想考察什么
面试官问 Skills,通常想看:
text
你是否理解 Agent 和普通 LLM 应用的区别;
你是否知道工具调用不是简单函数调用;
你是否会设计输入输出;
你是否考虑失败处理;
你是否考虑权限和安全;
你是否能把 Demo 做成工程系统。
问题一:你怎么理解 Agent Skills
回答重点:Skill 是 Agent 可调用的任务能力单元,不只是函数。
可以说:Skill 通常包括 name、description、input schema、output schema、handler、error handler、调用边界和限制条件。模型负责理解意图和选择能力,Skill 负责执行具体动作。
问题二:Skill 和 Tool 有什么区别
回答重点:Tool 偏可调用接口,Skill 偏任务能力封装。
Tool 解决"模型能调用什么",Skill 解决"能力如何被稳定使用"。一个 Tool 可能只是 search_api(query),而搜索 Skill 会定义什么时候搜索、返回什么、没有结果怎么办。
问题三:怎么防止乱调工具
回答重点:description、schema、校验、Router、确认机制。
可以说:我会写清适用和不适用场景,用结构化 schema 限制参数,执行前校验,执行后检查结果,如果 Skills 多就用 Router 先筛选候选,高风险 Skill 加用户确认。
问题四:Skill 失败怎么办
回答重点:错误分类和兜底策略。
错误类型包括缺参数、参数非法、权限不足、超时、空结果、外部服务异常和危险操作。缺参数追问,超时有限重试,空结果不编造,权限不足提示授权,高风险操作确认。
问题五:Registry 和 Router 怎么讲
Registry 是 Skill 注册中心,管理有哪些 Skills、描述、schema、版本、权限、风险等级。Router 根据用户问题、任务类型、权限和风险,从 Registry 选择候选 Skills。
这能体现你对规模化 Agent 系统的理解。
问题六:安全怎么讲
强调风险分级、读写分离、权限校验、参数白名单、用户确认、沙箱、配额、审计日志。
一句话:Agent 可以自由思考,但不能自由执行高风险操作。
一个完整表达模板
可以这样整体介绍:
text
我理解 Agent Skills 是 Agent 可调用的任务能力单元。它不是简单函数,而是包含名称、描述、输入输出 schema、执行逻辑、异常处理、权限和调用边界的完整封装。
在系统中,大模型负责理解用户意图和选择能力,Skill 负责执行具体动作。为了让 Agent 稳定调用,我会设计清晰的 description,明确适用和不适用场景;用结构化 input schema 限制参数;用 status、data、error、metadata 统一输出;执行前做参数和权限校验;执行后检查结果是否为空或异常。
当 Skills 数量变多时,我会用 Skill Registry 做统一管理,用 Skill Router 根据任务类型、权限和风险筛选候选 Skills。对于高风险操作,比如发送邮件、删除数据,会拆分读写操作并加入用户确认和审计日志。
常见扣分表达
不要只说:
text
我接了几个工具。
我写了 Prompt。
我用了某某框架。
更好的表达是:
text
我设计了 Skills 的边界、schema、异常处理、安全控制、日志监控和评估方式。
面试中怎么回答
可以这样回答:
面试中讲 Agent Skills,要从"工具能调用"上升到"能力可稳定使用"。我会强调 Skill 不是普通函数,而是包含描述、schema、执行、异常、安全、日志和评估的任务能力封装。然后讲如何防止乱调、如何处理失败、如何用 Registry 和 Router 管理大量 Skills、如何对高风险操作做权限和确认。这样能体现 Agent 工程化思维,而不是只会写 Demo。
小结
这篇文章的核心是:面试中如何讲清楚 Agent Skills? 不是一个孤立概念,而是 Agent 工程化中必须讲清楚、设计清楚、验证清楚的一部分。