拓展yupi-ai-agent

半年后回看鱼皮哥的 Spring AI 教程,我把 AI Agent 翻新了一遍

距离鱼皮哥的教程,已经过去半年多了。

这段时间里,我一边跟写 yupi-ai-agent项目,一边也越来越明显地感受到一个问题:
AI 相关生态更新得太快了,Spring AI 的变化尤其明显。很多当时能跑通的 API、示例和用法,现在已经陆续过期,新的能力也在持续补进来。

其实不只是 Spring AI 在变,整个 AI Agent 方向的发展速度也远超预期。

Spring AI 官方新增和强化的能力就很有代表性:

  • Part 1: Agent Skills
  • Part 2: AskUserQuestionTool
  • Part 3: TodoWriteTool
  • Part 4: Subagent Orchestration
  • Part 5: A2A Integration

再加上最近很火的 openclaw 🦞,其实也完全可以被整合进我们自己的 AI Agent 项目里。

所以我结合这半年 Agent 和 AI 方向的新变化,自己重新补了一套更贴近当下的能力结构。

我在项目里新增了什么?

目前我主要补了下面这些能力:

  1. Agent Skills
    把能力模块化,便于复用和组合。

  2. 追问系统
    当用户问题不完整时,Agent 可以继续追问,拿到更充分的上下文。

  3. AI 生成的任务清单系统
    让 Agent 不只是“回答问题”,而是能先拆任务、再执行任务。

  4. 调用 openclaw 深度研究系统
    也可以理解成一种 A2A 思路,只不过我这里没有直接使用官方定义的工具协议,而是走命令行方式集成。

  5. Manus 状态保存系统
    用来辅助追问系统和任务清单系统,让 AI 能记住当前状态,而不是每轮都“失忆”。

  6. 各种小工具和 MCP 接入
    让整个 Agent 的可扩展性更强,能逐步接入更多外部能力。

仓库和过程记录

如果你也对这类方向感兴趣,可以看看我的仓库:

其中第二个链接里,我把整个实现过程、踩坑记录,以及当时的一些解决思路都尽量完整地记下来了。 如果你最近也在折腾 Spring AI、AI Agent、工具调用、状态管理并且觉得有参考价值,不妨给个⭐️。 最后再说一嘴,Spring AI Agent 需要 springBoot 的版本至少为 4Spring AI 的版本不低于 2.0.0-M2。 下面也把我application-local的配置也贴上,如果想要复线的小伙伴也可以自行调试。

yml
复制代码
search-api: api-key: "${SEARCH_API_KEY}" spring: data: redis: host: "${REDIS_HOST:127.0.0.1}" port: "${REDIS_PORT:6379}" datasource: url: "${POSTGRES_URL}" username: "${POSTGRES_USERNAME}" password: "${POSTGRES_PASSWORD}" driver-class-name: org.postgresql.Driver sql: init: mode: never ai: dashscope: api-key: "${DASHSCOPE_API_KEY}" chat: options: model: "qwen-plus" mybatis-plus: configuration: map-underscore-to-camel-case: true global-config: banner: false app: chat-memory: # 可选值: file / mysql / redis type: mysql file-dir: "${CHAT_MEMORY_DIR:${user.dir}/tmp/chat-memory}" redis: key-prefix: "chat:memory:" datasource: mysql: url: "${MYSQL_URL}" username: "${MYSQL_USERNAME}" password: "${MYSQL_PASSWORD}" driver-class-name: com.mysql.cj.jdbc.Driver mail: smtp: host: "${MAIL_HOST}" port: "${MAIL_PORT:465}" username: "${MAIL_USERNAME}" password: "${MAIL_PASSWORD}" from: "${MAIL_FROM}" ssl: true openclaw: agent: command: "${OPENCLAW_COMMAND}" id: "main" timeout-seconds: 120 session-prefix: "spring-ai-research"
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
鱼友5105
下载 APP