Javaer转Agent:学习资料篇

0 阅读22分钟

兵马未动,粮草先行。本文为准备转向 Agent 开发的 Javaer 整理学习资料,涵盖入门教材、Java 框架、开源项目、工程文章和 B 站课程,并给出阅读顺序与练习建议。从一套教材、一个框架、一个能运行的例子开始,逐步理解工具调用、上下文管理和评测,把收藏的资料变成动手能力。

agent-resource-overview

兵马未动,粮草先行,学习资料便是粮草。

写惯了 Java 和 Spring,开始学 Agent,第一步往往卡在选资料上:教程里的例子多是 Python,框架一个接一个,Prompt、RAG、MCP、Skills 又常常出现在同一张学习路线图里。

这篇把资料按用途放在一起:入门读哪些教材,动手用哪些 Java 框架,遇到工程问题查哪些文章,想进一步理解实现又能看哪些开源项目。每份资料旁边都写了建议从哪里开始。

可以先定一个小目标:选一套教材、一个框架,做出一个能调用工具的例子。暂时用不到的资料,等问题出现了再回来查。

1. 从一个能运行的例子开始

先读概念,再看模型怎样调用工具、工具结果怎样交回模型。理解这段循环后,用 Java 写一个例子;接下来才有具体的问题可问:调用为什么失败,历史消息怎么处理,结果到底对不对。下面按这个顺序选资料。

阶段优先资源学完要能做什么
建立概念程序员 Left、川处安文章;Hello-Agents区分模型调用、固定工作流和 Agent
理解运行机制Learn Claude Code 的循环、工具、权限章节画出模型请求、工具执行、结果回填与退出过程
Java 动手Spring AI + 官方示例,或 LangChain4j + 官方示例完成一个只读工具调用,记录失败和停止原因
工程补课Learn Agent Architecture、李博杰的书、AgentGuide、官方评测文章为上下文、超时、权限、步数上限和结果正确性制定检查项
查漏自测sjzhang312/Agent、AIGC-Interview-Book先闭卷回答,再用文档和实验修正答案
项目研究DeerFlow、OpenHands、Browser Use 等只追踪一条任务执行链,解释其设计取舍

熟悉 Spring 的话,可以先用 Spring AI;也可以选 LangChain4j。两条路线选一条就够了。遇到 Python 示例,先看输入、状态和返回值怎样流动,把机制弄清楚,再对照 Java 的写法。

agent-learning-route

跟练之前,先对一下版本

这里优先放近年的文章和持续维护的项目。跟练时,把教程、依赖和文档的版本对齐。视频里的方法找不到了,先看看自己装的是不是同一个版本。

想跟着做一遍,可以看视频;查参数和接口,打开官方文档;想知道某一步为什么这样执行,再去读源码。

2. 这几份教材,各有用处

先从 Hello-Agents 或卡码笔记建立概念,再用两个小型教学项目理解运行机制。问答和题库留到复习时用,读起来会更有收获。

资料适合用来做什么从哪里读起阅读时留意
Hello-Agents · 在线教材中文系统教材;主线从智能体概念、经典范式开始,再读工具、记忆、评估相关章节示例主要为 Python;先学机制,实践另选 Java 框架
卡码笔记:大模型应用开发学习路线中文应用开发专栏;入门与补课先读入门认知、Prompt 与调用基础,再进入 Agent 章节;需要知识检索时补 RAG优先理解结构化输出、Function Calling、工具设计和评估;微调与 Transformer 原理按需后置
Learn Claude Code小型 Harness 教学;主线辅助当前根目录 s01~s17;先 s01 循环、s02 工具、s03 权限,再按需看 s08 上下文压缩、s09 记忆社区教学实现,不是 Claude Code 官方源码;Python/Bash 示例不可直接搬成 Java API
Learn Agent Architecture · 中文入口Agent 架构分层教程;基础到进阶先读 0~3 节的 Harness、循环、工具和权限,再选读上下文、记忆、错误恢复与评估配套示例为 Python;重点理解控制流,并对照 Java 中的工具分发、状态管理和异常处理
AgentGuide工程与求职导航;按需查询选择开发方向,围绕工具、RAG、上下文、评测查主题选应用开发相关内容;求职部分按自己的目标取舍
sjzhang312/Agent · Agent.md问答整理;自测先尝试解释问题,再查答案;LangChain/LangGraph 目录作为扩展用问答检查知识盲点,协议格式和技术结论结合官方资料理解
AIGC-Interview-Book综合题库;复习README 的 AI Agent 基础、2026 AI Agent 岗面试 50 问、开发岗转 AI 应用工程师路线范围含算法、视觉、训练等;只选与当前练习有关的问题
DeerFlow综合 Agent 应用;进阶从 README 的核心能力进入:工具、Skills、子 Agent、沙箱、上下文和记忆当前 2.0 为重写版,旧 Deep Research 在 1.x 分支;建立单 Agent 基础后再研究
深入理解 AI Agent:李博杰原理与工程书;长期参考先按主题读上下文、工具、运行与评估,再选一个配套实验README 当前为 2.0;已有 PDF v1.0 的页码、章节号不能直接套用新版

Learn Claude Code 时,选根目录的 17 节主线。docs/、agents/ 中还留着旧版 12 节,章节号对不上,记笔记时顺手记下版本。第一轮看循环、工具和权限即可,练习时可以把 Bash 换成一个只读工具;后台任务、调度和多 Agent 留到后面。

Learn Agent Architecture 适合接着往下读。它会讲一个机制解决什么问题、不同系统怎样实现,以及哪里容易出错。有代码的章节,先看 src/loop.py,再读 demo.py,对比上一节多了什么。比如读错误处理时,就挑一次工具调用失败的情况,顺着代码找:错误怎么返回,要不要重试,什么时候停下来。最后用 Java 写一遍。

李博杰的书可以放在手边按主题查。2.0 版的 Agent 评估在第七章,如果手里还是 v1.0 PDF,按章节主题找会比照旧页码翻更方便。正文、PDF 和实验尽量用同一版。

DeerFlow 可以晚一点读。选一次“检索资料并生成报告”的任务,跟着它看输入去了哪里、谁调用工具、子任务把结果交给谁。能讲清这条过程之后,再决定要不要部署整套应用。

3. 想读源码,就挑一个感兴趣的项目

个人助手、浏览器操作、代码开发、可视化工作流,各有可以参考的项目。先挑一个自己想做的方向,读一个具体任务是怎么完成的。

项目方向先看什么适合哪个阶段
OpenClaw个人助手与多入口集成从 README 进入会话与执行流程,画出消息如何到达 Agent进阶;先理解会话隔离,再接真实账号
Dify可视化工作流、RAG、应用平台搭一个小流程,区分固定节点与模型选择工具可先体验产品;源码与部署研究后置
Browser Use浏览器 Agent在测试网页完成“读取—选择动作—验证结果”,分析一次失败Python;先只读,避免以真实提交任务练手
OpenHands软件开发 Agent从 README 的 Architecture overview 进入,追踪任务到执行反馈进阶;用独立练习仓库理解运行环境
Google ADK PythonAgent、工作流、评测与部署对照 Agent 与 Workflow 的责任,读一个最小工具示例Python 参考;2.0 与 1.x 教程需区分版本
Google ADK JavaJava Agent 开发用熟悉的 Java 对照 Agent、工具、会话等概念Java 候选;不假设与 Python 版功能完全同步
Microsoft Agent FrameworkAgent 与多 Agent 工作流读最小 Agent 和状态隔离示例,再比较编排方式Python / .NET;作为设计参考,不是 Java 框架

如果想从小实现读到完整项目,可以按 Learn Claude Code → mini-swe-agent → OpenHands 或 DeerFlow 的顺序。偏向个人助手、可视化应用或浏览器操作,就分别看 OpenClaw、Dify、Browser Use。

agent-loop

第一遍源码,读到什么程度

先从 README 找到一个最小场景,记下 commit 或 tag。然后沿着“输入 → 模型请求 → 工具分发 → 结果回填 → 停止”读下去。

这一遍最好能回答几个问题:状态存在哪里,不同会话会不会串数据;工具出错以后怎么处理;步数、耗时和权限由谁限制。

接着用一个正常任务、一个失败任务试试自己的理解。只看过代码的地方,笔记里写明是推断;真正跑过的地方,留下输入和输出。挑其中一个机制,用 Java 写成小练习,就有了这次阅读的成果。

4. 时间不多时,先读这些文章

短文适合先理清概念,课程和书籍导读适合接着找资料。涉及具体 API、缓存方式或协议行为时,再回到对应实现的文档。

资料日期 / 类型读什么
程序员 Left:Agent 工程解析(零)2026-09-08 · 概念文章入门看聊天、工作流、Agent 的区别;找出工具结果如何回填。伪代码不是跨厂商统一 API
川处安:重新理解 AI Agent 的一切 · X 入口2026-09-15(X)· 原理导读串联 Loop、上下文、工具与 Harness;全量历史、MCP 加载和缓存收益需区分实现
meng shao:CMU AI Agents · 课程站 · 作业 12026-09-09 · 课程导读进阶借鉴实现与验证方式;需要 Python,部分云端运行可能计费
meng shao:Harness 六层手册导读2026-08-28 · 工程导读用约束、验证、循环、记忆、权限、观察记录检查自己的练习
lumxss:Agentic Design Patterns 推荐 · 推荐仓库 · 出版社2026-09-09(帖子)· 书籍推荐按需读工具、链式流程、路由与反思;2026 推荐不等于 2026 新书
小山学堂:AI 教我学习学习方法 · 选读 learn-1、3、4、5、15说明学习起点,一次解决一个问题;闭卷回答,再核对和变换条件

5. 动手开发,用这些 Java 框架和示例

写第一个例子时,直接把框架和它的官方示例放在一起看。下面也留了一些专题和其他语言的仓库,方便遇到问题时查。前面出现过的教材在这里保留入口,找起来更方便。

编号仓库语言 / 阶段怎么用
G01Hello-Agents中文教材,示例以 Python 为主;入门学概念,不要求先把 Python 环境全部搭完
G02Generative AI for Beginners JavaJava;基础学消息、提示词、工具与 RAG;Azure/Codespaces 等部署支线按需选
G03AI Agents for Beginners通用原理 / Python;补充用来对照工具、记忆与设计模式,避免与主教材重复刷
G04AgentGuide中文工程索引;中期带着实际问题检索,不从算法和求职部分开始
G05sjzhang312/Agent中文问答 / Python;自测解释完问题后再查答案,注意部分内容待补
G06spring-projects/spring-aiJava;默认实践路线先模型与工具,之后记忆/RAG;版本看 Releases
G07spring-ai-examplesJava;与 G06 配套选最小示例,保留完整依赖组合,不混搭不同版本
G08awesome-spring-aiJava 生态导航;查漏社区维护的索引;选中项目后再看文档、更新和示例
G09langchain4jJava;替代主线ChatModel → AiServices → Tools → ChatMemory
G10langchain4j-examplesJava;与 G09 配套和 B03 对照,先跑一个模型和一个只读工具
G11spring-ai-alibabaJava;主线完成后再学 Agent/图编排,核对其 Spring AI 兼容版本
G12Spring AI Alibaba examplesJava;与 G11 配套从官方主仓库链接进入,选单 Agent 案例
G13agentscope-javaJava;进阶选一比较循环、状态、工具与 Harness;不是 Python 同名包
G14langgraph4jJava;图编排需要分支、状态与恢复时再学,按 Java API 写示例
G15MCP Java SDKJava;本地工具之后把同一个只读能力接成 MCP,再验证权限和连接失败
G16spring-ai-agent-utilsJava;工具扩展带着工具需求阅读,涉及执行/写入能力时审查边界
G17All-in-RAG中文 / Python;检索专题从加载、分块、检索、生成逐层定位错误
G18Hugging Face Agents Course英文 / Python;拓展具备 Python 和模型调用基础后选一个任务复现
G19Learn Claude CodePython / Harness;进阶按小节跟踪工具循环;是社区教学项目,不是产品官方源码
G20PiTypeScript;源码研究对照 Loop、Session、压缩等职责,不必先学整个生态
G21mini-swe-agentPython;代码 Agent先读循环和评测;能执行命令,不作为小白第一份运行示例
G22LangGraphPython / JS;可选分支有状态编排需求时再迁移,同名概念不等于 Java API
G23LangChain AcademyPython;配套学习完成 Java 主线以后再选,不把多语言当入门门槛
G24Anthropic courses英文;模型调用专题选提示与工具相关内容,注意厂商协议差异
G25Prompt engineering tutorial英文;按需补课用清楚的输入输出契约替代堆砌角色提示词
G26Anthropic skills说明与脚本;后期阅读结构和触发条件,安装前看包含哪些代码
G27Ollama本地模型工具;可选有合适现成硬件再试;模型是否支持工具调用须单独确认

6. 碰到工程问题,回官方资料查

工具能调通以后,还会遇到任务做不完、结果不稳定、上下文越来越长等问题。下面的工程文章适合这时读,框架文档则可以在写代码时随时查。

编号资料 / 时间读什么
D01Demystifying evals for AI agents · 2026-01-09区分任务、运行轨迹、评分;为自己的项目写可检查的通过条件
D02Harness design for long-running application development · 2026-03-24完成基础练习后研究任务拆分、上下文交接和独立评价;不照搬其多 Agent 规模与成本
D03Scaling Managed Agents · 2026-04-08进阶理解模型决策与执行环境的拆分
D04Spring AI Getting Started / Tools · 现行文档以版本兼容要求和真实工具 API 为准
D05LangChain4j Get Started / Tools · 现行文档和 B03 的版本对照;不把视频旧签名当现行 API
D06MCP 官方介绍 · 现行文档认识协议解决的问题,再看 Java SDK
D07OpenAI Building agents · 现行文档对照模型、工具、状态与编排;具体字段按所用服务的文档理解

7. 喜欢跟着做,可以选这些 B 站课程

下面优先列出 2026 年发布的视频,最后一项是按主题选看的补充合集。Spring AI 和 LangChain4j 先选一条路线,重复的基础内容可以跳过。

编号资料 / 发布日期作者 / 课程规模建议看哪些部分
B01小白 AI Agent 学习指南 · 2026-08-29AI_Julie09:04 的路线预览,适合开始前看
B02Spring AI 2.0:代码助手与工具调用课程 · 2026-08-12图灵学院诸葛;19 节Spring 路线视频辅助:先 2~7 节的环境、对话、流式、记忆、压缩、工具;源码读写和 GitHub MCP 留到后面
B03小白系列:LangChain4j 从入门到精通 · 2026-07-07动力节点;70 节Java 替代主线:2~6、8~13、28~33、40~51;介绍标称 1.14+,跟练锁定其示例版本
B04Java AI Agent、Spring AI Alibaba 与 Skill · 2026-06-1092 节;选看技术章节完成基础后选看 Agent/Workflow、拦截和消息压缩
B05AgentScope 2.x:Java 意图路由与多 MCP 实战 · 2026-07-22意图路由与多 MCP 专题进阶比较路由、会话状态和工具挂载;描述包含权限 BYPASS,学习时须自行保持执行权限限制
B06AgentScope Java 2.0 核心组件篇 · 2026-06-10都叫我大帅哥;25 节Java 进阶:先 1~6 的单 Agent,再 7~8 的会话/中断、12~18 的权限/工具异常;MCP/Skill 后置
B07《浅入深出》Agent 系列 · 专题补充奇创喵;18 个视频先看 Agent、Tools/MCP、ReAct 与 Harness,再按需补 RAG、记忆和评测;多 Agent 与服务化后置

B03 的 LangChain4j 课程,可以先做单模型、内存会话和只读工具,再看记忆隔离、工具异常与并发。MySQL、Redis、MQ 和业务登记项目放到后面,先把模型与工具的交互弄明白。

B02 的 Spring AI 课程,可以一边看视频,一边对照官方示例。练到外部仓库读写时,先换成返回固定学习资料的只读工具,同样能练习工具调用。

部分视频课件需要私信或站外领取。想直接动手,可以使用第 5 节列出的官方 GitHub 示例。

其他视频入口

8. 再往下读,去翻教程的 References

教程里的某个机制让你感兴趣,就翻到章末看看它引用了什么。Learn Agent Architecture 的 References 和各章 Sources 提供了原始文档、论文和实现,适合接着查设计依据。

下面按问题分了几组,也放进了同作者的配套教程。前面已有的 Learn Claude Code、mini-swe-agent 和李博杰的书,可以一起对照着读。

8.1 循环与编排:哪些交给模型,哪些写进代码

资料适合什么时候读带着什么问题读
LangChain:The Art of Loop Engineering已经理解工具循环之后执行、验证、事件触发和改进分别解决什么问题?哪些循环需要独立的停止条件?
LangChain:3 Years of Graph Engineering with LangGraph流程开始出现分支与回退时节点、边和状态如何约束执行路径?什么时候一个简单循环就够用?
Google:Why we built ADK 2.0比较 Agent 与固定工作流时哪些步骤适合用普通代码,哪些需要模型判断?不同节点如何隔离上下文?
Lilian Weng:Harness Engineering for Self-Improvement · 2026能运行并评测一个 Agent 之后系统可以改什么、用什么判断改进、怎样避免越改越差?

读完后,拿“检索资料 → 生成回答 → 检查引用”试着画一遍:哪些步骤能写成固定代码,哪些需要模型判断?分清以后,再选普通方法调用、状态机或图编排。文中的 Python 示例可以帮助理解分工,动手时换成自己所用 Java 框架的接口。

8.2 Skills、上下文与权限:让工具用得合适

资料阅读重点可以做的小练习
Agent Skills 标准Skill 的目录结构,以及说明、脚本和资源如何组织把一个已有任务整理成 Skill,写清适用场景和所需文件
Anthropic:Skill authoring best practices简洁描述、按需加载、用实际任务验证效果比较“全部内容一次加载”和“按任务读取”的上下文差异
Anthropic:Prompt caching稳定前缀、缓存边界和命中条件区分固定说明与动态消息,观察修改不同位置后的缓存统计
Simon Willison:The lethal trifecta for AI agents · 2025私有数据、不可信内容与对外通信叠加时的风险给资料助手列出可读目录、可调用工具和允许访问的外部地址

写 Skill 时,把操作说明写清楚;执行工具时,参数、文件路径和权限仍由程序检查。读缓存文档时,留意自己用的是哪家模型服务,它们的字段和计费规则可能不同。

8.3 记忆与运行框架:选一个实现拆开看

项目学什么建议起点
Hermes Agent长期助手中的记忆、Skills、会话与调度先追踪一次记忆写入和后续读取,再看它如何进入下一轮上下文
DeepSeek Harness用插件组织 Agent 的运行能力从架构文档进入,选循环、工具或会话中的一个模块阅读
Learn Agent Memory分阶段构建记忆系统的配套教程接着架构教程的 Memory 章节,逐步理解存储、召回和整理
Learn DeepSeek HarnessDeepSeek Harness 的配套学习项目先读一个机制及其示例,再回官方仓库对照实现
OpenViking统一组织记忆、知识与 Skills 的上下文数据库对照文件与目录式组织方式,思考资料如何定位、摘要如何生成

可以先试一个小场景:用户换了会话,哪些信息还需要记住,哪些应该清掉?用少量本地数据写出隔离、召回和更新逻辑,确认符合预期,再考虑独立的存储服务。

8.4 评测与可观测性:知道它为什么成功或失败

资料学习重点Javaer 可以怎么用
EvalGrill从真实 Agent 失败案例构建、验证评测任务把一个失败输入整理成可重复执行的用例,写清预期结果与判定依据
OpenTelemetry Tracing APISpan、父子关系、耗时、状态和属性将一次用户任务关联到模型请求和工具调用,查看耗时与错误发生在哪一步
OpenInferenceAI 可观测性的语义约定与埋点实现参考模型、工具等调用的记录方式;具体接入方式按 Java 技术栈选择
A2A 协议独立 Agent 应用之间的发现、任务状态与结果交换有跨服务协作需求时,再研究任务生命周期和失败处理

评测可以从第 6 节的 D01 读起,再看 EvalGrill 怎样整理失败案例。调用轨迹能告诉你哪一步出了问题,任务是否完成则要靠事先写好的标准判断。等多个独立应用需要通信时,再看 A2A。

8.5 论文选读:有问题,再找实验依据

这几篇论文较早,放在这里是为了补充概念和实验方法。先看它研究什么任务、怎么评价结果、结论适用于什么条件。有一项正好对应自己的问题,再往实现里读。

论文年份适合带着什么问题读
Lost in the Middle2023 预印本 / 2024 期刊上下文足够长,是否就能稳定找到放在不同位置的信息?
MCP-Zero2025工具越来越多时,怎样按任务发现需要的能力?它是研究方案,如何与 MCP 协议本身区分?
τ²-Bench2025用户和 Agent 都能采取动作时,如何构造环境并判断任务成功?
Why Do Multi-Agent LLM Systems Fail?2025多 Agent 的失败发生在任务理解、协作还是结果验证?自己的失败案例属于哪一类?

这一部分按需查即可。先把工具循环、上下文和权限处理好,留下一组评测用例和能定位问题的调用轨迹,再往长期记忆、多 Agent 编排扩展。

9. 看完一段,就做一点

agent-learning-by-doing

开始时,一篇概念文章、Hello-Agents 的基础章节和一个 Java 官方示例就够用了。给例子加上只读工具,再写几道题检查结果。等这个小程序能解释清楚了,再挑一个开源项目继续读。

每读完一小段,顺手记下这些内容,下一次就知道从哪里接着学:

记录项要写什么
来源资源名称、链接、学习日期
版本所读章节、代码 commit/tag、JDK、框架版本
问题这次要解决什么;目前卡在哪里
证据目录、正文、源码阅读或实际运行,明确区分
实验输入、预期结果、失败条件、实际结果
复盘闭卷解释执行过程;仍不确定什么

最后合上资料,试着讲清三件事:为什么需要工具循环?模型选错工具时由谁拦截?怎么判断任务已经完成?哪一处讲不清,就回到代码里跑一次,看看实际发生了什么。

经典补充:Anthropic:Building effective agents,2024-12-19,用于理解工作流与 Agent 的取舍;适合作为概念补充阅读。