finds.dev← search

// the find

liyupi/yu-ai-agent

★ 2,433 · Java · updated Jan 2026

编程导航 AI 开发实战新项目,基于 Spring Boot 3 + Java 21 + Spring AI 构建 AI 恋爱大师应用和 ReAct 模式自主规划智能体YuManus,覆盖 AI 大模型接入、Spring AI 核心特性、Prompt 工程和优化、RAG 检索增强、向量数据库、Tool Calling 工具调用、MCP 模型上下文协议、AI Agent 开发(Manas Java 实现)、Cursor AI 工具等核心知识。用一套教程将程序员必知必会的 AI 技术一网打尽,帮你成为 AI 时代企业的香饽饽,给你的简历和求职大幅增加竞争力。

A teaching project that walks Java developers through building an AI chat application and a ReAct-pattern autonomous agent using Spring AI and Java 21. The app domain is relationship advice, but that's just the vehicle — the actual content covers RAG, tool calling, MCP, and agent loop implementation. It's aimed at Chinese developers who want AI engineering on their resume.

The agent hierarchy (BaseAgent → ReActAgent → ToolCallAgent → YuManus) is a clean, composable design that mirrors how production agents are actually structured. The tool set is practical — web search, file ops, terminal, PDF generation, web scraping — not toy examples. Spring AI's Advisor and ChatMemory abstractions are exercised properly, including a custom FileBasedChatMemory rather than relying only on in-memory state. The project ships a companion MCP server (yu-image-search-mcp-server) as a separate module, which gives learners a real server-side MCP implementation to study.

The TerminalOperationTool is a serious red flag — giving an LLM unrestricted shell access with no sandboxing is the kind of decision that ends careers in production. There are no integration tests that matter; YuManusTest and LoveAppTest are spring context load tests at best. The RAG knowledge base is three markdown files bundled in resources, which is fine for a demo but teaches nothing about document freshness, re-indexing, or handling knowledge conflicts. The codebase is also tightly coupled to Alibaba's Bailian platform in the cloud RAG path, so anyone not using that platform has to rework chunks of the RAG configuration.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →