AI Agents:定义解析与构建指南

@ai_rohitt
英语2周前 · 2026年7月05日
1.0M
130
21
10
324

TL;DR

本指南全面解析了 AI Agents 的自主性范畴,并提供了一份零代码操作手册,教你如何结合 Claude Code 和 VPS 构建基于 Telegram 的 Agent。

每个人都在谈论 AI Agent。但如果你问大多数人 Agent 到底是什么,你得到的答案通常是模糊的“能自主做事的 AI”。

实际情况比这更有用。Agent 不是一个类别,而是一个光谱。

本指南将解释不同 AI 工具在这个光谱上的位置,区分基本的 LLM 交互与真正的 Agent 工作流,并教你如何用 Claude Code 构建自己的 Agent,并将其连接到 Telegram,而无需自己编写代码。

在开始之前,请关注我的 X。

X -

https://x.com/ai_rohitt

什么让一个东西成为 Agent

让 Claude 回答“我今天该发什么?”不是 Agent,那是聊天。

告诉 Claude“找出当前 AI 领域最热门的三个话题,选一个互动潜力最大的,用我的风格写一篇帖子,并保存到文件里”,然后它在你完全不插手的情况下完成所有步骤——这才是 Agent。

区别不在于模型,而在于围绕它的结构。

一个 Agent 拥有普通聊天所没有的三样东西:它可以自主调用的工具(搜索、文件系统、代码执行、外部 API);跨任务持久化的记忆(而不仅仅是在一次会话内);以及一个持续运行直到任务完成的循环(而不是生成一次回复就结束)。

你添加的这三样东西越多,你需要参与的程度就越低。这就是核心思想。

光谱:从聊天到 Agent

一端是基础聊天。你提问,Claude 回答,会话结束。没有工具,没有持续的目标,没有在现实世界中行动的能力。

再往上一步:启用了工具的 Claude。当 Claude 在回答前搜索网页、读取附件或生成图像时,它已经具备了一点 Agent 特性。你没有一步步告诉它去做这些事;它自己判断出需要这样做。

再往上:多步骤工作流。你给出一个目标,Claude 将其分解为步骤,执行每一步,检查结果,并交付最终输出。你在步骤之间无需参与。

最顶端:完全自主的 Agent。Agent 按计划运行,监控输入,调用外部服务,并在没有人类参与的情况下完成复杂任务。你只需设定一次目标,然后检查输出。

从底端到顶端的区别不是不同的模型,而是模型周围的东西:它可以调用的工具、承载上下文的记忆,以及持续运行直到任务完成的循环。

你今天可以构建的 Agent 类型

为了让你了解 Agent 在今天实际可以是什么样子,我在下面整理了一些例子。这些不是限制;你可以构建任何适合你具体情况的 Agent。

研究 Agent:收集某个主题的信息,阅读多个来源,提取关键内容,并交付结构化的摘要。你提出一个问题,它给你一个答案,而这个答案如果手动整理可能需要数小时。

写作 Agent:根据你定义的系统来撰写内容。给它你的语气、格式、受众和主题。它负责处理草稿、重写和编辑,无需你管理每一个句子。

代码 Agent:编写代码、运行代码、读取错误信息、修复错误并继续。你描述代码应该做什么。Agent 负责实现和调试循环。

业务 Agent:处理重复性的业务任务:起草邮件、处理客户请求、筛选潜在客户、生成报告。一旦你定义了规则,它就能自动运行。

个人 Agent:管理你的日程、组织任务、准备简报,并处理你每天手动完成的规划工作。

构建你的第一个 Agent - 从这里开始

你将使用 Claude Code 构建一个 Telegram 机器人,它运行在远程服务器上,并以 Claude 作为其大脑。Claude Code 会为你编写所有代码;你只需用简单的英语描述你想要什么。设置完成后,所有与机器人的通信都直接通过 Telegram 进行。

整个设置大约需要 10-20 分钟。你不需要懂编程。

系统提示模板 - 粘贴到提示 2 中

当你运行下面设置中的提示 2 时,你需要描述你想要什么样的 Agent。以下是现成的模板;复制适合你的那个,粘贴到提示 2 中“Agent 应该是:”的位置,然后 Claude Code 就会构建那个特定的 Agent。根据你的情况调整任何细节。

研究 Agent

text
1你是一个研究 Agent。你的工作是收集、分析和综合我给你的任何主题的信息。
2
3当接到研究任务时:
41. 确定需要回答的 3-5 个最重要的子问题
52. 搜索每个子问题的信息
63. 评估每个来源的质量和相关性
74. 只提取直接回答问题的内容
85. 交付结构化的摘要,包括:关键发现、支持证据以及你无法填补的空白
9
10格式:使用标题、项目符号和清晰的部分。
11如果你对某事不确定,请明确说明。
12不要添加填充内容。每个句子都应包含信息。

写作 Agent

text
1你是一个写作 Agent。你用我的声音和风格撰写内容。
2
3我的风格:
4- 对话式、直接、没有公司语言
5- 短句和短段落
6- 使用具体的数字和例子,而非模糊的声明
7- 总是以读者应该做或思考的事情结尾
8
9当接到写作任务时:
101. 如果没有提供,询问主题、受众和期望长度
112. 写一份初稿
123. 根据我的风格规则进行审查
134. 交付准备发布的最终版本
14
15不要添加不必要的介绍。从最重要的点开始。

代码 Agent

text
1你是一个代码 Agent。你的工作是编写、调试和改进代码。
2
3当接到编码任务时:
41. 确认你对代码应做什么的理解
52. 编写带有清晰注释的解决方案
63. 识别任何边界情况或潜在故障
74. 如果有错误,在寻求帮助之前系统地调试它们
8
9规则:
10- 编写干净、可读的代码,使用有意义的变量名
11- 始终包含错误处理
12- 用通俗的语言解释每个主要部分的作用
13- 如果你对需求不确定,在继续之前提出一个澄清性问题

商务邮件 Agent

text
1你是一个商务邮件 Agent。你代表我撰写专业的电子邮件。
2
3我的沟通风格:
4- 直接且尊重
5- 没有不必要的礼节
6- 在第一句话就切入正题
7- 以明确的下一步行动结束
8
9当接到邮件任务时:
101. 确定邮件的目标(通知、请求、跟进、确认)
112. 撰写反映邮件目的的标题
123. 将邮件草稿控制在最多 3-5 个短段落内
134. 以一个明确的行动项或下一步行动结束
14
15始终撰写可以直接发送的邮件,而不是带有空白待填的模板。

个人规划 Agent

text
1你是我的个人规划 Agent。你帮助我组织工作、确定任务优先级和规划我的一周。
2
3当我分享我的任务或目标时:
41. 识别哪些是紧急的 vs. 重要的
52. 根据依赖关系建议一个现实的执行顺序
63. 估算每项任务所需的时间
74. 标记任何可以委派或取消的任务
8
9当我描述一个项目时:
10- 将其分解为具体的下一步行动
11- 确定首先要做的最重要的一件事
12- 创建一个我可以遵循的简单清单
13
14保持一切实用。没有激励性的填充内容。只有计划。

开始前你需要什么

1 - 来自 console.anthropic.com 的 Claude API 密钥。这是一个开发者密钥;你按使用量付费,而不是固定的月费。对于一个每天发送 50 条消息的个人机器人,根据你选择的模型,每月成本为 1-5 美元。

2 - 来自 BotFather 的 Telegram 机器人令牌。

3 - 一台运行 Linux 的 VPS。对于个人 Telegram 机器人,你不需要强大的配置——1 个 CPU、1GB 内存和 20GB 存储空间就绰绰有余了。来自 DigitalOcean、Hetzner 或 Vultr 的任何基础套餐都可以,每月费用约为 4 到 6 美元。拿到服务器后,通过在终端中运行 npm i -g @anthropic-ai/claude-code 来安装 Claude Code。

你的机器人应该使用哪个 Claude 模型以及实际成本是多少:

Rohit - inline image

对于大多数个人机器人来说,Sonnet 4.6 是正确的选择,它足够强大以处理任何任务,并且日常使用成本低廉。如果你想最小化成本,请使用 Haiku 4.5。Opus 4.8 仅适用于答案质量至关重要的复杂分析型 Agent。

构建你的第一个 Agent - 步骤 1

打开你的 VPS 终端并启动 Claude Code。粘贴以下提示,让它构建一切。

给 Agent 一个个性

text
1为我构建一个使用 Claude API 作为大脑的 Telegram 机器人。
2
3要求:
4- 语言:Python
5- Telegram 库:python-telegram-bot
6- Claude 模型:claude-sonnet-4-6
7- 机器人接收消息,将其发送到 Claude API,并将 Claude 的响应返回给 Telegram
8- 维护每个用户的对话历史——每个用户在会话内拥有自己的上下文
9- 添加一个 /start 命令来介绍机器人
10- 添加一个 /clear 命令来重置该用户的对话历史
11
12创建所有必要的文件:主机器人文件、requirements.txt 和一个用于 API 密钥的 .env 文件模板。
13不要硬编码任何 API 密钥——从环境变量中读取它们。

部署为后台服务

text
1创建一个 systemd 服务文件,使此机器人在我的 Linux VPS 上自动运行,并在崩溃时自动重启。
2
3该服务应:
4- 在服务器启动时自动启动
5- 在崩溃时自动重启
6- 从项目文件夹中的 .env 文件加载环境变量
7- 将日志保存到我以后可以查看的文件中
8
9同时为我写出确切的终端命令,用于安装服务、启动服务、检查服务是否正在运行以及查看日志。

在会话之间添加持久化记忆

text
1机器人在重启后会丢失对话历史。修复这个问题。
2
3在每条消息之后,将每个用户的对话历史保存到磁盘上的一个 JSON 文件中。当机器人启动时,自动加载它。
4
5添加一个最大历史长度——每个用户只保留最近 20 条消息,这样上下文窗口就不会变得太长。

为你的 Claude Code 机器人添加技能

技能是你随时间添加到机器人中的能力。每一个都是你给 Claude Code 的新提示,它会编写代码使其工作。以下是最有用的几个。

技能:网页搜索

你的 Agent 可以查找实时信息,而不仅仅依赖记忆来回答。

text
1使用 Tavily API 为机器人添加网页搜索功能。
2
3当用户询问需要当前信息的问题时——新闻、价格、近期事件——机器人会自动搜索网页并将结果包含在其响应中。
4
5机器人应自行决定何时搜索以及何时凭记忆回答。将 TAVILY_API_KEY 添加到 .env 文件模板中。
6
7使用 Claude 的工具使用功能来干净地实现这一点。

技能:保存笔记

你的 Agent 可以将你告诉它的任何内容保存到文件中——想法、任务、研究发现——并在以后检索它们。

text
1为机器人添加笔记保存功能。
2
3当用户说“保存这个”、“记住这个”或“笔记:”时,机器人将内容连同时间戳保存到 notes.txt 文件中。
4
5添加一个 /notes 命令,返回最近保存的 10 条笔记。
6添加一个 /clearnotes 命令,删除所有已保存的笔记。

技能:仅限你的账户使用

默认情况下,任何找到你机器人的人都可以使用它并消耗你的 API 额度。此功能将其锁定为仅你可用。

text
1为机器人添加用户限制,使其只有我能使用。
2
3将我的 Telegram 用户 ID 作为 ALLOWED_USER_ID 添加到 .env 文件中。
4如果有其他人给机器人发消息,它回复“此机器人为私人使用。”并忽略该用户的所有后续消息。
5
6同时添加我如何找到自己的 Telegram 用户 ID 的方法——要么通过机器人本身,要么通过其他方法。

技能:追踪 API 成本

Claude API 按 token 收费。此功能添加一个简单的成本追踪器,让你随时了解自己的花费。

text
1为机器人添加基本的成本追踪功能。
2
3在每次 Claude API 响应后,记录使用的输入 token 和输出 token 数量。
4在 costs.json 文件中维护一个运行总计。
5
6添加一个 /costs 命令,显示:今天使用的总 token 数、所有时间使用的总 token 数,以及基于 claude-sonnet-4-6 定价的估计成本(美元)。

技能:定时每日简报

Agent 每天早上自动给你发送一条消息,无需你主动询问。

text
1为机器人添加定时每日简报功能。
2
3每天早上 8:00,机器人给我发送一条消息,内容包括:
41. 一句激励性的话(简短,不矫情)
52. 提醒我检查当天最重要的优先事项
63. 一个关于生产力或 AI 的随机有用事实
7
8发送到 .env 文件中的我的 Telegram 用户 ID。
9使用 schedule 或 APScheduler 库来实现此功能。

设置完成后需要了解的有用信息

如何更新你的 Agent 个性。打开主机器人文件,找到顶部的系统提示变量,修改它,保存文件,然后使用 sudo systemctl restart your-bot-name 重启服务。新的个性会立即生效。

如何检查机器人是否在运行。在终端中运行 sudo systemctl status your-bot-name。如果显示“active (running)”,则表示它在工作。如果显示“failed”,请检查日志。

如何读取日志。运行 journalctl -u your-bot-name -n 50 查看最近 50 行。如果出现问题,这里是查找错误信息的地方。

如何添加新技能。在你的项目文件夹中打开 Claude Code,描述你想要什么:“为机器人添加 X 功能。”Claude Code 会读取你现有的代码,干净地添加新功能,并告诉你是否需要重启。

每个 Agent 都会遇到的记忆问题

这是人们最常遇到的问题。Agent 会在会话之间、跨长任务、在过多消息之后丢失上下文,并开始犯错或重复已经完成的工作。

这种情况通过三种方式发生:

长时间的任务最终会超过 Claude 的上下文限制,Agent 开始丢失对话的开头部分:最初的目标、已经做出的决定、你设定的约束。

当你关闭一个会话并打开一个新会话时,Agent 从零开始。

如果 Agent 在任务中途被中断,它无法知道自己停在了哪里。

有四件事可以解决这个问题:告诉 Agent 在每个主要步骤之后写一条进度记录:完成了什么,决定了什么,还需要做什么。在下一次会话开始时粘贴这条记录,以恢复完整的上下文。

每十到十五条消息,要求 Agent 总结一下它当前的状态。这迫使它在上下文溢出之前进行压缩。

在对话变得过长之前,要求 Agent 将所有内容压缩成一个摘要,并从中断处继续。这样对话线程保持完整。

将你的 Agent 始终需要的关键事实直接添加到机器人代码的系统提示中。Claude 在每次对话开始时都会读取这个,因此无论事情进行多久,这些信息始终在上下文中。

检查点提示

text
1在我们继续之前,写一个简短的检查点:
21. 到目前为止你完成了什么?
32. 本次会话的关键决定或发现是什么?
43. 还需要做什么?
54. 要在一个新会话中继续此任务,你需要什么上下文?
6
7控制在 200 字以内。

记忆文件提示

text
1在完成每个主要步骤后,按以下格式写一条记忆记录:
2
3步骤完成:[做了什么]
4关键决定:[做出的选择及原因]
5当前状态:[任务现在处于什么阶段]
6下一步:[接下来应该做什么]
7
8此记录将用于在新会话中恢复任务,而不会丢失上下文。

上下文恢复提示

text
1我们正在从之前的会话中恢复一个任务。以下是上下文:
2
3[在此粘贴你的记忆记录]
4
5基于此:
61. 确认你对我们在哪里的理解
72. 确定下一步
83. 提出继续所需的任何问题
9
10不要重复已经完成的工作。

滚动摘要提示

text
1对话变长了。将所有重要内容压缩成一个摘要:
2
31. 最初的目标
42. 已完成的工作和发现
53. 做出的关键决定
64. 还需要做什么
7
8写完摘要后,从中断处继续。将此摘要视为新的起点。

你现在知道了 Agent 是什么、它们能做什么,以及如何自己构建一个。希望这对你有用。

如果你想了解 AI 领域的一切最新动态,请关注我的 X。

X - https://x.com/ai_rohitt

二次创作

使用 YouMind 创作爆款文章

收集素材、拆解爆点、生成视觉资产、撰写内容,并在一个 AI 工作空间里完成分发。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章