Dopamine Agent Lab
0/47
学习地图 阶段 1
Stage 01 · Fundamentals

认知地图:Agent 到底是什么

这一阶段不写代码,目标是建立一套「不会被营销话术带跑」的判断力: 能区分 Agent 与聊天机器人、说清四个核心部件的职责、把新名词归位,并解释一次 Agent 调用为什么可能失控。

4 节 约 1.5 小时 前置:无 建议顺序学习
本阶段进度 0 / 4

本阶段判定标准:学完不看笔记,能对朋友用 2 分钟讲清「Agent 和 ChatGPT 差在哪」,并举例说明什么任务不该交给 Agent。

1.1

AI Agent 简介:从「回答」到「交付」

约 25 分钟 概念 对照原文 ↗

学习目标

用自己的话区分「聊天机器人」和「Agent」,并说出 Agent = 模型 + 规划 + 工具 + 记忆这条公式里每一部分的作用。

前置知识

无。只需要知道「大模型可以对话」这件事。

核心要点

  • 输出物不同:普通 LLM 产出「内容」,Agent 产出「结果」——它会调用工具把事做完,而不只是告诉你步骤。
  • 四个部件是能力清单,不是必选清单:简单 Agent 可能只有模型 + 工具;长期记忆、复杂规划、多 Agent 都是按需叠加。
  • ReAct 是常见实现,不是唯一定义:「推理 → 行动 → 观察」循环之外,还有预规划、工作流编排、直接工具调用等形态。
  • 边界模糊:现代聊天应用也能调工具,所以「是不是 Agent」不如问「自主度多高、权限多大、失败谁兜底」。
  • 风险来自权限:能读文件、发邮件、执行命令,才可能造成真实损失;讨论 Agent 必须同时讨论授权与审计。

动手任务(20–30 分钟)

拿「分析最近三个月销售数据并生成报告」这个任务,画一张双栏流程图:左边是普通 LLM 应用,右边是 Agent。用三种颜色标出「人做的事 / 模型做的事 / 工具做的事」,并在右侧写出至少 2 个可能失败的环节(例如文件读不到、图表数字错)。

自检

Agent 一定要有向量数据库或长期记忆吗?
不一定。长期记忆解决的是「跨会话保持信息」,一次性任务(改格式、查一次数据)只需要当前上下文。把可选能力当成必选,会让架构和成本无谓膨胀。
为什么说「是不是 Agent」这个问题本身不够好?
因为产品形态在融合。更有用的问法是:它能自主决定哪些步骤?被授予了哪些工具与数据权限?出错时有没有人工确认和回滚?这三点决定了它的实际风险与价值。
进度保存在本机浏览器
1.2

核心组件:每个部件坏了会怎样

约 25 分钟 概念 对照原文 ↗

学习目标

画出 Agent 的组件图,并为每个组件写出「它失效时的典型症状」,建立排错直觉。

前置知识

1.1 的 Agent 定义。

核心要点

  • 感知层接收用户输入、环境状态和工具返回;模型负责理解与决策;工具负责真正执行。
  • 状态 / 记忆记录任务进度与中间结果;执行控制(Runtime)负责调度、重试、终止和错误处理。
  • 执行控制最容易被忽略:没有最大轮次、超时和终止条件,Agent 会死循环并持续烧钱。
  • 典型失败模式要背下来:工具报错未捕获、上下文溢出、循环不终止、记忆写入脏数据、权限过大。
  • 组件划分是逻辑划分,不是部署划分:小项目里「记忆」可能只是一个 JSON 文件。

动手任务(20 分钟)

针对「读取 Excel → 统计各地区销售额 → 生成柱状图 → 保存报告」任务,做一张 6 行表格,列为:组件 / 输入 / 输出 / 失败症状 / 兜底动作。至少写出 3 个失败症状,例如「文件路径错误 → 工具返回异常 → 让模型换路径或询问用户」。

自检

如果去掉「执行控制」会发生什么?
模型可能反复调用同一个工具、在工具报错后无限重试,或者任务已完成仍继续行动。执行控制提供轮次上限、超时、错误分类、终止判断与人工接管,是成本与安全的第一道闸。
为什么「记忆」常常是故障源?
因为写入没有筛选、读取没有相关性排序,旧信息会污染当前决策;错误记忆还会被反复强化。设计记忆时要同时定义写入条件、读取条件、冲突合并和过期删除。
进度保存在本机浏览器
1.3

术语地图:把新名词放回它该在的层

约 20 分钟 概念 对照原文 ↗

学习目标

看到一个陌生术语时,能判断它属于「工程范式 / 协议 / 框架 / 产品能力」中的哪一类,而不是被缩写唬住。

前置知识

1.1、1.2。

核心要点

  • 工程范式的演进线索:Prompt(怎么问)→ Context(给什么)→ Harness(怎么组织能力)→ Loop(怎么持续产出)。它们是叠加关系,不是替代关系。
  • MCP 解决「模型 / Agent 如何标准化接入工具与数据」;A2A 解决「Agent 之间如何发现与协作」。两者层次不同,不能混为一谈。
  • 框架 ≠ 平台:LangChain / LangGraph 是代码库;Dify / n8n 是可视化平台;CrewAI 介于两者之间。
  • 术语漂移很快,同一缩写在不同厂商口径下可能不同。写方案时给出处,别只写缩写。
  • 「Agentic」「自主」是程度词,不是开关;评审时要求对方给出具体自主边界。

动手任务(20 分钟)

把原文术语表里的词做成 4 张卡片:范式、协议、框架/库、产品。每类至少 3 个词,每个词写一句「它解决什么问题」。做完后遮住解释,只看词复述。

自检

MCP 和 A2A 是竞争关系吗?
不是。MCP 面向「Agent ↔ 工具/数据源」的接入标准化,A2A 面向「Agent ↔ Agent」的协作与任务委派。一个系统可以同时使用两者。
为什么不能只凭术语判断一个产品是不是 Agent?
术语是营销素材,能力要看权限与自主度:它能否自行选择步骤、调用哪些工具、失败后能否恢复、有没有人工确认。没有这些信息,「Agent」只是标签。
进度保存在本机浏览器
1.4

工作原理:一次调用的完整链路

约 25 分钟 概念 + 伪代码 对照原文 ↗

学习目标

把「输入 → 思考 → 工具 → 观察 → 判断」讲成一条完整链路,并指出至少 3 个必须设置的终止条件。

前置知识

1.2 的组件职责。

核心要点

  • Agent 的本质是一个带终止条件的循环,而不是一次更长的提示。
  • 每轮工具结果都会回写上下文,所以上下文会持续膨胀——这是长任务最主要的瓶颈。
  • 循环必须同时有:最大轮次、超时 / 预算、任务完成判定、连续失败判定、人工接管出口。
  • Agent 类型(反应式 / 规划式 / 混合 / 多 Agent)的差别,本质是「计划在什么时候产生、由谁维护」。
  • 可观测性要记录每轮的输入摘要、工具名与参数、返回摘要、耗时与 token,否则无法复盘。

动手任务(25 分钟)

先不看任何框架,用伪代码写 12 行 run(task):初始化上下文 → 循环 → 让模型选择动作 → 执行工具 → 追加观察 → 判断是否结束。然后在旁边标注 3 个终止条件和 1 个人工接管点。

自检

为什么「最大轮次」是必需项而不是优化项?
模型无法保证一定收敛:它可能重复无效动作、在错误信息上反复尝试,或把已完成任务当成未完成。没有轮次上限,成本和延迟都不可控。
工具结果回写上下文,会带来什么连锁问题?
上下文增长导致成本上升、关键指令被稀释、模型开始遗忘最初目标。对应策略是结果截断、摘要压缩、结构化状态和子 Agent 隔离。
进度保存在本机浏览器