每个人都在谈论 AI Agent。但如果你问大多数人 Agent 到底是什么,你得到的回答通常是模糊的“能自主做事的人工智能”。
真实情况比这更有用。Agent 不是一个类别,而是一个光谱。
本指南将说明不同 AI 工具在这个光谱上的位置,区分基本的 LLM 交互与真正的 Agent 工作流,并教你如何用 Claude Code 构建自己的 Agent,再连接到 Telegram,整个过程无需你自己编写代码。
开始之前,先在 X 上关注我,并加入我刚创建的 Telegram 频道,我每天都会在那里分享更多 AI 内容。两者都是免费的。
X - https://x.com/AnatoliKopadze
Telegram - https://t.me/kopadzemp
什么让一个东西成为 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——从这里开始
你将使用 Claude Code 构建一个 Telegram Bot,它运行在远程服务器上,并以 Claude 作为其大脑。Claude Code 会为你编写所有代码,你只需用纯中文描述你想要什么。设置完成后,所有与 Bot 的通信都直接通过 Telegram 进行。
整个设置大约需要 10-20 分钟。你不需要懂编程。
系统提示模板——粘贴到提示 2 中
当你运行下方设置中的提示 2 时,你需要描述你想要哪种类型的 Agent。以下是现成的模板,复制适合你的一个,粘贴到提示 2 中“Agent 应该是:”的位置,Claude Code 就会构建那个特定的 Agent。根据你的情况调整任何细节。
研究 Agent
1你是一个研究 Agent。你的工作是收集、分析和综合我给你的任何主题的信息。23当接到研究任务时:41. 找出 3-5 个最重要的子问题来回答52. 搜索每个子问题的信息63. 评估每个来源的质量和相关性74. 只提取直接回答问题的事实85. 交付一个结构化的摘要,包括:关键发现、支持证据,以及你无法填补的空白910格式:使用标题、要点和清晰的部分。11如果你不确定某个事情,要明确说出来。12不要添加废话。每个句子都应该包含信息。
写作 Agent
1你是一个写作 Agent。你以我的声音和风格写内容。23我的风格:4- 对话式、直接、没有官方语言5- 短句和短段落6- 具体的数字和例子,而不是模糊的说法7- 总是以读者应该做或思考的事情结尾89当接到写作任务时:101. 如果没有提供主题、受众和期望长度,请询问112. 写第一稿123. 根据我的风格规则进行审查134. 交付可供发布的最终版本1415永远不要添加不必要的介绍。从最重要的点开始。
代码 Agent
1你是一个代码 Agent。你的工作是编写、调试和改进代码。23当接到编码任务时:41. 确认你对代码应做什么的理解52. 用清晰的注释编写解决方案63. 识别任何边界情况或潜在故障74. 如果有错误,在寻求帮助之前系统地进行调试89规则:10- 编写干净、可读的代码,变量名要有意义11- 始终包含错误处理12- 用简单的语言解释每个主要部分的作用13- 如果不确定需求,在继续之前问一个澄清性问题
业务邮件 Agent
1你是一个业务邮件 Agent。你代表我撰写专业的邮件。23我的沟通风格:4- 直接且尊重5- 没有不必要的礼节6- 在第一个句子中直奔主题7- 以明确的下一步行动结束89当接到邮件任务时:101. 确定邮件的目标(告知、请求、跟进、确认)112. 写出反映邮件目的的标题123. 用最多 3-5 个短段落起草邮件134. 以一个明确的行动项或下一步结束1415要写可以随时发送的邮件,而不是带有待填空白的模板。
个人规划 Agent
1你是我的个人规划 Agent。你帮我组织工作、优先处理任务和计划每周安排。23当我分享我的任务或目标时:41. 区分紧急和重要的事项52. 根据依赖关系建议一个合理的顺序63. 估计每项任务所需的时间74. 标记任何可以委派或删除的事项89当我描述一个项目时:10- 将其分解为具体的下一步行动11- 确定首先要做的最重要的一件事12- 创建一个我可以遵循的简单清单1314保持一切实用。不要有激励性的废话。只要计划。
开始前你需要什么
1 - 来自 console.anthropic.com 的 Claude API 密钥。这是一个开发者密钥,按使用量付费,而不是固定月费。对于一个每天发送 50 条消息的个人 Bot,根据你选择的模型,每月的成本是 1-5 美元。
2 - 来自 BotFather 的 Telegram Bot 令牌。
3 - 一台运行 Linux 的 VPS。对于个人 Telegram Bot,你不需要强大的配置——1 个 CPU、1GB 内存和 20GB 存储空间就足够了。任何来自 DigitalOcean、Hetzner 或 Vultr 的基础套餐都可以,每月花费约 4 到 6 美元。拿到服务器后,在终端中运行 npm i -g @anthropic-ai/claude-code 来安装 Claude Code。
你的 Bot 使用哪个 Claude 模型以及实际成本是多少:

对于大多数个人 Bot,Sonnet 4.6 是正确的选择,它足够强大以应对任何任务,并且日常使用成本可负担。如果你想最小化成本,使用 Haiku 4.5。Opus 4.8 只适用于答案质量至关重要的复杂分析型 Agent。
构建你的第一个 Agent——步骤 1
打开你的 VPS 终端并启动 Claude Code。粘贴以下提示,让它构建所有内容。
给 Agent 一个个性
1为我构建一个使用 Claude API 作为大脑的 Telegram Bot。23要求:4- 语言:Python5- Telegram 库:python-telegram-bot6- Claude 模型:claude-sonnet-4-67- Bot 接收消息,发送给 Claude API,并将 Claude 的回复返回给 Telegram8- 维护每个用户的对话历史——每个用户在会话内都有自己的上下文9- 添加一个 /start 命令来介绍 Bot10- 添加一个 /clear 命令来重置该用户的对话历史1112创建所有必要的文件:主 Bot 文件、requirements.txt 和一个用于 API 密钥的 .env 文件模板。13不要硬编码任何 API 密钥——从环境变量中读取它们。
部署为后台服务
1创建一个 systemd 服务文件,使这个 Bot 在我的 Linux VPS 上自动运行,并在崩溃时自动重启。23该服务应:4- 在服务器启动时自动启动5- 在崩溃时自动重启6- 从项目文件夹中的 .env 文件加载环境变量7- 将日志保存到我以后可以检查的文件中89还要写给我确切的终端命令来安装服务、启动它、检查它是否在运行以及查看日志。
在会话之间添加持久化记忆
1Bot 在重启时会丢失对话历史。修复这个问题。23在每条消息后将每个用户的对话历史保存到磁盘上的一个 JSON 文件中。当 Bot 启动时自动将其加载回来。45增加一个最大历史长度——每个用户只保留最近 20 条消息,这样上下文窗口就不会太长。
为你的 Claude Code Bot 添加技能
技能是你随时间添加到 Bot 中的能力。每一个都是你给 Claude Code 的新提示,它会编写代码使其工作。以下是最有用的几个。
技能:网络搜索
你的 Agent 可以查找实时信息,而不仅仅依靠记忆来回答。
1使用 Tavily API 为 Bot 添加网络搜索能力。23当用户询问需要当前信息的事情(如新闻、价格、近期事件)时,Bot 自动搜索网络并将结果包含在回复中。45Bot 应自行决定何时搜索以及何时凭记忆回答。在 .env 文件模板中添加 TAVILY_API_KEY。67使用 Claude 的工具调用功能来干净地实现这一点。
技能:保存笔记
你的 Agent 可以将你告诉它的任何内容(想法、任务、研究发现)保存到文件中,并在以后检索它们。
1为 Bot 添加一个笔记保存功能。23当用户说“保存这个”、“记住这个”或“笔记:”时,Bot 将内容及时间戳保存到 notes.txt 文件中。45添加一个 /notes 命令来返回最后 10 条保存的笔记。6添加一个 /clearnotes 命令来删除所有保存的笔记。
技能:限制仅你的账户使用
默认情况下,任何找到你 Bot 的人都可以使用它并消耗你的 API 额度。这个技能将其锁定为仅供你使用。
1为 Bot 添加用户限制,使其只能由我使用。23将我的 Telegram 用户 ID 作为 ALLOWED_USER_ID 添加到 .env 文件中。4如果其他任何人给 Bot 发消息,它将回复“此 Bot 是私有的。”并忽略来自该用户的所有后续消息。56同时添加我如何找到自己的 Telegram 用户 ID——要么通过 Bot 本身,要么通过其他方法。
技能:追踪 API 成本
Claude API 按 token 收费。这个技能添加一个简单的成本追踪器,让你始终知道自己在花费多少。
1为 Bot 添加基本的成本追踪功能。23每次 Claude API 响应后,记录使用的输入 token 数量和输出 token 数量。4在 costs.json 文件中保存一个累计总数。56添加一个 /costs 命令来显示:今天使用的总 token 数、所有时间使用的总 token 数,以及基于 claude-sonnet-4-6 定价估算的美元成本。
技能:定时每日简报
Agent 每天早上无需你询问就给你发送一条消息。
1为 Bot 添加一个定时每日简报功能。23每天早上 8:00,Bot 向我发送一条消息,包含:41. 一句激励性的话(简短,不矫情)52. 提醒我检查今天最重要的优先事项63. 一条关于生产力或 AI 的随机有用事实78发送到 .env 文件中的我的 Telegram 用户 ID。9使用 schedule 或 APScheduler 库来实现这一点。
设置完成后的一些有用信息
如何更新 Agent 的个性。打开主 Bot 文件,找到顶部的系统提示变量,更改它,保存文件,然后使用 sudo systemctl restart your-bot-name 重启服务。新的个性会立即生效。
如何检查 Bot 是否在运行。在终端中运行 sudo systemctl status your-bot-name。如果显示“active (running)”,则它在工作。如果显示“failed”,检查日志。
如何读取日志。运行 journalctl -u your-bot-name -n 50 来查看最后 50 行。这是你找到错误信息的地方(如果有东西坏了)。
如何添加新技能。在你的项目文件夹中打开 Claude Code 并描述你想要什么:“为 Bot 添加 X 功能。”Claude Code 会读取你现有的代码,干净地添加新功能,并告诉你是需要重启。
每个 Agent 都会遇到的记忆问题
这是人们遇到的最常见问题。Agent 在会话之间、在长时间任务中、在收到过多消息后会丢失上下文,并开始犯错误或重复已经完成的工作。
这有三种发生方式:
- 长时间任务最终会超出 Claude 的上下文限制,Agent 开始丢失对话的开头部分:原始目标、已经做出的决定、你设定的约束。
- 当你关闭一个会话并打开一个新会话时,Agent 从零开始。
- 如果 Agent 在任务中途被中断,它无法知道自己停在了哪里。
有四件事可以解决这个问题:
- 告诉 Agent 在每个主要步骤之后写一条进度记录:完成了什么、决定了什么、还需要做什么。在下次会话开始时粘贴该记录以恢复完整上下文。
- 每十到十五条消息,要求 Agent 总结一下它的状态。这迫使它在上下文溢出之前进行压缩。
- 在对话变得太长之前,要求 Agent 将一切压缩成一个简短摘要,然后从那里继续。对话线索得以保留。
- 直接在你的 Bot 代码的系统提示中添加 Agent 始终需要的关键事实。Claude 在每次对话开始时都会读取这个,因此无论对话多长,这些信息始终在上下文中。
检查点提示
1在继续之前,写一个简短的检查点:21. 到目前为止你完成了什么?32. 本次会话中的关键决定或发现是什么?43. 还有哪些需要做?54. 在新会话中继续此任务需要哪些上下文?67保持在 200 字以内。
记忆文件提示
1完成每个主要步骤后,按以下格式写一条记忆记录:23步骤完成: [做了什么]4关键决定: [做出的选择及原因]5当前状态: [任务现在处于什么状态]6下一步: [下一步应该发生什么]78这条记录将用于在新会话中恢复任务,而不会丢失上下文。
上下文恢复提示
1我们正在从之前的会话中恢复一个任务。以下是上下文:23[在此粘贴你的记忆记录]45基于此:61. 确认你对我们所处的阶段的理解72. 确定下一步83. 提出继续所需解决的问题910不要重复已经完成的工作。
滚动摘要提示
1对话正在变长。将所有重要信息压缩成一个摘要:231. 原始目标42. 已经做了什么以及发现了什么53. 做出的关键决定64. 还需要发生什么78写摘要后,从那里继续。将此摘要视为新的起点。
你现在知道了 Agent 是什么、它们能做什么以及如何自己构建一个。希望对你有帮助。
如果你想随时了解 AI 领域的一切动态,请在 X 和 Telegram 上关注我。
X - https://x.com/AnatoliKopadze
Telegram - https://t.me/kopadzemp





