# Agent **Repository Path**: StephenZ05/agent ## Basic Information - **Project Name**: Agent - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-17 - **Last Updated**: 2025-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ChatBotAgent 基于DDD架构设计的ChatBotAgent,。目前主要具备流式输出对话功能,通过Plan-and-Resolve设计模式设计Agent架构。同时具备多Agent异步装配 ## 环境配置 jdk17+,springboot3.4.3, mysql8.0.28,spring ai 1, dashscope api ## 项目架构 study ---api 接口层,用于存放各类必须接口,在trigger层进行实现 ---app 配置类层,用于存放配置类、AOP切面,mybatis的mapper文件。启动类也在这里 ---domain 领域层,这个项目只有一个领域,如果对领域划分感兴趣可以看我另一个项目 ---infrastructive 基础设施层,我们在mvc架构中的dao接口,dao接口用到的po对象等都在这里 ---types 一些枚举类、异常类等 ---trigger 核心接口实现类,类似于MVC架构中的Controller层。这里会指定url路径和实现api中的接口方法, 同时定时任务、消息监听等都在这里。如果有RPC接口,也会存在这里 ## 设计模式解析 我在这里通过第三方组件,基于责任链和工厂策略设计模式实现了Agent设计模式中的Plan-and-resolve 架构。 核心设计是责任链的四个节点:任务分析、精准执行、质量分析和结果总结。所有的节点身份划分都通过预先设定好的prompt实现 ### 节点执行流程 用户提交对话后,任务分析节点会先尝试分析用户的需求,然后设定初步的执行计划,将这些内容通过上下文传到下一个执行节点中,接着执行节点执行一次,将执行结果存到上下文后传到下一个质量分析节点。 质量分析节点会根据用户提问和上下文中的执行结果进行评分分析是否彻底解决了用户的问题,如果已经解决就设置任务完成状态为true,传到总结节点输出回答结果。否则先检查当前是否达到了最大执行步骤,如果达到了也会走到总结节点,否则跳转到分析节点重来。 每个节点都会根据情况获取mcp工具,知识库查询等。 ## 其他技术实现 CompletableFuture异步装配Agent配置信息、线程池异步执行回答、 ## 项目改进思路 增加对其他微服务项目的嵌入赋能能力,例如让用户通过本项目的对话调用抽奖项目执行抽奖、通过对话完成电商下单退单等。目前思路是在对话中通过意图识别发起http请求调用(暂不知道java如何实现意图识别),或者开发mcp工具进行数据库CRUD返回结果(目前的思路)。多Agent编排也是个可以拓展的地方