前言

从 2023 年 ChatGPT 爆发至今,大语言模型(Large Language Model, LLM)已经不再是“能聊天的工具”那么简单。短短三年多时间,LLM 从对话助手演变成了能编写代码、操作文件系统、执行 Shell 命令、甚至自主分解任务并逐步完成的“智能体”——也就是业界所说的 AI Agent。随之而来的,是越来越多的公司开始将 AI Agent 融入产品和工作流,AI Agent 工程师的岗位需求也快速增长。

我最初是一名前端工程师,从 2022 年开始逐渐使用 Node.js 做后端开发,并从此开始了我的全栈之路。再后来,机缘巧合之下进了一家做 AI Agent 产品的公司,并先后参与开发了多个不同形态的 AI Agent 产品。例如有 Web 网页端应用,也有桌面端的应用,担任的也是全栈角色,前后端、AI Agent 都做。另外在工作之余,我还出于兴趣写了一个开源的 AI Agent CLI 项目,来帮助我更好地理解 AI Agent 的知识。

说了这么多,主要是想表达一点:下面分享的内容来自真实的项目开发经验,并非只看过几篇教程、翻阅过几份文档就凭空总结出来的。这篇文章算是对这段经历的一个总结,打算分享给想进入 AI Agent 开发领域的人。AI Agent 是一个还在快速变化的领域,这里的内容更多是提供一个参考方向,而不是标准答案。

AI Agent 工程师:不是一个独立工种

我对这个角色的理解是:AI Agent 工程师不是一个独立的工种,而是“X + AI Agent”的复合角色。这里的 X 可以是前端、后端、全栈,甚至产品经理,但单独的“AI Agent 工程师”几乎不存在。

AI Agent 做的事情是用代码去编排 LLM 的能力——让 LLM 调用工具、管理上下文、处理报错、跟外部系统对接。这些工作本身就是软件工程,只是操作的对象从数据库和 API 变成了 LLM。

所以如果你已经是一个有几年开发经验的前端、后端或者全栈工程师,转 AI Agent 方向的门槛其实并不高。需要额外学的新知识不多(后面「核心知识体系」一节会展开),但是工程实现上的问题:例如怎么管理上下文、怎么做错误恢复、怎么控制成本等等,这些都是需要真正花时间去做好的,而这恰好是有开发经验的人擅长的部分。

从求职角度看,有 AI Agent 开发经验的前端/后端工程师,比没有这方面经验的同行工作机会更多。越来越多的岗位要求候选人有 AI Agent 相关的开发经验,掌握这部分能力相当于拓宽了自己的选择面。大家有兴趣的话可以去各大招聘平台搜一下“AI Agent”,看看实际的招聘信息,下面列举了一些搜到的职位信息:

  • 阿里云:「AI Agent 研发工程师(AI Coding 方向)」——20-50K·16 薪,要求有完整的研发经验,深度理解 LLM/Agent/Prompt Engineering,实质是全栈 + AI
  • 大疆:「高级后端开发工程师(AI Agent 方向)」——精通 Python/Go 后端,熟悉智能体设计、工具调用、多 Agent 协作,还要有分布式系统经验
  • Boss 直聘上的「AI 智能体工程师」——15-55K 不等,Python 必备,要求熟悉 LangChain/LlamaIndex/Dify 等框架,同时要有 Docker/K8s 部署能力

心态调整

知识量不大,但做好不容易

AI Agent 要学的概念不多,例如 Tool Use、Agent Loop、RAG、Memory、Prompt Engineering 等等,花几周时间就能大致理解。比起前端/后端开发要学习的 API、框架、浏览器兼容性问题,AI Agent 的知识量算少的。

但是把原理概念都弄懂,不等于动手就能做出实际能用的产品。以我的经验来看,真正耗时间的是下面这些工程问题:

  • 上下文爆炸:Agent 执行复杂任务时,工具调用结果和文件内容会快速撑满上下文窗口,导致模型遗漏早期指令或重复执行已完成的步骤
  • 幻觉(Hallucination):模型会自信地给出错误答案,而且每次错的方式不一样,无法用固定的规则去拦截
  • 成本失控:一个复杂任务可能触发数十次 API 调用,缺乏控制策略的话费用会远超预期
  • 评测困难:Agent 的输出是非确定性的,同样的输入跑两次可能得到不同结果,传统的断言式测试不完全适用

这些问题单靠理论知识无法彻底解决,只能在实际项目中不断地试错、迭代打磨。

拥抱不确定性

在传统的开发工作中,大家可能会有一个隐含的心理预期:代码写对了,就应该得到正确的结果。但是 AI Agent 开发不是这样的。同样的 Prompt,模型可能这次给出完美的方案,下次就给出有 bug 的方案。同样的工具调用序列,模型可能这次用 3 步就能完成,下次就得用 10 步才能完成。这种不确定性在初期会让人非常不适应,需要调整心态。

调整的方式是把心态从“写对代码”转变为“设计约束”。不需要让模型每次都做对,而是设计足够好的护栏(Guard Rails),让模型在犯错时能被检测到并纠正。权限系统、循环检测(Loop Guard)、输出校验——这些“围栏”才是 Agent 工程师日常花时间最多的地方。

边做边学

学习科学里有一个被广泛引用的模型叫“学习金字塔”(Learning Pyramid),来源于 Edgar Dale 的经验之塔(Cone of Experience)理论。它的核心观点是:光听讲或者读书,知识的留存率很低;而通过实践练习,可以大幅提高知识的留存率。这背后的原理和艾宾浩斯遗忘曲线(Ebbinghaus Forgetting Curve)相通——新学的信息如果不主动回忆,遗忘速度会非常快,而动手实践本身就是一种主动回忆,能加深对知识的理解,理解得越深就越不容易忘。

AI Agent 开发尤其适合这种方式。AI Agent 的知识本身不多,但很多工程问题——比如模型在什么情况下会反复调同一个工具停不下来,上下文压缩到什么程度才不会丢失关键信息——光看文档是预想不到的,只有动手做了才会碰到这些问题。碰到问题并且解决它,这个知识点就真正变成你自己的了。

一次真实的教训

我参与开发的一个 AI Agent 产品上线初期,遇到过一次印象很深的故障——Agent 死循环。

事情是这样的:一个用户让 Agent 抓取某个网页的内容,Agent 调用了 WebFetch 工具,但目标 URL 返回了错误。正常预期是模型发现失败后换一种方式处理,但实际情况恰恰相反——模型认为“刚才没成功,再试一次应该可以”,于是用完全相同的参数再次调用了 WebFetch。第二次当然也失败了,然后第三次、第四次……连续 5 次调用完全相同的工具、传入完全相同的参数、得到完全相同的错误。

这 5 轮无效调用本身的开销并不大,但每一轮失败都会往消息历史里追加一组请求和响应,几轮下来上下文就膨胀了不少。后来我们在另一位用户那里见到了同样的模式,只不过这次 Agent 是在 Bash 命令调用上陷入了循环,而且持续时间更长——上下文一路膨胀到超出了模型 262K token 的上限(实际请求达到了 294K),API 直接拒绝了请求,导致用户的整个会话随之中断。

这两个案例的背后其实是同一个问题:Agent 在工具调用失败时陷入重试循环,而每次重试又会撑大上下文,最终导致上下文溢出。要解决这个问题的思路并不难——“检测到循环就停下来”“上下文接近上限就压缩”——但在上线之前,我们根本没预料到模型会用完全相同的参数反复调用同一个工具,因为测试环境里从没出现过这种行为。真正动手修的时候才发现也不只是加一个 if 判断那么简单:循环检测需要对比最近几次工具调用的参数来判断是否重复,上下文压缩需要在接近上限时及时触发,把旧消息替换成摘要的同时还要保留关键信息。这次经历让我意识到,AI Agent 开发中最难的部分不是理解概念,而是应对模型在生产环境中的各种非预期行为。

一个需要警惕的误区

现在市面上有很多“零代码搭建 AI Agent”的工具——Dify、Coze、n8n 等等。这些工具降低了入门门槛,让不会编程的人也能拖拽出一个 Agent 工作流。对于快速验证想法来说,它们没有问题。但如果你的目标是成为一名 AI Agent 工程师,只接触预构建的组件而不理解它们的构造原理,会严重限制你解决新问题的能力。

举个例子:假如我们用 Dify 搭了一个 Agent 工作流,在做单轮问答或者简单的信息查询时效果不错。但上线之后可能会碰到这样的情况——Agent 在某类任务上反复调用同一个工具停不下来(也就是死循环),或者对话变长之后开始“忘记”前面的指令。Dify 提供了最大迭代次数和记忆窗口大小这类配置项,可以做一些粗粒度的调整。但如果需要更精细的控制,比如通过对比前后几次工具调用的内容来检测死循环,或者在上下文过长时让 LLM 先把早期对话生成一份摘要、再用摘要替换掉原始消息(而不是直接丢弃早期消息导致关键信息丢失),这些就超出平台能提供的范围了。理解底层机制的人可以自己写代码实现这些策略,不理解的话就只能在平台给的几个参数里来回调试。

所以我的建议是:可以用框架或低代码工具来加速开发,但至少自己从零实现一次最小的 Agent——哪怕只是一个 50 行的 while 循环加一两个工具,理解消息传递、工具调用和循环控制的基本机制。有了这层理解之后,再去学习任何框架或工具都不会觉得是黑盒。后面的「推荐学习路径」一节会给出具体的参考项目和资源。

AI Agent 核心知识体系

AI Agent 的知识可以分成三层来理解。第一层是地基(LLM 基础),第二层是核心机制(Agent 区别于普通 LLM 调用的关键能力),第三层是工程化(怎么让 Agent 在生产环境里稳定运行)。

第一层:LLM 基础
能力边界 · API 调用 · 提示词工程

第二层:Agent 核心机制
Agent Loop · Tool Use · RAG · Memory · Multi-Agent

第三层:工程化能力
上下文管理 · 权限安全 · 评测 · 成本控制

第一层:LLM 基础

不需要你理解 Transformer 的数学细节或者训练流程,但需要理解 LLM 作为一个“接口”能做什么、不能做什么。

LLM 的能力边界。 LLM 本质上是一个文本续写器——给它一段文本(Prompt),它生成后续文本(Completion)。它擅长自然语言理解与生成、代码编写、信息提取与总结、推理。但它不擅长实时信息获取、与外部系统交互、确定性逻辑判断、回答超出训练数据范围的问题。理解这个边界非常重要,因为 AI Agent 的核心设计思路就是:用工具弥补 LLM 的短板。需要实时信息就给它提供搜索工具,需要操作文件系统就给它提供文件读写工具,需要执行代码就给它提供 Shell 工具。Agent 的工程工作量,大部分都花在“怎么让 LLM 正确地使用这些工具”上。

API 调用。 所有 Agent 的起点都是调用 LLM 的 API。以主流的 Messages API 为例,核心概念只有几个:消息列表(Messages,一组按时间排列的对话消息,每条消息有角色 system/user/assistant/tool 和内容)、流式输出(Streaming,模型逐个生成 token,客户端实时接收)、以及 Token 与计费(输入和输出都按 token 计费,中文一个字大约 1-2 个 token)。这些概念不复杂,下面推荐材料里的 Datawhale《动手学大模型》教程就是从 API 调用开始讲起的,跟着做一遍就能理解。

提示词工程(Prompt Engineering)。 写好提示词是 Agent 开发的基本功之一。常用的技巧包括:用系统提示词(System Prompt)定义 Agent 的角色、能力边界和行为规则;用少样本学习(Few-shot Learning)在 Prompt 中给出示例,引导模型按特定格式响应;用思维链(Chain of Thought)引导模型先推理再回答,以提高准确率。提示词工程涉及的内容很多,但 Agent 工程师不需要掌握所有技巧。在实际开发中最常打交道的就三件事:system prompt 怎么写能让模型行为更稳定、工具描述怎么写能减少误调用、以及哪些常见写法容易导致模型输出偏离预期。

这一层的推荐材料: Datawhale《动手学大模型》是国内开源社区出品的中文教程,从 API 调用到 RAG 应用开发都有覆盖,适合零基础入门。Prompt Engineering 方面,吴恩达与 OpenAI 合作的《ChatGPT Prompt Engineering for Developers》是英文授课,B 站上有社区翻译的中文字幕版,一两个小时就能看完。如果英文阅读没有障碍,Anthropic 的 Prompt Engineering 指南是目前写得最系统的参考资料。

第二层:Agent 核心机制

这一层是 AI Agent 区别于普通 LLM 对话的关键。

Agent Loop(智能体循环)。 Agent 的核心运作模式可以用一句话概括:思考 → 行动 → 观察 → 再思考。这个循环在代码层面是一个 while 循环。下面是 x-code-cli 中的简化版本:

while (turn < maxTurns) {
  // 1. 调用 LLM,传入消息历史和可用工具列表
  const outcome = await runTurn(state, model, tools)

  // 2. 模型返回 tool_calls → 执行工具,把结果追加到消息历史
  if (outcome.finishReason === 'tool-calls') {
    await processToolCalls(outcome.toolCalls, state)
    continue  // 回到循环顶部,让模型看到工具结果后继续思考
  }

  // 3. 模型返回 stop → 任务完成,退出循环
  if (outcome.finishReason === 'stop') break
}

这段代码虽然只有十几行,但它是所有 Agent 产品的骨架。不管是 Claude Code、Cursor,还是 x-code-cli,内核都是这个循环——区别只在于工具集有多丰富、错误处理有多完善、以及上下文管理策略有多精细。用流程图来表示:

tool_call

stop

用户输入

调用 LLM
(messages + tools)

模型返回

执行工具

结果追加到 messages

输出最终回答

工具调用(Tool Use / Function Calling)。 工具调用是让 LLM 从“只会说话”变成“能做事”的桥梁。一个工具的定义包含两部分:输入参数的 Schema(告诉模型“这个工具接受什么参数”),以及一段自然语言描述(告诉模型“这个工具能做什么、什么时候该用”)。以 x-code-cli 中的 Shell 工具定义为例:

export const shell = tool({
  description: 'Execute a shell command and return stdout/stderr...',
  inputSchema: z.object({
    command: z.string().describe('The command to execute'),
    timeout: z.number().optional().describe('Timeout in milliseconds'),
  }),
})

模型看到这个工具定义后,在需要执行系统命令时就会调用它,并按照 schema 生成正确的 JSON 参数。工具的实际执行逻辑是在 Agent 引擎侧完成的,模型本身不执行任何代码——它能看到的只有工具的描述和参数定义。所以工具描述写得好不好,直接决定了模型能不能在正确的时机调用正确的工具。描述太模糊,模型就容易在不该用的时候误用,或者在该用的时候漏掉。在实际开发时,反复调整工具描述的措辞是非常常见的,花在这上面的时间往往比写工具本身的代码还多。

检索增强生成(RAG)。 LLM 的知识有截止日期,也无法访问企业内部的私有数据。RAG(Retrieval-Augmented Generation)就是为了弥补这两个短板:把企业内部文档、产品手册、最新资讯等内容预先存入一个知识库,用户提问时先从知识库中检索出相关片段,再把这些片段连同问题一起发给模型,让模型基于这些补充材料来回答。一个典型的 RAG 流程包含:文档分块 → 向量化(Embedding)→ 存入向量数据库 → 检索时做相似度搜索 → 取回相关文档块 → 拼入 Prompt。RAG 在概念上不复杂,但工程细节很多:分块策略怎么选、chunk 多大合适、向量模型用哪个、检索召回率怎么评估——这些问题没有标准答案,需要根据具体场景调试。

记忆(Memory)。 Agent 的记忆分两种。短期记忆就是当前对话的消息历史,随着对话进行,消息历史不断增长,最终会触及上下文窗口的限制,需要压缩或截断来管理(具体策略在后面第三层「上下文管理」部分会讨论)。长期记忆是跨会话持久化的信息——用户偏好、项目上下文、之前对话中达成的约定。没有长期记忆的 Agent 每次对话都从零开始:昨天你告诉它项目用 ESM 模块规范,今天它可能又会按 CommonJS 模块规范来写。长期记忆的难点在于筛选:一轮对话可能有几十条消息,真正值得长期记住的也许只有一两条事实,需要一套机制来自动完成这个提取。x-code-cli 的做法是在每轮对话结束后,后台用 LLM 从对话中提炼出值得记住的事实,以结构化格式写入磁盘:

const MemoryItemSchema = z.object({
  category: z.enum(['user', 'feedback', 'project', 'reference']),
  scope: z.enum(['project', 'user']),
  key: z.string().describe('Short slug. Same key overwrites the previous fact.'),
  fact: z.string().describe('The fact itself.'),
})

下次会话启动时,这些记忆被加载到系统提示词中,让 Agent “记住”之前的上下文。主 Agent 本身没有写入记忆的工具——所有记忆写入都通过这个静默的后台提取器完成,以避免模型在对话过程中分心去“管理自己的记忆”。

多 Agent 协作(Multi-Agent)。 当任务足够复杂时,单个 Agent 容易遇到瓶颈:上下文被大量中间步骤占满,模型同时追踪多个不同的关注点,输出质量也会随之下降。Multi-Agent 的思路是把任务分解给多个专职 Agent——比如一个负责探索代码库、一个负责编码、一个负责审查。x-code-cli 内置了 4 种子 Agent(explore、general-purpose、plan、code-reviewer),每个子 Agent 在独立的上下文中运行,完成后只返回结论给主 Agent,保持主对话的简洁。Multi-Agent 的挑战在于协调:怎么合理分配任务、怎么传递上下文、怎么处理子 Agent 之间的冲突。这是目前行业还在积极探索的方向,没有现成的标准答案。

这一层的推荐材料: Andrew Ng《Agentic AI》覆盖四大 Agent 设计模式(Reflection、Tool Use、Planning、Multi-Agent Collaboration),免费,B 站上有社区翻译的中文字幕版,是目前最好的 Agent 入门课程。文档方面,Anthropic 的《Building Effective Agents》是业界公认的 Agent 设计方法论经典文档,同系列的《Writing Effective Tools for AI Agents》专门讲工具设计,两篇都不长,英文阅读没有障碍的话建议通读。

第三层:工程化能力

有了前两层的知识做基础,搭出一个能跑通基本流程的 Agent 原型不是问题。但要部署到线上跑真实的业务,还有一系列的工程问题需要处理。

上下文管理。 虽然现在模型的上下文窗口已经很大了(200K 到 1M+ token),但“窗口大”不等于“不用管”。更长的上下文意味着更高的 API 成本和更慢的响应速度,而且模型对超长上下文中间部分的信息检索能力会下降(即”Lost in the Middle”现象)。举个具体的例子:一个代码修改任务涉及读取多个文件、多次工具调用,几轮对话下来上下文可能已经累积了数万 token。如果不做处理,模型可能会”忘记”最初的需求描述,或者重复执行已经完成的步骤。因此需要一套策略在对话过程中主动管理上下文的大小。x-code-cli 的做法是:当上下文使用率超过阈值时,保留最近的几轮消息不动,把更早的消息交给 LLM 生成一份摘要替代:

async function compressMessages(messages, model) {
  const recent = messages.slice(-KEEP_RECENT)  // 保留最近几条
  const old = messages.slice(0, -KEEP_RECENT)
  const { text: summary } = await generateText({
    model,
    system: 'Summarize the conversation, preserving key decisions...',
    messages: old,
  })
  return [{ role: 'user', content: `[Summary]\n${summary}` }, ...recent]
}

这是上下文管理最基本的策略。更精细的做法还包括:prompt cache(复用前缀降低重复输入成本)、选择性加载(只把与当前任务相关的文件内容放进上下文)、分层知识库(长期不变的知识放 system prompt,短期上下文放消息历史)。

权限与安全。 Agent 和普通 LLM 对话有一个本质区别:它能真正执行操作——shell 命令、文件读写、网络请求。这意味着模型一旦产生幻觉,后果不再只是一段错误的回答。比如模型在清理项目时误判了目录范围,直接执行了删除命令;或者在调试配置时把生产环境的文件覆盖掉。在普通对话中产生幻觉最多让用户看到一段错误的文本,但在 Agent 场景下,一次幻觉就可能造成文件丢失或系统损坏。因此每个准备上线的 Agent 都需要一套权限机制来约束模型能做什么、不能做什么。x-code-cli 实现了三级权限模型:默认模式下所有写操作需要用户确认;信任模式可跳过确认;计划模式(Plan Mode)下 Agent 只能读取和探索,不能执行任何写操作。

评测与可观测性。 评估 Agent 质量不能只依赖传统单元测试,需要一套不同的方法——基于 LLM 的自动评分、A/B 对比、成功率统计、以及人工抽查。但光知道结果好不好还不够,出了问题还需要能定位原因,这就依赖可观测性。Agent 执行过程中的每一步——模型推理、工具调用、上下文变化——都需要被记录下来,方便回溯排查。

成本控制。 AI Agent 的运行成本直接和 API 调用次数、token 消耗挂钩。一个不做优化的 Agent,跑一个复杂的任务可能消耗十几块甚至上百块。一个十人团队每天跑几十个任务,一个月的 API 费用就可能得上万块。成本控制常见的优化策略包括:选择合适的模型(不是所有任务都需要最贵的模型)、prompt cache 复用前缀、减少不必要的工具调用轮次、以及在合适的时机压缩上下文。

这一层的推荐材料: 工程化方面最好的学习方式是读成熟 Agent 产品的源码——看别人怎么做上下文压缩、怎么设计权限模型、怎么处理工具调用失败,这比只看教程讲概念要有效得多。目前开源的 AI Agent CLI 项目不少,比如 OpenAI 的 Codex CLI、社区驱动的 opencode 等,都值得参考。我自己写的 x-code-cli 也是其中之一,相比之下它的优势在于有一本配套的掘金小册《从零打造一个 AI Agent CLI》,对上面提到的上下文管理、权限控制、循环检测、成本优化等工程问题都有专门的章节讲解,每章先讲设计思路再给出代码实现,适合想系统理解这些机制的读者。

学习路线与实践

AI 时代的学习方式变革

在传统编程学习中,最好的方式是找到一门经过验证的好课程,一边学习理论一边做配套实验。Nand2Tetris、MIT 6.828、SICP——这些课程之所以被反复推荐,就是因为它们在理论和实践之间达到了很好的平衡。

到了 AI 时代,学习方式本身也在发生变化。现在你完全可以和 AI 说:“我想学习如何从零构建一个 AI Agent,我的目标是做一个能帮我自动化日常开发任务的 CLI 工具,我有 TypeScript 和 Node.js 基础”,然后让 AI 为你规划一条学习路线,同时生成配套的练习代码和实验。

这种学习方式的个性化程度远超传统课程——AI 可以根据你的基础、目标和进度实时调整内容。不过要注意:让 AI 定制学习路线本身也需要投入大量时间,而且 AI 生成的代码和解释不一定正确,你需要自己去验证每一步的输出,这个验证成本不低。所以如果网上已经有经过验证的优质课程,应该优先使用;AI 定制学习更适合作为补充手段,用来填补现有课程没有覆盖到的部分。

推荐学习路径

第一步:跑通一个最小 Agent。 不要上来就装 LangChain。先用你熟悉的语言(Python、TypeScript 都可以),用最原始的方式调用 LLM API,写一个 50 行以内的 while 循环——就是前面展示的 Agent Loop。让它能接收用户输入、调用一两个简单工具(比如计算器、文件读取),然后把结果返回。这一步的目的不是做出有用的东西,而是让你搞清楚 Agent 每个环节是怎么工作的:消息格式长什么样、工具怎么定义、循环怎么控制、什么时候循环该停止。想直接看代码的话,可以参考我写的 hello-agent,56 行 TypeScript,一个 readFile 工具,clone 下来就能跑。中文教程方面,Datawhale《从零开始构建智能体》是国内开源社区出品的免费教程,从最小 Agent 讲起,兼顾理论与实战。

第二步:理解提示词工程。 跑通最小 Agent 之后,开始系统学习 Prompt Engineering。重点不是记忆”100 个 Prompt 技巧”,而是理解前面提示词工程小节提到的三件事:system prompt 的写法、工具描述的措辞、以及 few-shot 示例的使用场景。

第三步:完善工具集。 在第一步的最小 Agent 基础上,逐步增加工具:文件读写、Shell 执行、代码搜索、网页抓取。每加一个工具,观察模型的行为变化——什么时候用对了、什么时候用错了、为什么用错。多试几轮,你就能搞清楚工具的 schema 和描述该怎么写才能让模型正确调用。

第四步:加入记忆与 RAG。 到这一步,你的 Agent 已经能在单次对话中完成任务了,但每次开新对话就什么都不记得了——上一轮对话里的某些约定、你的项目文档,它都无法访问。解决这个问题需要两种机制配合。长期记忆负责保存对话中的关键信息:把值得记住的事实存到本地文件,下次启动时加载到 system prompt。RAG 负责接入外部文档:把一组文档做分块和向量化后存入向量数据库,提问时检索相关片段拼入 Prompt。前面记忆小节展示了 x-code-cli 的后台提取方案,你可以参考那个思路来实现自己的筛选逻辑。做 RAG 需要理解向量嵌入(Embedding)和相似度搜索的基本概念,其中分块粒度和检索质量之间的平衡是最需要反复调试的部分。

第五步:做一个完整的项目。 到这一步,你应该能做出一个相对完整的 Agent 项目了。如果还没想好做什么,可以试试看这几个方向的任务:做一个 CLI Agent(最纯粹的 Agent 形态,不需要前端,专注于 Agent 核心逻辑);做一个 RAG 问答机器人(把你的笔记、文档做成知识库);做一个自动化工作流 Agent(把日常重复性的开发任务交给 Agent)。前面第三层推荐材料里提到了几个开源的 CLI Agent 项目,到这一步可以选一个感兴趣的,对照其源码来检验前四步积累的理解。

结语

这篇文章的核心观点是:AI Agent 工程师不是一个需要从零学起的新职业,而是现有开发经验加上一组特定知识的组合。需要学的概念不多,难的是把概念变成能上线的工程实现。

如果你还在犹豫要不要投入时间学 AI Agent 开发,我的建议是先花一两个小时跑通一个最小 Agent——前面学习路径的第一步就够了。hello-agent 是为这个目的写的:56 行代码,clone 下来就能跑。跑通之后你会对 Agent 的运作方式有一个基本的认识,接下来再决定要不要继续深入。

AI Agent 工程还处于快速演进的阶段,半年前的做法现在可能已经有了更好的替代方案。与其追求一次学完,不如保持动手的节奏,在实际项目中持续积累经验。这个领域变化快,但核心原理——消息传递、工具调用、上下文管理——不会轻易过时。掌握这些基础,在面对新的框架和模型能力时就不会无从下手。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐