模块功能和结构

snail-ai-agent-executor 三个子模块的职责
这是 Agent Client 端的核心模块,负责接收 Server 分发来的聊天请求并实际调用 LLM 执行。三个子模块按依赖关系从底到顶:

1. snail-ai-agent-executor-model — 模型层
职责:封装 ChatModel 的创建与配置

image

简单说:把 Server 下发的模型配置变成可调用的 ChatModel 对象。

2. snail-ai-agent-executor-core — 核心执行层
职责:聊天会话的完整执行引擎,包含以下子模块:
📌 executor/ — 执行器

image

advisor/ — ChatClient 拦截器链

image

resolver/ — 工具解析器

image

📌 runtime/ — 会话运行时

image

📌 grpc/handler/ — gRPC 请求处理器

image

3. snail-ai-agent-executor-starter — 自动配置层
职责:Spring Boot 自动装配 + 生命周期管理

image

生命周期管理:

容器就绪 → 启动 Client gRPC 服务(监听 1790 端口)
         → 启动心跳调度器(定期向 Server 上报)
         
容器销毁 → 先停心跳(摘除注册)
         → 再关 gRPC 服务

还负责创建 gRPC 回调代理:

// JDK 动态代理:RpcClient 接口方法 → gRPC 调用 Server
RpcClient serverCallback = (RpcClient) Proxy.newProxyInstance(..., new GrpcClientInvokeHandler(...));

三者关系图

image

一句话总结:
model:模型配置 → ChatModel 对象
core:收到聊天请求 → 组装 Prompt + Tool → 调用模型 → 流式返回结果
starter:Spring Boot 自动装配 + 启动/停止生命周期管理

posted @ 2026-09-20 14:57  雨也飘柔  阅读(5)  评论(0)    收藏  举报