基础认知
Day 01 - Understanding What an AI Agent Is
今日目标
能说清 Agent 与普通 Chatbot 的区别,画出「观察 → 思考 → 行动 → 反馈」执行循环,建立最小心智模型。
学习安排
| 时间 | 模块 | 做什么 |
|---|---|---|
| 0-10 分钟 | 核心概念 | 通读当天术语表,圈出 3 个你最想在工作里用上的概念。 |
| 10-25 分钟 | 阅读输入 | 精读第 1 章 Agent 基础知识,只抓问题、思路、结论。 |
| 25-45 分钟 | 实践任务 | 画「每日测试报告整理 Agent」组件图,产出一份可复用产物。 |
| 45-55 分钟 | 追问与反思 | 回答追问练习,标记卡住的概念。 |
| 55-60 分钟 | 复盘与作业 | 整理自检清单,定下明天要复习的一点。 |
核心概念
| 术语 | 中文解释 | 应用场景 |
|---|---|---|
| agent | 能自主完成多步任务的智能体:观察环境、规划行动、调用工具、根据反馈调整,直到任务完成。 | 让 Agent 每日自动整理测试报告 |
| chatbot | 只做单轮或多轮问答、不主动调工具、不跨步骤执行的对话机器人。 | 回答「这个接口是什么意思」这类单点问题 |
| LLM | 大语言模型,Agent 的理解、推理、规划与生成核心。 | 把缺陷描述归纳成日报段落 |
| context | 模型当前能看到的所有信息:系统指令、用户问题、历史对话、工具描述、外部知识、运行状态。 | 把昨日报告和今日数据一起放入提示 |
| tool | 模型可调用的外部能力:文件读取、数据库查询、代码执行、API、浏览器。 | 查询缺陷库、读取性能报告文件 |
| harness | 把模型、上下文、工具、状态、评估与安全策略串起来的工程层,也叫 orchestration。 | 管理工具调用循环、错误重试与权限检查 |
| execution loop | 观察 → 思考 → 行动 → 反馈的循环,Agent 反复执行直到任务完成。 | 先读数据再总结,数据不足时再查 |
| observe-think-act-feedback | 观察当前状态、思考下一步、执行动作、根据反馈更新判断的四步循环。 | 排查 Nginx CPU 问题时边查边调整假设 |
| autonomous | 自主性:Agent 能在无人干预下连续执行多步任务。 | 夜间自动生成日报草稿 |
| human-in-the-loop | 人在回路:关键动作(发送、删除、写生产库)由人确认后执行。 | 日报发布前人工确认 |
| guardrail | 护栏:限制 Agent 行为边界的规则,如只读、禁止伪造数据。 | 禁止 Agent 编造未查询到的指标 |
| capability boundary | 能力边界:明确 Agent 能做什么、不能做什么,避免越界动作。 | 明确 Agent 只分析不修改配置 |
阅读重点
- 对应章节:第 1 章「AI Agent 入门」中的 Agent 基础知识小节(Agent 的基本公式、执行循环、Harness 工程)。
- 关注点:
- Agent = LLM + Context + Tools + Orchestration,四个部分各自承担什么职责。
- 观察 → 思考 → 行动 → 反馈每一步的含义,以及循环什么时候终止。
- Chatbot 与 Agent 的分界:是否有工具、是否有循环、是否自主执行。
- Harness 工程解决的核心问题:把模型能力变成可靠的系统能力。
- 补充材料:
- Anthropic 官方文档 Building Effective Agents,讲清「什么该用 Agent、什么该用工作流」。
- OpenAI Agents SDK 官方文档的 Agent 概念页,看一个最小 Agent 长什么样。
理解检查
- Agent 和普通问答机器人最大的区别是什么?试着用「工具 + 循环」两个词回答。
- 为什么说 Agent 的能力不只取决于模型?模型之外还有哪些部分?
- 「观察 → 思考 → 行动 → 反馈」每一步分别对应什么?各举一个测试工作的例子。
- 如果一个 Agent 没有任何工具,它能做哪些事、不能做哪些事?
实践任务
背景:你每天要花 30 分钟手工整理测试日报:从缺陷库抄数据、翻昨天的报告、写结论。现在要设计一个「帮我整理每日测试报告」的 Agent,先不写代码,先画图。
步骤:
- 写下 Agent 的用户目标和输入数据来源。
- 按五个组件分组列出组件:输入、LLM、工具、输出、约束。
- 用箭头标出数据流:数据从哪里来,经过谁,最后到哪里。
- 检查约束:哪些事 Agent 被禁止做。
- 产出:一张组件图(文本图即可),保存下来,Day 05 复盘要复用。
输出模板
Agent 名称:[xxx]
用户目标:[一句话描述用户想达成的结果]
- 输入
- [数据来源 1]
- [数据来源 2]
- LLM 职责
- [模型负责的分析/生成动作]
- 工具
- [工具名]:读取 [xx]
- [工具名]:查询 [xx]
- 输出
- [产物格式]
- 约束 / Guardrail
- [禁止事项 1]
- [必须遵守的规则 2]
示范输出
Agent 名称:每日测试报告整理 Agent
用户目标:每天 10 点前自动生成一份当日测试日报草稿
- 输入
- 缺陷数据:Jira 按项目查询昨日新增与关闭的缺陷
- 性能数据:压测平台导出的 P95 与错误率指标
- CI 数据:昨晚测试执行结果摘要
- LLM 职责
- 归纳缺陷趋势,判断是否存在回归风险
- 把指标变化总结成结论,拿不准的标注「待验证」
- 工具
- read_file:读取昨日报告模板
- query_db:查询缺陷库
- query_metrics:查询性能指标
- generate_markdown:输出日报草稿
- 输出
- Markdown 日报草稿(今日结论 + 待办清单)
- 约束 / Guardrail
- 不能泄露未授权项目的数据
- 数据缺失时标注「缺失」,不得编造
- 报告发布动作必须由人工确认
追问练习
- 如果没有工具,上面的 Agent 还能做哪几步?不能做哪几步?这对你的设计有什么启发?
- Harness 工程解决的核心问题是什么?它和「多写几句 prompt」有什么本质区别?
- 执行循环中「反馈」从哪里来?如果反馈是工具报错,Agent 下一步应该做什么?
- 你的 Agent 什么时候应该停下来?永远不自主停下来的 Agent 有什么风险?
常见误区
- Agent 不等于一个更长的 Prompt:Prompt 很重要,但真正的 Agent 需要状态管理、工具调用、错误处理和权限边界。
- 工具调用不只是「会调 API」:关键是模型什么时候调用、调用哪个、参数是否正确、结果如何回填、失败如何重试。
- 上下文不是越多越好:上下文太少 Agent 不知道背景,太多则噪声增加、成本上升、注意力分散。
- 把 Chatbot 改名叫 Agent:如果不调工具、没有执行循环,它仍然是 Chatbot,改名不改变能力。
进阶扩展
- 真实 Agent 系统会记录 trace(执行轨迹):每一步的观察、思考、工具调用都留痕,这是调试和审计的基础。
- 成本与延迟:每多一轮循环就多一次模型调用,需要在循环深度与 token 成本之间做权衡。
- 评估:Agent 行为是概率性的,生产系统用 eval set 度量任务成功率,不靠「感觉好用」做判断。
今日作业
- 保存组件图,明天要基于它扩展「LLM 角色」和「工具分工」。
- 用自己的话写 3 句话解释 Agent 与 Chatbot 的区别,明天开始前复述一次。
- 圈出今天最想在工作中用上的 3 个概念,各写一句为什么。
- 保留今天的学习笔记,Day 05 复盘要汇总本周全部产出。