跳到主要内容

Agent

Agent

一句话定义:Agent 是能够围绕目标自主规划、调用工具、观察结果并持续推进任务的 AI 系统。

核心理解:

  • 普通大模型更像“问答器”,主要根据输入生成一次回答。
  • Agent 更像“执行者”,它会把目标拆成多个步骤,并在执行过程中根据反馈调整下一步。
  • Agent 通常具备记忆、规划、工具调用、环境观察和多轮决策能力。

典型流程:

  1. 用户给出目标,例如“帮我分析这个项目的登录流程”。
  2. Agent 理解目标并制定初步计划。
  3. Agent 调用工具读取代码、搜索文件、运行命令或访问外部服务。
  4. Agent 根据工具返回结果继续推理。
  5. Agent 输出结论,必要时还会修改代码、验证结果或生成报告。

常见对比:

  • LLM:负责理解、推理和生成内容。
  • Agent:在 LLM 之上增加目标、工具、记忆和执行流程。
  • Workflow:流程通常是预先固定的。
  • Agent:流程可以根据中间结果动态变化。

Function tool

一句话定义:Function tool 是提供给模型调用的外部函数,用来扩展模型和真实世界交互的能力。

核心理解:

  • 模型本身不能直接查数据库、读文件、发请求或执行命令。
  • Function tool 把这些能力包装成结构化函数,模型只需要决定“什么时候调用”和“传什么参数”。
  • 工具返回结果后,模型再基于结果继续推理或回答。

典型例子:

getWeather({ city: '上海' })
searchDocs({ keyword: 'RAG' })
runCommand({ command: 'pnpm test' })
ts

典型流程:

  1. 用户提出问题。
  2. 模型判断仅靠已有上下文无法完成。
  3. 模型选择合适的 function tool。
  4. 模型生成结构化参数并调用工具。
  5. 工具返回结果。
  6. 模型结合结果生成最终回答。

容易混淆的点:

  • Function tool 是单个工具能力。
  • Agent 是使用这些工具完成目标的整体系统。
  • MCP 可以作为工具接入的协议标准,但 Function tool 更偏向具体可调用的函数形式。

Re-Act

一句话定义:Re-Act 是一种让模型在“推理”和“行动”之间循环的 Agent 执行模式。

核心理解:

  • Re-Act = Reasoning + Acting。
  • Reasoning 表示模型先思考当前状态和下一步。
  • Acting 表示模型调用工具或执行动作。
  • Observation 表示模型观察工具返回结果,再决定后续步骤。

典型循环:

Thought:我需要先了解项目结构。
Action:调用文件搜索工具。
Observation:发现登录逻辑在 src/auth 目录。
Thought:下一步需要阅读登录入口文件。
Action:读取 src/auth/login.ts。
Observation:发现 token 写入 cookie。
text

核心价值:

  • 让模型不再一次性给出答案,而是边执行边修正。
  • 适合搜索、调试、代码分析、资料检索等多步骤任务。
  • 中间过程更可观察,也更容易定位模型在哪一步出错。

容易混淆的点:

  • Chain of Thought 更强调内部推理过程。
  • Re-Act 不只推理,还会把推理结果转化成工具调用。
  • Re-Act 是 Agent 的一种实现模式,不等同于 Agent 本身。

MCP

一句话定义:MCP 是 Model Context Protocol,用来标准化模型和外部工具、数据源之间的连接方式。

核心理解:

  • MCP 可以理解为 AI 应用的“工具接入协议”。
  • 它让模型应用用统一方式连接文件系统、数据库、GitHub、浏览器、内部系统等外部能力。
  • 没有 MCP 时,不同工具往往需要各自写一套接入逻辑。
  • 有了 MCP 后,工具服务可以按统一协议暴露能力,客户端也可以按统一方式调用。

它解决的问题:

  • 工具接入方式不统一。
  • 上下文来源分散。
  • 不同 AI 应用之间难以复用同一套工具。
  • 外部系统能力很难以标准方式暴露给模型。

典型组成:

  • MCP Client:模型应用侧,用来连接 MCP 服务。
  • MCP Server:工具或数据源侧,负责暴露能力。
  • Tools:可被模型调用的动作,例如搜索文件、查 issue、读数据库。
  • Resources:可被模型读取的上下文资源,例如文档、文件、数据表。

容易混淆的点:

  • MCP 是协议,不是某一个具体工具。
  • Function tool 是模型可调用的函数形式。
  • MCP 可以用来提供 Function tool,但 MCP 本身还可以暴露资源和其他上下文能力。

RAG

一句话定义:RAG 是检索增强生成,让模型先查资料,再基于资料回答问题。

核心理解:

  • RAG = Retrieval-Augmented Generation。
  • Retrieval 表示从知识库、文档、数据库或向量库中检索相关内容。
  • Generation 表示模型基于检索到的内容生成回答。
  • 它解决的是模型知识过期、缺少私有知识、容易幻觉的问题。

典型流程:

  1. 用户提出问题。
  2. 系统把问题转成检索查询,必要时生成 embedding。
  3. 从文档库或向量数据库中检索相关片段。
  4. 把检索结果和用户问题一起放进 prompt。
  5. 模型基于检索内容生成答案。

适用场景:

  • 企业内部知识库问答。
  • 项目文档问答。
  • 代码库理解。
  • 客服知识库。
  • 法规、合同、论文等资料型问答。

和微调的区别:

  • RAG 适合补充事实性知识,知识更新成本低,只需要更新知识库。
  • 微调更适合改变模型风格、格式偏好或特定任务能力。
  • RAG 不会改变模型参数。
  • 微调会改变模型参数。

常见问题:

  • 检索不到相关内容,回答质量会下降。
  • 检索片段太长或太杂,会干扰模型。
  • 文档切分、embedding 模型、召回策略和重排序都会影响效果。

SKILL

一句话定义:Skill 是给 Agent 使用的专项能力包,通常包含任务说明、操作流程、工具脚本和验证标准。

核心理解:

  • Skill 不是单个函数,而是一套面向特定任务的工作方法。
  • 它告诉 Agent 在某类任务中应该怎么做、用什么工具、遵守什么约束。
  • Skill 可以让 Agent 在处理专业任务时更稳定,也更符合业务或工程规范。

典型例子:

  • 写 PowerPoint 的 Skill。
  • 处理 Excel 的 Skill。
  • 做 GitHub PR review 的 Skill。
  • 使用某个 SDK 开发功能的 Skill。
  • 编辑 Word 文档的 Skill。

Skill 中可能包含:

  • 什么时候应该使用这个 Skill。
  • 推荐的执行流程。
  • 可复用脚本。
  • 模板文件或示例资源。
  • 验证方式。
  • 注意事项和边界条件。

容易混淆的点:

  • Tool 更偏向一个可调用动作。
  • Skill 更偏向一套任务流程和经验。
  • Agent 可以根据任务选择合适的 Skill,再在 Skill 指导下调用工具。

Harness Engineering

一句话定义:Harness Engineering 是为 Agent 搭建运行框架、工具环境、权限边界和反馈机制的工程实践。

核心理解:

  • Harness 可以理解为承载 Agent 运行的“外壳”或“执行环境”。
  • 它负责把模型、工具、上下文、权限、日志、用户交互和验证流程组织起来。
  • 好的 Harness 能让 Agent 更稳定、安全、可控地完成真实任务。

它通常关注:

  • 模型如何接收上下文。
  • 工具如何注册和调用。
  • 工具结果如何返回给模型。
  • 文件、网络、命令等权限如何控制。
  • 任务状态如何保存。
  • 错误如何恢复。
  • 用户确认如何插入执行流程。
  • 日志和执行轨迹如何记录。

和 Prompt Engineering 的区别:

  • Prompt Engineering 更关注如何写好输入,让模型给出更好的输出。
  • Harness Engineering 更关注模型运行时的系统环境和执行闭环。
  • Prompt 影响模型怎么想。
  • Harness 影响模型怎么做、能做什么、做错了如何恢复。

可以这样类比:

  • LLM 是大脑。
  • Tool 是手。
  • Memory 是笔记本。
  • Skill 是专项操作手册。
  • Harness 是让这些部分协同工作的身体、工作台和安全边界。