Agent 工具调用可靠性——为什么 70% 的工具调用会失败
Agent 工具调用可靠性——为什么 70% 的工具调用会失败 我统计过自己 Agent 项目的工具调用日志——70% 的失败率让人崩溃。怎么救? 真实失败率我做的一个 Agent 项目,累计 10000 次工具调用统计: 状态 占比 成功 28% 参数错误 32% 工具选错 18% 超时/异常 12% 死循环(同工具反复调) 7% 其他 3% 首轮成功率只有 28%——意味着 72% 的调用需要”补救”。 这和很多 Agent 演示给人的”丝滑”印象差距巨大。 七大类失败原因1. 参数错误(32%)最常见的失败——模型生成的参数不对。 例子: get_weather(city="上海") → 实际 schema 要求 location: str,应该传 "Shanghai" search(query="AI") → 参数太模糊,实际需要更具体的 query 根因: Tool description 不清晰 参数 schema 类型不明确(enum / op...
Multi-Agent 协作——CrewAI、MetaGPT、AutoGen 三种框架实测
Multi-Agent 协作——CrewAI、MetaGPT、AutoGen 三种框架实测 多 Agent 协作是 Agent 领域最热的方向。但 CrewAI、MetaGPT、AutoGen 三个框架差别巨大——选错了浪费 3 个月。 什么是 Multi-AgentMulti-Agent = 多个 Agent 协作完成复杂任务。 类比公司: 单 Agent = 一个员工独立干活 Multi-Agent = 一个团队分工合作 核心思想: 每个 Agent 有明确角色(产品经理 / 工程师 / 测试) Agent 之间通过消息传递协作 通过工作流编排完成复杂任务 三个框架的定位CrewAI:角色扮演 + 流程编排核心思想:像管一个团队一样管理 Agent。 123456789101112131415161718192021222324252627282930313233343536from crewai import Agent, Task, Crew# 定义 Agentresearcher = Agent( rol...
AutoGPT / BabyAGI 类自主 Agent——概念很美,落地很难
AutoGPT / BabyAGI 类自主 Agent——概念很美,落地很难 2023 年 AutoGPT 火遍全网,GitHub 10 万 star。但 95% 的 AutoGPT 类项目都死在”自主”两个字上。问题出在哪? 什么是”自主 Agent”自主 Agent = 给定一个目标,Agent 自己拆解、自己执行、自己反思、自己继续。 AutoGPT、BabyAGI、AgentGPT 都是这类——用户说”帮我做一个 SaaS 网站”,Agent 自己拆解、调研、写代码、测试、部署。 听起来是 Agent 时代的圣杯——但现实很骨感。 为什么自主 Agent 大多失败1. 目标理解不准用户说”做一个 SaaS 网站”—— Agent 理解的:做一个简单的 landing page 用户想要的:有用户系统、支付、订阅、邮件营销的完整产品 第一次拆解就偏了,后面全错。 2. 路径规划不可控Agent 决定”先调研竞品”—— 调研了 3 小时,发现没意义的方向 用户已经不耐烦了 自主不等于智能——自主往往等于”瞎试”。 3. 错误累积放大Agent 写...
LangGraph 实战——有状态 Agent 的正确打开方式
LangGraph 实战——有状态 Agent 的正确打开方式 LangChain 的 AgentExecutor 是无状态的——每次调用都是新的。LangGraph 引入了”图”的概念,让 Agent 能保持状态、分支、回退。 为什么需要 LangGraphLangChain AgentExecutor 的局限123# LangChain 经典用法agent_executor = AgentExecutor(agent=agent, tools=tools)result = agent_executor.run("...") 问题: 无状态:每次调用都是新会话 无法分支:不能根据条件走不同路径 无法回退:执行错了不能撤销 并行难:多步并行需要手动管理 LangGraph 的解决思路把 Agent 当成”图”: 节点(Node):每个工具或 LLM 调用 边(Edge):节点之间的转移 状态(State):跨节点共享的数据 本质是”用图论做 Agent 编排”。 第一个 LangGraph 程序安装1pip install langgraph la...
Agent 架构模式——ReAct、Plan-and-Execute、Reflection 三大范式实战对比
Agent 架构模式——ReAct、Plan-and-Execute、Reflection 三大范式实战对比 同样是 Agent,”边想边做”、”先想再做”、”做后再想”——三种架构差别巨大。选错了成本能差 3 倍。 三种架构的核心区别ReAct(边想边做)1思考 1 → 行动 1 → 观察 1 → 思考 2 → 行动 2 → ... → 结束 特点:每一步都基于上一步的结果,强适应性。 Plan-and-Execute(先想再做)1计划 → 行动 1 → 行动 2 → ... → 行动 N → 总结 特点:先一次性规划好所有步骤,强一致性。 Reflection(做后再想)1行动 → 反思 → 改进行动 → 反思 → ... → 结束 特点:每次行动后都”复盘”,强改进能力。 ReAct 深度解析工作流程12345678910111213141516171819202122class ReActAgent: def __init__(self, llm, tools, max_iter=10): self.llm = llm self....
模型蒸馏 vs 微调——两个 80 分,一个 120 分
模型蒸馏 vs 微调——两个 80 分,一个 120 分 “我想让模型懂我的业务”——这是大多数 AI 项目第一步。蒸馏 vs 微调,选错了浪费 10 倍成本。 两个概念的清晰区分蒸馏(Distillation)让小模型学大模型的行为。 教师:大模型(GPT-4o、Claude) 学生:小模型(自己训练的 7B/13B) 过程:用大模型生成数据,训练小模型模仿 目的:用小模型达到大模型 90%+ 效果,成本降 10 倍 微调(Fine-tuning)让模型学特定知识或风格。 基础:已有模型(GPT-4o、Llama、Qwen) 过程:用特定数据集继续训练 目的:让模型”专业”——懂医疗、法律、企业内部术语 关键区别 维度 蒸馏 微调 目的 缩小成本 增加专业能力 数据来源 大模型生成 业务数据 改变的是什么 模型规模 模型知识/风格 典型场景 通用 Agent、成本敏感 垂直行业、企业内部 蒸馏:什么时候用适合场景 通用任务 + 成本敏感 客服机器人、内容审核、简单分类 用大模型标注几万条数据,训一个 7B 小模型 推理成...
长上下文窗口——100K、200K、1M Token 背后的工程难题
长上下文窗口——100K、200K、1M Token 背后的工程难题 Gemini 1.5 Pro 已经支持 1M Token 上下文。Claude 200K,GPT-4o 128K。但”支持”和”好用”是两回事。 长上下文的吸引力理论上: 把整本《三体》扔给模型,直接问”程心为什么这么选择?” 把 1000 行代码扔给模型,直接说”重构这个模块” 把整个项目代码库扔给模型,让它”理解我的代码” 这是 Agent 时代最性感的想象。 但实际呢? 长上下文的”中段迷失”问题我做过实测——模型在长上下文中段表现最差。 测试方法: 准备 100 个事实,均匀分布在 100K Token 的文本里 让模型回答”事实 #X 是什么” 观察不同位置事实的召回率 结果: 12345位置 1 (开头 10%): 召回率 95%位置 2 (10-30%): 召回率 88%位置 3 (30-70%): 召回率 62% ← 中段最差位置 4 (70-90%): 召回率 75%位置 5 (90-100%): 召回率 89% 中段信息丢失最多——这是 LLM 的”中段迷失”现象。...
Prompt Engineering 进阶——CoT、ReAct、Reflexion 三种范式
Prompt Engineering 进阶——CoT、ReAct、Reflexion 三种范式 简单 Prompt 只能让模型”回答问题”。要让模型”思考 + 行动 + 反思”——需要 Chain-of-Thought、ReAct、Reflexion 三种范式。 范式 1:Chain-of-Thought(CoT)核心思想:让模型”一步步想”,而不是”直接答”。 朴素 CoT1234问题:小明有 5 个苹果,给了小红 2 个,又买了 3 个,现在有几个?直接答:6CoT: 小明有 5 个,给小红的 2 个 - 5-2=3 个,又买 3 个 +3=6 个。 Few-shot CoT(更有效)1234567问题:小明有 5 个苹果,给了小红 2 个,又买了 3 个,现在有几个?解答:小李有 8 个糖果,给了小王 3 个,又收到小赵的 5 个,现在有几个?小李 8 - 3 + 5 = 10 个。解答:小李有 8 个糖果,给了小王 3 个,又收到小赵的 5 个,现在有几个?小李 8 - 3 + 5 = 10 个。 给几个”示范样例”,模型就能学会”一步步想”。 Zero-shot ...
