← 返回AI能力总览

一文讲透Skill:Agent与Skill架构全解析

来源:腾讯云开发者(陈菁)
原文链接https://mp.weixin.qq.com/s/0Cc2pjv6Mnf6U-C-H7RWpg
发布时间:2026-07-16
阅读状态✅ 已读


核心方法提炼

本文系统讲解了 AI Agent 与 Skill 的完整架构——从"感知-思考-行动"闭环(ReAct机制)到 Skill 的本质(API + OpenAPI描述文档),再到 FindSkill 动态工具发现和安全防护三原则,是一篇面向开发者的 Agent 技术全景指南。


方法一:Agent架构理解 — 感知-思考-行动闭环(ReAct机制)

一句话总结

Agent 不是"一堆If-Else代码",而是一个基于 ReAct(Reasoning + Acting)机制的"感知-思考-行动"无限循环系统,能根据环境反馈动态调整策略并自我纠错。

为什么有效

传统软件是"死"的,遇到未预设的情况就崩溃;Agent 是"活"的,它通过闭环循环不断推进任务:

  1. 感知(Observation):接收环境反馈(用户指令、工具返回数据、报错信息)
  2. 思考(Reasoning):大模型分析当前局势,决定下一步做什么
  3. 行动(Action):调用具体 Skill 执行操作
  4. 循环:带着行动结果回到第1步,开启新一轮循环

最关键的魔法在于:行动之后 Agent 不会停止,而是带着结果重新感知、思考、行动,直到任务完成。当工具执行失败时(如缺少依赖库),Agent 能自我纠错——修改代码后重新执行。

实操步骤

Agent 经典公式:Agent = LLM(大模型) + 记忆(Memory) + 规划(Planning) + 工具使用(Tools/Skills)

理解 Agent 的核心在于区分四个组件的分工:

  1. LLM 负责"思考"——分析局势、做出决策
  2. Memory 负责"记忆"——记住用户偏好和历史上下文
  3. Planning 负责"规划"——把大任务拆解为可执行的小步骤
  4. Tools/Skills 负责"执行"——调用外部工具完成具体操作

实战案例

以"分析苹果股价下跌原因并画走势图"为例,Agent 的完整执行循环:

循环 思考 行动 感知(结果)
1 需要先知道昨天发生了什么 调用搜索引擎Skill 苹果因反垄断面临罚款
2 需要获取股价数据 调用金融数据API Skill 获取每小时股价数据
3 需要画图 调用代码解释器Skill ⚠️报错:缺少matplotlib
4 需要修复代码 重新生成含安装指令的代码 图表生成成功
5 任务完成 整合报告输出给用户 ✅完成

延伸应用


方法二:Skill安全防护三原则 — 沙箱、人类介入、最小权限

一句话总结

本地 Skill 允许 AI 在你的电脑上执行代码,存在"幻觉误操作""提示词注入""恶意代码下载"三大风险,必须通过沙箱隔离、人类确认、最小权限三重防护来控制。

为什么有效

本地 Skill(如文件读写、代码执行)相当于给 AI 一把刀和煤气罐的访问权。AI 不是神,它会犯错——可能因为幻觉把 rm -rf /tmp/* 写成 rm -rf /,也可能被提示词注入攻击诱导泄露系统密码。三原则从"隔离、确认、限制"三个维度构建安全防线。

实操步骤

A. 沙箱环境(Sandbox)——最重要

永远不要让 AI 直接在宿主机上跑代码:

B. 人类介入(Human-in-the-loop)——核心按钮

执行敏感操作(删除、修改、发送邮件、转账)前强制暂停:

C. 最小权限原则(Least Privilege)

实战案例

WorkBuddy 本身就是一个 Agent + Skill 架构的典型例子:

延伸应用


方法三:FindSkill动态工具发现 — 向量检索+即时注入

一句话总结

当工具库有上万个 Skill 时,不能全部塞给大模型(会撑爆上下文、变傻、费钱),而是只装一个 FindSkill 元技能,让 AI 先用向量搜索找到合适的工具,再临时注入到上下文中使用。

为什么有效

大模型的上下文窗口(Context Window)有限。如果把 10000 个工具的说明书一次性全塞给它,会导致三个问题:撑爆内存(超过 Token 限制)、变傻(干扰信息太多)、费钱(每次对话都发几万字)。FindSkill 通过"按需加载"解决这个矛盾——类似于人的知识:你不需要记住所有书的全部内容,只需要知道去哪本书里查。

实操步骤

FindSkill 的"即时学习"流程:

  1. 初始状态:Agent 手里只有 FindSkill 一个元技能
  2. 用户提问:"帮我把这篇英文财报翻译成中文并生成摘要"
  3. AI 判断:"这活我干不了,需要找帮手。关键词:翻译、摘要、财报"
  4. 向量检索:系统在向量数据库中搜索,找到 google_translate(匹配度0.98)和 text_summarizer(匹配度0.95)
  5. 注入:把这两个工具的 JSON 定义临时插入到当前对话 Prompt 中
  6. AI 觉醒:"懂了!我现在会翻译和写摘要了"
  7. 执行:依次调用这两个新获得的技能
  8. 遗忘:任务结束后,从 Prompt 中移除这些工具(节省内存)

实战案例

Description Engineering(描述工程)是 FindSkill 的关键:

当有多个功能相同的 Skill 时,AI 根据 description 的精准度做选择:

如果描述和实际代码不符(菜单写"红烧肉"端上来"臭豆腐"),AI 会被"坑"死——它只看描述,看不到代码逻辑,可能产生幻觉解释或崩溃。

延伸应用


附:Skill vs Sub-Agent 对比

维度 Skill(工具) Sub-Agent(子智能体)
本质 死工具(计算器/搜索引擎) 活助理(部门经理)
工作流 线性执行:搜新闻→总结→生成PPT 自主循环:观察→思考→行动→修正
容错性 第一步失败→后续全崩 自动重试/换策略
控制权 在程序员手里(预设A→B→C顺序) 在LLM手里(动态决策)
比喻 全自动炒菜机(流水线) 雇了个真人厨师(自主决策)

附:AI调用Skill的三种触发机制

机制 触发条件 典型场景
"无知"机制 训练数据中没有的信息 查实时天气、查股价、查私有数据库
"省力/准确"机制 大模型知道自己可能算错 复杂数学计算(34523×98234)
"副作用"机制 必须实际执行动作 发邮件、订会议室、操作CRM

AI 自己处理的条件:通用知识(法国首都)、逻辑推理/闲聊、工具描述不匹配时。