云计算百科
云计算领域专业知识百科平台

第四章 00:开篇 —— 从「会聊天」到「记得住、会干活、能协作」

第四章 00:开篇 —— 从「会聊天」到「记得住、会干活、能协作」

课程专题:《AI Agents 开发实践》 原文链接:https://s.juejin.cn/ds/TAqu_hbSmd8/ 章节:第四章 LangChain 进阶 —— 记忆、工具与多 Agent 作者:Java 开发者转型 AI 全栈


前情回顾:我们已经走到哪了

前三章走完,我们的智能体长这样:

章节拿到的能力但它仍然
第一章 会调用模型(invoke / stream / batch) 只是一个孤立的函数
第二章 长在一个真正的系统里(NestJS + RBAC) 只会答这一句
第 2.5 章 有权限防线(JWT + 权限拦截) 不记得上一句说了什么
第三章 会模板、会链、会结构化输出、会绑工具 每次对话都是第一次见面

第三章结束时我自我感觉良好,直到第四章开篇的实验打脸:上一轮刚说完的约定,下一轮模型就"失忆"了。

第四章要解决的问题

一句话概括:把「单轮应答机」变成「能干活的同事」。

一个能干活的同事需要什么?

  • 记得住 —— 上次聊到哪了?(→ Memory)
  • 会干活 —— 不只嘴上说说,能查文件、写报告(→ Tools)
  • 找得到 —— 「上下文太长怎么办」这种问法也能搜到对应知识(→ Embeddings + Vector Store)
  • 能协作 —— 复杂任务拆给多个专职角色并行干(→ Multi-Agent)
  • 这四块能力,正好对应 4.2 ~ 4.5 四节;4.1 先把「为什么」讲透,4.6 用一个统一入口把所有能力收束成一次调用,4.7 小结。

    整章只围绕一个任务

    和第三章一样,第四章全程围绕一个具体任务:做一个「需求分析智能体」——它面向需求分析师,能多轮澄清、能读需求单、能自动裁剪长对话上下文、能产出结构化的需求分析报告并落盘。

    每新增一块能力,都是往这个智能体身上装一个器官,而不是换一个 demo。

    技术栈全景图

    ┌─────────────────────── ch04 新增 ───────────────────────┐
    │ │
    │ Memory RunnableWithMessageHistory + trimMessages │
    │ InMemoryChatMessageHistory (Map<sid, Hist>) │
    │ │
    │ Tools tool() + zod schema + tool loop (≤5 轮) │
    │ + safePath 路径沙箱 │
    │ │
    │ Embeddings @xenova/transformers 本地模型(384 维) │
    │ + MemoryVectorStore (@langchain/classic) │
    │ │
    │ Multi-Agent 5 Agent 小链 + Fixed Workflow 编排 │
    │ Promise.all 并行 + 澄清短路 │
    │ │
    │ 统一入口 AdvancedAnalysisService.analyze() │
    │ 编排 → 落盘 → 写回记忆(闭环) │
    └──────────────────────────────────────────────────────────┘

    依赖新增:@xenova/transformers(本地向量化)、@langchain/classic(MemoryVectorStore)。

    Java 开发者对照

    本章概念Java 世界对应物
    RunnableWithMessageHistory Spring AI 的 ChatMemory + Advisor 机制
    InMemoryChatMessageHistory ConcurrentHashMap 做的 Session 仓库(生产换 Redis)
    trimMessages 滑动窗口裁剪,类似消息队列的 maxRetention
    tool() + zod schema Spring AI @Tool + Bean Validation
    工具循环 Function Calling 协议的 while 循环
    MemoryVectorStore 嵌入式向量库(生产换 pgvector = 换 PostgreSQL)
    Fixed Workflow 编排 编排服务 + CompletableFuture.allOf 并行
    analyze() 统一入口 DDD 的 Application Service / Facade

    前置条件

    • ch03 的 services/chat 已跑通(第四章在 ch03 基础上继续)
    • .env 里配置好 API Key(DashScope 兼容模式)
    • 本章多了一个本地模型下载步骤(~90MB),国内网络需要配镜像——踩坑见 04 篇

    学习路径

    4.1 失真问题(为什么) ← 先承认:模型没有记忆
    │
    ▼
    4.2 Memory(记得住) ← 历史回填 + 裁剪
    │
    ▼
    4.3 Tools(会干活) ← 模型发意图、服务端执行
    │
    ▼
    4.4 Embeddings(找得到)← 语义检索
    │
    ▼
    4.5 Multi-Agent(能协作)← 5 专职 Agent + 编排
    │
    ▼
    4.6 统一入口(收束) ← analyze() 闭环
    │
    ▼
    4.7 本章小结 ← 判断标准


    回到索引:第四章博客索引

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 第四章 00:开篇 —— 从「会聊天」到「记得住、会干活、能协作」
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!