{
  "format": "ai-knowledge-map/tutorial-v1",
  "canonical": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/",
  "language": "zh-Hans",
  "title": "一. 什么是 Agent？什么时候需要用到？",
  "summary": "理解 AI Agent、模型与工作流的关系，认识行动和反馈循环，以及工具、知识、记忆的作用，判断何时需要 Agent、怎样设置自主性和权限。",
  "questions": [
    {
      "question": "AI Agent、模型和工作流有什么关系？",
      "answer": "模型提供理解和生成能力；工作流规定步骤与信息传递；Agent 能根据目标和当前反馈选择下一步行动。",
      "sections": [
        {
          "id": "course-agent-topic-1",
          "title": "1. Agent 与模型和工作流的关系",
          "url": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-1"
        }
      ]
    },
    {
      "question": "Agent 为什么需要工具、知识、记忆和反馈？",
      "answer": "工具执行操作，知识提供任务依据，记忆保存后续需要的信息；行动结果成为下一次判断的反馈。",
      "sections": [
        {
          "id": "course-agent-topic-2",
          "title": "2. 行动与反馈循环",
          "url": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-2"
        },
        {
          "id": "course-agent-topic-3",
          "title": "3. 工具、知识、记忆",
          "url": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-3"
        }
      ]
    },
    {
      "question": "什么任务适合用 Agent，应该给它多大自主性和权限？",
      "answer": "当任务需要反复操作和判断时，可以考虑 Agent。自主性和权限要结合任务后果、可检查程度与需要人决定的位置设置。",
      "sections": [
        {
          "id": "course-agent-topic-4",
          "title": "4. 适用条件、自主性和权限的基本逻辑",
          "url": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-4"
        }
      ]
    }
  ],
  "scope": "摘要与短答依据正式课程整理。以下完整章节保留原始来源名称、配置细节、适用版本与实测限制。此文件为公开阅读格式，不代表独立审核或实测结果。",
  "sources": [
    {
      "url": "https://www.anthropic.com/engineering/building-effective-agents",
      "title": "工作流与 Agent 的区别",
      "section": "course-agent-topic-1",
      "context": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-1"
    },
    {
      "url": "https://github.com/microsoft/ai-agents-for-beginners/blob/main/STUDY_GUIDE.md",
      "title": "工具的作用",
      "section": "course-agent-topic-3",
      "context": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-3"
    },
    {
      "url": "https://modelcontextprotocol.io/docs/getting-started/intro",
      "title": "MCP 说明",
      "section": "course-agent-topic-3",
      "context": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-3"
    },
    {
      "url": "https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization",
      "title": "授权方式",
      "section": "course-agent-topic-3",
      "context": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-3"
    },
    {
      "url": "https://agentskills.io/home",
      "title": "Skills 说明",
      "section": "course-agent-topic-3",
      "context": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-3"
    },
    {
      "url": "https://developers.openai.com/api/docs/guides/retrieval",
      "title": "检索与使用检索结果",
      "section": "course-agent-topic-3",
      "context": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-3"
    }
  ],
  "sections": [
    {
      "id": "course-agent-introduction",
      "title": "引言",
      "url": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-introduction",
      "html": "<p>在“对话与基础任务”中，我们已经学过怎样表达需求、提供材料、说明边界，并根据结果进行修改。只要任务和条件足够清楚，AI 就可以帮我们整理资料、修改文章、分析问题。那么，如果一个任务需要先查资料，再作判断，最后操作软件，我们还需要一步一步告诉它怎么做吗？</p><p>这时就会遇到一个经常出现的词：Agent，也常被译为“智能体”。它究竟增加了什么能力？是不是把提示词写得更详细，或者让 AI 扮演客服，就已经做出了一个 Agent？如果它能自己做事，我们又应该在什么时候参与？注;： 本节主要讨论以大模型为核心的软件 Agent。</p>"
    },
    {
      "id": "course-agent-topic-1",
      "title": "1. Agent 与模型和工作流的关系",
      "url": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-1",
      "html": "<p>商店每天有很多咨询，你希望系统自动读取问题，查询订单，按规则判断，再生成回复。可以预先安排好流程：收到问题后查询订单，发现使用情况缺失就询问顾客，取得必要信息后判断申请条件，最后生成回复草稿。</p><p>这就是一种工作流。<strong>工作流规定了步骤之间怎样连接、信息怎样传递，以及遇到某种情况时走哪条路径。</strong> 它可以包含分支、循环和 AI 判断。例如，先让 AI 识别咨询类型，再按预设路径进入退货、物流或产品介绍流程。</p><p>如果把同样的目标交给 Agent，它可以根据已有信息选择下一步：先查订单，还是先询问顾客；查询结果已经足够，还是需要补充资料。工作流也能安排这些操作，区别在于处理路径由谁决定：工作流按预设路径执行，Agent 则让模型根据当前情况选择部分后续行动。</p><p><strong>在本课程中，我们把 Agent 理解为：围绕目标，能够根据当前信息和行动反馈选择后续行动、推进任务的系统。</strong> 不同产品对 Agent 的称呼并不完全一致，判断时可以看它怎样选择和执行下一步。步骤数量、提示词长度和软件界面，都不足以单独判断它是不是 Agent。<a href=\"https://www.anthropic.com/engineering/building-effective-agents\" target=\"_blank\" rel=\"noopener noreferrer\">工作流与 Agent 的区别</a></p><p>那么，模型在其中起什么作用？模型负责理解任务、生成内容，也可以选择调用什么工具、怎样处理返回结果；实际查询订单、修改文件等操作，需要由接入的工具执行。给模型写上“你是经验丰富的客服”，只是说明希望它采用的工作方式，还没有建立能查询和处理订单的 Agent。</p>"
    },
    {
      "id": "course-agent-topic-2",
      "title": "2. 行动与反馈循环",
      "url": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-2",
      "html": "<p>以退货咨询为例。如果目标是“生成回复草稿”，Agent 需要查到相关订单、核实签收时间，再依据规则写出回复。如果目标是“登记退货申请”，写好回复还不够，需要实际提交申请，并取得系统返回的登记记录。</p><p>顾客没有提供订单编号，但当前系统能查询其购买记录。Agent 可以先调用工具查询近期订单。工具可能返回一笔订单、多笔候选记录，或者提示没有权限。</p><p>查到唯一且与咨询相符的订单，可以继续核对签收时间；查到多笔可能的订单，需要询问顾客指的是哪一笔；没有权限，则需要取得授权或请用户提供订单信息。<strong>行动的结果，是下一次判断的输入。</strong> 这种“选择行动、执行、获得反馈、再选择行动”的过程，就是行动与反馈循环。</p><p>如果任务中途暂停，还需要保存本次进度：已经查到哪笔订单、还缺什么信息、申请是否登记。再次继续时，系统才能从中断的位置接着做，避免重复登记或漏掉尚未完成的步骤。</p><p>循环也需要结束条件。申请登记成功，可以结束；需要顾客确认订单，可以暂停等待；没有查询权限且暂时无法补充信息，就应说明缺少什么、停在哪里。没有权限时，反复提交同一个查询请求也不会取得订单。需要提前约定这些情况下何时停止，以及停止时交代哪些已完成和未完成的内容。</p>"
    },
    {
      "id": "course-agent-topic-3",
      "title": "3. 工具、知识、记忆",
      "url": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-3",
      "html": "<p>先看<strong>工具</strong>。工具让 Agent 能够执行搜索、计算、读取文件、操作浏览器或保存草稿等操作。<a href=\"https://github.com/microsoft/ai-agents-for-beginners/blob/main/STUDY_GUIDE.md\" target=\"_blank\" rel=\"noopener noreferrer\">工具的作用</a></p><p>为什么有时你要求 AI 修改文件，它只给了一段修改后的文字？先看它是否具备文件写入能力。如果没有相应工具、账号没有授权，或者当前环境只能读取，提示词中的“直接修改”也无法让它把内容写入文件。</p><p>接入工具时，经常会遇到 API、连接器和 MCP。<strong>API</strong> 是软件提供给程序调用的接口，例如邮箱 API 可以提供读取和发送邮件的操作；<strong>连接器</strong>是把应用接入 Agent 所用系统的对接组件；<strong>MCP</strong> 是 AI 应用连接外部工具和数据时使用的一种标准交流规则。<a href=\"https://modelcontextprotocol.io/docs/getting-started/intro\" target=\"_blank\" rel=\"noopener noreferrer\">MCP 说明</a></p><p>新手可以先查看所用软件是否支持接入目标应用。已有连接器或 MCP 接入功能时，按软件要求登录授权、填写 API Key 或配置连接地址；没有现成支持时，可能需要另外配置或开发对接。API Key 是访问凭证，是否需要它取决于服务的授权方式。<a href=\"https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization\" target=\"_blank\" rel=\"noopener noreferrer\">授权方式</a></p><p>接下来是<strong>知识</strong>。Agent 会写客服回复，不代表它知道这家商店的现行规则。规则、订单、工作方法和处理经验，可以通过以下方式交给它。各自适合解决的问题不同，也可以配合使用。</p><p><strong>微调</strong>：当你要长期、反复完成同一类工作，已经明确什么结果算好，却发现普通提示词仍难以稳定达到要求时，可以考虑微调。它通过训练，让模型学习案例中的处理方式。需要可靠的训练案例和检查标准，还要投入数据整理、训练和评测的工作，新手通常不必从这里开始。如果工作方法还没确定，先通过实际任务摸清要求。</p><p><strong>Skills</strong>：当你反复处理同一类工作，已经有明确的方法，又希望减少重复交代步骤和规则时，可以使用 Skills。它把工作方法和参考资料整理成技能包，也可以配上辅助程序，供 Agent 按需使用。需要所用软件支持加载技能。<a href=\"https://agentskills.io/home\" target=\"_blank\" rel=\"noopener noreferrer\">Skills 说明</a></p><p><strong>RAG</strong>：当资料较多，需要反复查找，或者内容经常更新时，可以使用 RAG，也就是检索增强生成。它先从资料中检索与当前问题相关的内容，再交给模型生成回答。例如，产品手册更新后，可以更新资料库，让 Agent 查找当前问题涉及的章节。需要准备可靠资料、接好检索功能，并检查能否找到所需依据。<a href=\"https://developers.openai.com/api/docs/guides/retrieval\" target=\"_blank\" rel=\"noopener noreferrer\">检索与使用检索结果</a></p><p><strong>项目文档</strong>：当一项工作需要持续推进时，可以用项目文档记录目标、已完成内容、待办事项和已确认的决定，让 Agent 知道从哪里继续。需要让它读取当前版本，并随进展更新文档。</p><p><strong>直接提供材料</strong>：当任务所需材料可以直接提供时，可以粘贴文字或上传文件，交给 AI 用于当前任务，新手通常可以先采用这种方式。需要说明材料的用途，并确认系统能读取所需内容；文件格式、解析能力和单次可处理的内容量，都会影响它实际能读到什么。</p><p><strong>长期记忆</strong>：当你需要跨对话保留已经确认的偏好、背景或决定时，可以使用长期记忆。它保存以后需要复用的信息，在后续任务中调用。需要系统支持保存和调用，也要能修正或删除错误、过时的记录。</p>"
    },
    {
      "id": "course-agent-topic-4",
      "title": "4. 适用条件、自主性和权限的基本逻辑",
      "url": "https://ai-knowledge-map.com/software/agents-automation/agent-foundations/#course-agent-topic-4",
      "html": "<p>所以，什么时候值得用 Agent？可以先看<strong>你希望它接手哪些来回操作和判断</strong>。如果你一直在复制材料、替它选下一步、把答案搬进其他软件，就可以考虑让具备相应工具的 Agent 接手其中一些工作。它有没有价值，要看你省下了什么，而不是看它跑了多少步。</p><p>例如，下面三个需求，适合的做法就不同：</p><table class=\"d-table\"><thead><tr><th>你想完成的工作</th><th>可以怎样开始</th><th></th></tr></thead><tbody><tr><td>邮件翻译</td><td>调用翻译工具自动翻译</td><td></td></tr><tr><td>每小时从不同邮箱中调取新邮件并自动翻译</td><td>用简单工作流或代码就够</td><td></td></tr><tr><td>总结文件内容并分类邮件</td><td>让 Agent 根据查到的内容和分类规则进行分类</td><td></td></tr></tbody></table><p>这些做法可以组合。比如，每周报告的计算步骤固定，遇到异常数字时再让 Agent 调查原因。先安排好已知步骤，再把确实需要判断的部分交给它往往更好。</p><p>事实上，并不是使用了智能体，该项目就更高端，更稳定。也不是多agent系统一定强于单agent系统。模型本身就具备不确定性，不适合需要百分百正确的固定流程，而多agent系统又会出现浪费token在传递信息上等问题。对于合适的任务选择是否使用agent和搭建系统才是优秀的ai使用者该做的。</p><p>那么Agent的自主程度该如何判断？关键在于指出需要你决定的事情。比如调查资料，可以允许它自行选择搜索词、补充来源和调整查找顺序；让它制作演示稿，可以允许它调整布局，但需要保留你确认过的结论；让它整理电脑文件，分类方法可以先提出方案，删除哪些文件则由你决定。<br>只说“有问题先问我”，它可能连标题用什么颜色都停下来问。只说“全部自行决定”，它又可能把你想保留的文件删掉。对自主性的安排无疑是Agent设置的重点。</p><p><strong>权限则是软件实际上允许它做什么。</strong> 你可以在任务里要求“只看文件”，但如果工具同时允许删除，它仍然具备删除能力。因此，交代任务之外，还要检查连接工具时授予了哪些操作能力。值得注意的是，当Agent拥有较高的权限，尤其是可以自主判断任务完成得条件时，可能会在奖励黑客得作用下擅自歪曲完成条件。而让它“自我判断”任务得完成情况也有可能会出错。</p>"
    }
  ]
}
