💡 方法一:Agent架构理解 — 感知-思考-行动闭环(ReAct机制)
Agent 不是"一堆If-Else代码",而是一个基于 ReAct(Reasoning + Acting)机制的"感知-思考-行动"无限循环系统,能根据环境反馈动态调整策略并自我纠错。
1. LLM 负责"思考"——分析局势、做出决策
2. Memory 负责"记忆"——记住用户偏好和历史上下文
3. Planning 负责"规划"——把大任务拆解为可执行的小步骤
4. Tools/Skills 负责"执行"——调用外部工具完成具体操作
📋 实际效果:以"分析苹果股价下跌原因并画走势图"为例,Agent 的完整执行循环:
| 循环 |
思考 |
行动 |
感知(结果) |
| 1 |
需要先知道昨天发生了什么 |
调用搜索引擎Skill |
苹果因反垄断面临罚款 |
| 2 |
需要获取股价数据 |
调用金融数据API Skill |
获取每小时股价数据 |
| 3 |
需要画图 |
调用代码解释器Skill |
⚠️报错:缺少matplotlib |
| 4 |
需要修复代码 |
重新生成含安装指令的代码 |
图表生成成功 |
| 5 |
任务完成 |
整合报告输出给用户 |
✅完成 |
💡 方法二:Skill安全防护三原则 — 沙箱、人类介入、最小权限
本地 Skill 允许 AI 在你的电脑上执行代码,存在"幻觉误操作""提示词注入""恶意代码下载"三大风险,必须通过沙箱隔离、人类确认、最小权限三重防护来控制。
📋 实际效果:WorkBuddy 本身就是一个 Agent + Skill 架构的典型例子:
- 沙箱:AI 执行命令在隔离环境中运行,不直接操作宿主机
- 人类介入:敏感操作(如部署到服务器)需要用户确认
- 最小权限:AI 只能访问当前工作目录,不能随意操作系统文件
💡 方法三:FindSkill动态工具发现 — 向量检索+即时注入
当工具库有上万个 Skill 时,不能全部塞给大模型(会撑爆上下文、变傻、费钱),而是只装一个 FindSkill 元技能,让 AI 先用向量搜索找到合适的工具,再临时注入到上下文中使用。
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 的精准度做选择:
- 用户问"帮我查一下北京的天气"
- Skill A 描述:"查询美国城市的天气" → 不匹配
- Skill B 描述:"查询中国城市的天气" → 匹配,调用 Skill B
如果描述和实际代码不符(菜单写"红烧肉"端上来"臭豆腐"),AI 会被"坑"死——它只看描述,看不到代码逻辑,可能产生幻觉解释或崩溃。