# 我今天想构建一个人工智能代理(完整课程):
**作者**: hoeem
**日期**: 2023-03-26T14:56:10.000Z
**来源**: [https://x.com/hooeem/status/2037250422403113188](https://x.com/hooeem/status/2037250422403113188)
---

目前还没有人制作出一套完整的课程,让任何人(没错,就是你)都能从零开始创建一个人工智能代理。
如果你愿意,你可以阅读这篇文章,创建一个对你今天有用的代理,因为为了创建代理而创建代理毫无意义,它必须要有理由。
那我做了什么?
我从 Anthropic、OpenAI 和其他互联网专家那里收集了一些零散的有用信息,我把它们全部整理出来,和我的朋友 Claude 一起,为像我这样的外行创建了一个完整的课程,以便我们(你和我)今天就可以创建一个智能体。
这是一篇很长的文章,读完之后,你将能够创建你的第一个代理。为了帮助你浏览这篇文章,文章中大写加粗的是小标题,总共有 8 个,每个小标题都配有一张图片,方便你跳转到想要阅读的部分:
代理人如何工作
五种工作流程
打造你的代理
利用工具
赋予你的代理人记忆
让你的经纪人发挥作用
多代理
总结起来
好了,咱们直接进入正题吧……
## 1:代理人如何工作

了解这些很重要,否则你就不知道自己是否需要它……所以……
这是所有代理共享的核心循环:
用户输入 → LLM 思考 → LLM 决策(响应或调用工具) → 如果调用工具:执行工具,反馈结果 → 重复
模型(LLM)是负责推理的 “大脑” 工具是执行操作的“双手”(例如计算器、网络搜索、文件 I/O)。 内存
增强型 LLM
普通的 LLM 接收并输出文本。 增强型 LLM 增加了以下三个功能:
- 工具: 模型可以调用的函数(计算器、数据库、API、文件操作等)。Anthropic 和 OpenAI 通过 JSON 模式公开工具;Anthropic 传递 `input_schema`,而 OpenAI 将函数封装在带有参数的函数对象中。
- 检索: 从外部来源(搜索引擎、文档、矢量数据库)提取相关信息的能力。
- 记忆力: 能够通过消息历史记录或其他持久存储方式在交互过程中保留信息。
工作流与真正的代理
在选择方法时, 工作流和代理之间的区别至关重要。工作流是确定性的;你的代码控制执行,相同的输入总是产生相同的路径。它们非常适合步骤固定、定义明确的任务,而且成本更低(LLM 调用次数更少)。代理是动态的;LLM 决定下一步,并且可能会重复调用工具。它们最适合开放式任务,但成本更高。要确定是否需要创建代理,你应该先使用一个简单的工作流,然后观察它是否能够发展成为一个自主代理。
## 2:五种核心工作流程模式

信不信由你,大多数问题其实无需完全自主即可解决。Anthropic 记录并广泛采用的这五种模式涵盖了常见情况。每种模式都依赖于增强型逻辑逻辑模型 (LLM)。
> 模式 1:提示链
其原理: 将任务分解为一系列顺序步骤。每次 LLM 调用都会处理前一次调用的输出。在步骤之间添加程序化的“门”来验证质量。
何时使用: 能够清晰分解为固定子任务的任务。通过简化每次 LLM 调用,可以牺牲速度来换取准确性。
使用示例: 先撰写营销文案,然后进行翻译。先编写大纲,确认涵盖关键主题,然后再撰写完整文档。
> 模式 2:路由
功能: 对传入的输入进行分类,然后将其路由到专门的处理程序。每个处理程序都有其自身优化的提示符。
何时使用: 不同类别的输入需要截然不同的处理方式。客户服务分诊就是一个典型的例子。
> 模式 3:并行化
其原理: 同时运行多个 LLM 调用。处理将任务拆分为多个独立的子任务,并行处理。投票处理则多次运行同一任务,并将结果汇总以提高置信度。
何时使用: 当子任务相互独立时(分段)或当需要对关键决策达成共识时(投票)。
> 模式 4:协调者-工作者
其工作原理: 中央 LLM(协调器)动态地分解任务,并将子任务委派给各个工作 LLM。与并行化不同,子任务并非预先定义,而是由协调器在运行时决定。
何时使用: 无法预先预测结构的复杂任务。例如跨多个文件生成代码、研究任务和报告撰写。
> 模式 5:评估器-优化器
工作原理: 一个逻辑层模型(LLM)生成输出,另一个 LLM 对其进行评估并提供反馈。如果评估失败,反馈将循环返回。此过程重复进行,直至满足质量标准。
何时使用: 当存在明确的评估标准且迭代改进能够带来可衡量的价值时。例如翻译、代码生成和写作任务。
## 3:打造你的经纪人

这就是你们想看的部分……让我们开始吧:
那么,如何将“我希望代理人做 XYZ”变成现实呢?
最简单的理解方式是这样的:
写下这份工作
确定需要哪些工具
告诉模型如何表现
用 5 个真实案例进行测试
只有在失败的情况下才增加复杂性。
你不需要精通五种框架才能构建你的第一个代理。对我来说,对你来说,最好的起点是:
- 如果你想要一个像能干的操作员一样使用工具、文件、shell 命令、Web 操作和强大编码工作流程的代理,
- 如果您想要一个简洁的开发者 SDK,其中包含托管工具、交接流程、安全保障以及简单的生产部署路径,那么
本指南主要侧重于这两方面。
最简单的心智模型
构建代理时,请先回答以下四个问题:
1. 结果是什么?
代理人实际应该生产什么?
例如:
- “研究一个主题并写一篇摘要”
- “阅读我的笔记,并将它们制作成单词卡片。”
- “查看支持请求并正确路由”
- “比较产品,给我最佳选择”
- “请审阅我的内容,并用我的风格重写。”
2. 它需要哪些信息?
它需要网络搜索、文件、数据库、电子表格、客户关系管理系统,还是仅仅需要用户的消息?
3. 应该允许它采取哪些行动?
它只能回答吗?
它可以搜索吗?
它可以编辑文件吗?
它可以发送电子邮件吗?
它会编写代码吗?
它可以调用你自己的函数吗?
4. 它必须遵守哪些规则?
语气、格式、限制、安全规则、不确定时该怎么办,以及“好”的标准是什么。
如果你能清楚地回答这四个问题,通常一天之内就能构建出代理的第一个版本。
> 我们稍后会介绍一个快速技巧:你可以把你的想法交给你的 LLM(逻辑推理模型),让它深入思考,让它为你回答以上所有问题。
如何在构建智能体之前利用人工智能本身来设计智能体
在编写代码之前使用 Claude 或 ChatGPT
粘贴类似这样的内容:
这一个简单的提示就能帮助初学者将模糊的想法变成可行的计划。
一个适合初学者的代理设计公式
每次都使用这种结构:
代理 = 角色 + 目标 + 工具 + 规则 + 输出格式
例子:
- 职位: 加密货币项目研究助理
- 目标: 找到准确的信息并清晰地概括出来。
- 工具: 网页搜索、文件搜索、计算器
- 规则: 引用来源,不要猜测,标明不确定性。
- 输出格式: 摘要、风险、机遇、最终结论
这是大多数实用智能体的基础。
先从以下五种初级代理类型之一开始:
如果你是新手,不要一开始就构建多智能体集群。先从以下几种方案之一开始:
1. 研究代理
当您希望代理人收集信息并进行总结时,请使用此功能。
例如:
- “研究一下踝关节扭伤的最佳康复锻炼方法”
- “查找加密协议的最新动态”
- “比较三款笔记本电脑”
需求:
- 网络搜索
- 如果您希望使用自己的文档进行文件搜索,请联系我们。
- 清晰的输出格式
2. 内容代理
当您希望代理人撰写、重写、总结或转换内容时,请使用此功能。
例如:
- “把我的笔记整理成一份简报”
- “用我的品牌语气重写一遍”
- “总结本次会议记录”
需求:
- 通常只是一个强烈的系统提示
- 可选文件访问
- 您喜欢的风格示例
3. 工作流代理
当您希望代理人遵循可重复的业务流程时,请使用此方法。
例如:
- “对支持工单进行分类”
- “路径指向正确的类别”
- “检查表单提交内容并创建回复草稿”
需求:
- 清晰的类别
- 规则
- 有时需要自定义工具或 API 调用
4. 个人知识代理
当您希望代理人使用您的文件回答问题时,请使用此功能。
例如:
- “请仅使用我的 PDF 文件作答”
- “查找我的笔记并解释这个主题”
- “查找所有与此客户相关的记录”
需求:
- 文件搜索或 RAG
- 明确指示,要牢记所提供的材料。
5. 操作员代理
当您希望代理在特定环境中执行操作时,请使用此功能。
例如:
- “阅读并编辑这些文件”
- “搜索网络,收集信息,并保存报告”
- “运行 shell 命令并帮我调试代码”
需求:
- 工具
- 权限
- 强大的安全边界
人格化:构建你的第一个代理的最简单方法
当您希望模型使用工具并在特定环境中运行时,。Claude Code 于 2025 年 2 月发布,Claude Code SDK 随后于 2025 年 9 月更名为 Claude Agent SDK。截至 2026 年 3 月,GitHub 上列出的当前版本为 v0.1.50。
何时选择 Anthropic 是个不错的选择
如果您想要一位能够做到以下几点的经纪人,请首先选择 Anthropic:
- 读取、写入和编辑文件
- 使用 shell 命令
- 搜索网络
- 使用 MCP 工具
- 非常适合编码和技术任务
- 感觉自己像个能干的助手,一步一步地指导操作。
你到底在用人畜共患病做什么?
初学者主要做三件事:
给克劳德一份工作
给克劳德工具
让 Claude 循环执行任务直到完成。
就这些。
入门示例:研究和摘要代理
假设你想要:
> “一位能够研究某个课题并给我写出一份条理清晰的报告的代理人。”
您的建造计划如下:
- 职位: 高级研究助理
- 目标: 找到准确的信息并清晰地概括出来。
- 工具: 网络搜索,或许还需要文件访问
- 规则: 引用来源,如有疑问请说明,保持简洁。
- 输出: 要点总结 + 主要风险 + 结论
这将成为你的系统提示符:
现在用户可以问:
- “研究最新的 AI 代理 SDK”
- “比较 Anthropic 和 OpenAI 在构建入门级智能体方面的性能”
- “找到三个可靠的信息来源并进行概括”
那已经是一个真正的经纪人了。
入门示例:基于文件的写作代理
或许你想:
> “请阅读我的笔记,并用我的语言将其改写成一篇流畅的文章。”
那么你的设计就变成了:
- 职位: 写作助理
- 目标: 将草稿笔记转化为润色好的文字
- 工具: 文件读取,可能还有文件写入
- 规则: 保持原意,提高清晰度,语气一致
- 输出: 最终文章 + 可选标题创意
这比构建一个模糊的“内容代理”要容易得多。
在构建人类智能体之前,你应该向人工智能提出哪些问题:
利用你的 LLM(语言学习模型)来帮助你定义构建:
这条提示通常能帮你完成 80% 的工作。
OpenAI:构建你的第一个智能体的最简单方法。
OpenAI 于 2025 年 3 月 11 日发布了其 Agents SDK,同时发布的还有 Responses API 以及用于网页搜索、文件搜索和计算机使用的内置工具。Python 包 openai-agents 在 2026 年 3 月的版本为 0.13.1。
何时选择 OpenAI?
如果想要选择 OpenAI,请优先考虑:
- 非常简洁的代理 API
- 简易自定义功能工具
- 内置托管工具
- 专业特工之间的交接
- 护栏和追踪
- 从原型到生产的顺利路径
你用 OpenAI 到底在做什么?
对于初学者来说,构建过程如下:
创建代理
给它下指令
如有需要,
使用真实用户请求运行它
就是这样。
入门示例:支持分诊代理
假设你的目标是:
> “阅读收到的支持请求,并判断它们是账单问题、技术问题还是销售问题。”
这就变成了:
- 角色: 支持分诊助理
- 目标: 正确分类请求。
- 工具: 无,以后可能会用到客户关系管理工具。
- 规则: 只能选择一个类别,并简要说明。
- 输出: 类别 + 原因
效果大概是这样的:
这已经是一个很有用的代理了。
初学者示例:添加自定义工具
现在假设你想要:
> “根据需要为用户计算数值。”
现在,这个智能体不再只是聊天,它还会通过工具采取行动。
初学者示例:使用托管工具
OpenAI Agents SDK 还通过 SDK 文档中的辅助函数支持托管工具,例如网页搜索、文件搜索和代码解释器。初学者可以把这些视为“预构建功能”,只需将它们附加到 Agent 上,而无需从头开始编写所有代码。
这意味着您可以构建如下类型的代理:
- “请从网上查找有关此主题的信息并进行总结。”
- “搜索我的文件并从中回答”
- “运行代码分析这些数据”
在构建 OpenAI 智能体之前,你应该向你的法学硕士 (LLM) 咨询哪些问题:
如何自定义代理,使其真正按照您的意愿运行
这是初学者常犯的错误。他们构建的是通用助手,而不是特定的代理。
请使用这份清单。
1. 缩小工作范围
坏的:
- “帮忙处理一些商业事务”
好的:
- 将销售电话总结为行动要点
- “分类结果分为热、暖、冷”
- “研究加密货币项目,并分析其风险、催化剂和最终结论”
2. 定义输出格式
坏的:
- “给我一个答案”
好的:
- “回报:总结、证据、风险、后续步骤”
- 返回包含类别、置信度和解释的 JSON 数据
- “返回一个包含 5 个标题的列表”
3. 举例说明
如果你想了解语气、结构或分类质量,例子会很有帮助。
告诉模特:
- 以下是三个优秀成果的例子
- 以下是请求分类的 5 个示例
- “请按照这种风格写作”
4. 仅在需要时添加工具
如果任务只是重写笔记,则无需添加网络搜索。
如果仅凭提示就能得出答案,则无需添加文件访问权限。
每增加一个工具,就会增加复杂性。
5. 使用真实提示进行测试,而不是理想化的提示。
使用类似真实用户输入的混乱提示。
而不仅仅是测试:
- 请将此技术问题分类。
另请测试:
- “我的账户出了问题,但还是不断被扣款,怎么办?”
在那里你就能了解到你的经纪人实际是做什么的。
这是你的构建路径:
第一步: 用一句话描述代理人
步骤二: 请 Claude 或 ChatGPT 将其转换为:
- 代理人规格
- 系统提示
- 工具清单
- 10 个测试题
步骤 3: 构建最小工作版本
第四步: 用 10 个真实案例进行测试
第五步: 一次只改进一件事
- 迅速的
- 输出结构
- 示例
- 工具
- 记忆
- 检索
顺序很重要。别太纠结于此。
避免犯这个错误:
最大的错误是试图打造一个“万能超级代理”。
不要以以下内容开头:
- 网络搜索
- 文件搜索
- 数据库访问
- 记忆
- 多智能体交接
- 复杂的护栏
- 自定义仪表盘
- 20 种工具
首先:
- 一份工作
- 一名代理人
- 一个清晰的提示
- 最多一两件工具
- 五到十个真实测试案例
你成功的关键在于不要把事情想得太复杂。
实用建议:
您现在已完成第三部分,本部分将教您如何构建您的第一个代理,在本部分结束时,您应该能够说:
- 我知道我的经纪人是做什么的。
- 我知道它需要哪些工具。
- 我知道它应该遵循哪些规则。
- 我知道输出结果应该是什么样子。
- 我知道应该从 Anthropico 还是 OpenAI 入手。
- 我知道如何利用人工智能来帮助我设计第一个版本。
## 4:工具的使用

大多数人都会犯这个错误。
他们认为:
> “工具越多,代理越智能”
错误的。
更好的工具 = 更智能的代理。
工具越少,代理越可靠。
思考工具的最简单方法
工具就是:
> “人工智能无法独立完成的事情”
例如:
- 计算数字
- 搜索网络
- 请阅读您的文件
- 发送电子邮件
- 查询数据库
第一步:问问自己:“这需要工具吗?”
添加任何内容之前,请先询问:
- 该模型能否仅通过推理来回答这个问题?
- 或者它需要现实世界的数据或行动?
例子:
无需任何工具:
- “重写这封邮件”
- 请概括这段文字
- “解释一下这个概念”
所需工具:
- 现在天气怎么样?
- “搜索最新消息”
- “计算复利”
- “从我的电子表格中提取数据”
👉 规则:
> 如果需要外部数据或操作 → 使用工具
> 否则→不要添加
第二步:利用人工智能来辅助你的工具:
这将为你节省大量时间。
第三步:保持简单,笨蛋
糟糕的工具:
好用的工具:
👉 规则:
> 一个工具 = 一项明确的任务
第四步:告诉代理人何时使用该工具
这是大多数人失败的地方。
坏的:
> “计算器工具”
好的:
> “凡是需要进行数学运算的地方,都请使用这个工具。千万不要凭感觉计算。”
步骤五:让代理程序出现故障并进行修复。
进行实际测试,例如:
- “2^16 等于多少?”
- “计算未来十年7%的增长率”
如果:
- 未使用该工具 → 修复说明
- 使用不当 → 修复输入
- 出现幻觉 → 制定更严格的规则
你现在已经读到第四部分末尾了,你应该知道:
- 你不需要很多工具
- 你可以利用人工智能来设计它们。
- 更简单的工具 = 更优秀的代理人
- 工具说明书比工具本身更重要。
好了,我们继续……
## 5:给你的代理人记忆

人们把这件事想得太复杂了。
你只需要明白这一点:
> 内存有两种类型。
1. 短期记忆(对话)
这只是:
> “目前为止所说的”
您默认已经拥有此功能。
2. 长期记忆(外部知识)
这是:
> “经纪人之后可以查到的信息”
例如:
- 你的笔记
- PDF 文件
- 文件
- 数据库
你真正需要内存的时候是什么时候?
问:
- 代理是否需要跨消息记住信息?→ 是 → 短期
- 是否需要使用外部文档?→ 是 → 长期
- 否则→你可能不需要它
第一步:让人工智能帮助你决定你是否需要它
第二步:您有三种选择……
选项 A:无内存(从这里开始)
- 最适合大多数初学者。
- 适用于 70% 的使用场景
选项 B:对话记忆
- 大多数 SDK 已经处理过了。
- 千万不要重置消息
选项 C:基于文件的内存(简易 RAG)
- 上传文件
- 使用文件搜索工具
第三步:别做得太过火(过度)
大错:
- 添加向量数据库
- 嵌入
- 复杂的管道
甚至在你意识到自己是否需要它们之前
👉 规则:
> 如果你的代理程序无需内存即可运行 → 请勿添加内存。
好了,你已经读完第五部分了,现在你应该知道:
- 大多数智能体不需要复杂的记忆功能
- 从简单的开始
- 只有在出现故障时才添加内存。
## 6:让你的经纪人在现实生活中发挥作用

这就是为什么有些经纪人最终要么是废物,要么是留着山羊胡的那种,而很多经纪人之所以是废物,是因为:
- 糟糕的提示
- 无需测试
- 不切实际的期望
所以...
步骤 1:使用 AI 创建测试用例
步骤二:像真实用户一样进行测试
不要测试:
> 请对这份账单请求进行分类。
测试:
> “我为什么又被起诉了?”
步骤三:一次只解决一个问题
如果失败了,请问:
- 提示信息不清楚吗?
- 输出格式是否不够清晰?
- 是否缺少工具?
- 是否缺少规则?
步骤 4:使用 AI 调试您的代理
第五步:不要过早地陷入疯狂
请勿添加:
- 多代理
- 复杂的工作流程
- 自动化管道
直到:
- 你的简化版本运行稳定。
你已经读到第六部分末尾,现在你应该知道:
- 测试至关重要
- 人工智能可以帮助你调试自身。
- 在增加复杂性之前,先明确问题所在。
下一个...
## 7:多智能体

在这里很容易完全偏离轨道。
人们认为:
> “代理人越多,权力越大”
错误的。
先从一名代理人开始。
总是。
仅在以下情况下添加更多:
- 任务显然是分开的。
- 一名特工正面临困境。
- 角色截然不同
只有三种情况下需要多个代理人。
1. 不同技能
例子:
- 研究代理
- 写作代理
2. 清晰的管道
例子:
- 输入 → 分析 → 写入 → 输出
3. 不同的权限
例子:
- 一个代理可以读取数据
- 一个代理可以执行操作
第一步:利用人工智能判断是否需要多个代理。
最安全的模式:
主管模式:
用户 → 主代理 → (必要时呼叫其他代理)
不要以以下内容开头:
- 蜂群
- 完全自主的多智能体系统
它们很容易碎。
第二步:角色设定要简单明了。
坏的:
- “具有动态认知分层的 AI 策略代理”
好的:
- “研究代理人”
- “作家经纪人”
步骤 3:逐步添加代理
开始:
- 1个代理人
然后:
- 最多 2 个代理人
仅在以下情况下展开:
- 你看到了真正的好处
第七部分的主要内容是什么?
- 大多数人不需要多个代理人
- 单一特工 + 好工具 = 足够
- 仅在迫不得已的情况下才增加复杂性。
## 8:本文到此结束!
本指南最重要的见解是, 智能体的概念虽然简单,但实际操作起来却很复杂 。LLM 的核心循环是思考、调用工具、重复执行,整个过程可以用 50 行 Python 代码完成。真正的挑战在于工具设计、错误处理、性能评估,以及判断何时使用更简单的模式(例如提示链、路由)会比自主智能体更高效。
三个可立即付诸行动的要点:
首先从零开始构建代理 。理解底层循环能让每个框架都变得透明而非神秘。这样你就能更快地调试问题,并更明智地选择工具。
首先从最简单的有效模式入手。 提示链模式可以处理大多数多步骤任务。路由模式可以处理大多数先分类后执行的工作流程。只有当需要逻辑逻辑模型(LLM)动态决定执行路径时,才应升级到自主代理。
尽早投入工具设计和评估。 精心设计、名称清晰、描述准确、错误信息结构化的工具,比切换模型或框架更能提升代理的性能。此外,20 个高质量的测试用例比任何数量的手动测试都能发现更多 bug。
这个领域发展日新月异,MCP 在不到一年的时间内就成为了通用标准,两大供应商都发布了 Agent SDK,而且每月都有新的框架涌现。但本指南的基本原理却始终不变:代理循环、五种工作流模式、优秀工具设计的原则以及从简入手的理念。掌握这些,你就能适应未来的任何变化。
您现在可以创建代理。
最后……
顺便宣传一下我的电子报:
咱们开始做饭吧……
## 相关链接
- [hoeem](https://x.com/hooeem)
- [@hooeem](https://x.com/hooeem)
- [200万](https://x.com/hooeem/status/2037250422403113188/analytics)
- [Mar 26, 2023](https://x.com/hooeem/status/1640004722609225728)
- [2.2M](https://x.com/hooeem/status/1640004722609225728/analytics)
- [升级至高级版](https://x.com/i/premium_sign_up)
- [3:28 AM · Mar 27, 2026](https://x.com/hooeem/status/2037250422403113188)
- [2M Views](https://x.com/hooeem/status/2037250422403113188/analytics)
- [View quotes](https://x.com/hooeem/status/2037250422403113188/quotes)
---
*导出时间: 2026/3/28 22:21:41*