AI原生智能体应用开发框架介绍:后端技术选型
AAFAgentic App Framework是面向开发人员的生产级 AI 原生框架是一套规范驱动、AI 原生的应用开发框架目标是让开发者用 AI 协作的方式构建 AI 原生应用——不只是在应用里集成 AI而是用 AI 驱动整个开发过程本身本文介绍后端技术选型。一、Java 25 核心特性特性JEP价值Virtual Threads正式百万级轻量线程替代 WebFlux 复杂度同步写法异步性能Scoped Values506替代 ThreadLocal跨方法链传递上下文适配虚拟线程Structured Concurrency505 (Preview)多子任务并行编排Agent 并发调用多 LLM统一错误处理Record正式不可变数据载体DTO/VO/Event 首选Sealed Classes正式有限状态建模工作流节点、Agent 状态机Pattern Matching (switch)正式类型安全分支逻辑替代 if-else/visitorFlexible Constructor Bodies513构造器内 super() 前校验参数Compact Object Headers519对象头 12→8 字节向量 Embedding 场景节省内存AOT Class Loading514/515启动加速 热点预编译Stable Values502 (Preview)线程安全懒初始化替代 double-checked lockingPreview 特性Structured Concurrency、Stable Values在aaf-framework封装业务层不直接依赖版本升级可平滑切换。二、Spring Boot 4 / Spring AI 2.02.1 框架核心特性说明Jakarta EE 11Servlet 6.1 JPA 3.2 Bean Validation 3.1JSpecify Null Safety全栈 null 安全注解编译期消除 NPEJackson 3默认 JSON 序列化更好的 Record 支持HTTP Service Clients声明式 HTTP 接口替代 FeignAPI Versioning内置 API 版本管理MVC/WebFluxVirtual Threads 自动适配Tomcat 零配置使用虚拟线程处理请求OpenTelemetry Starter内置 OTLP 导出metrics tracesModular Auto-Configuration按需加载减少启动开销GraalVM Native Image生产级原生编译秒级启动SSL/TLS 自动管理证书健康检查 自动轮换2.2 AI 原生能力Spring AI AgentScope能力说明ChatClient 统一抽象模型无关OpenAI/Ollama/Anthropic一套代码切换模型Tool Calling声明式工具注册LLM 自动调用 Java 方法MCP Client/ServerMcpTool/McpResource/McpPrompt注解式开发Advisor Chain请求/响应拦截链RAG、日志、安全过滤Vector Store 抽象PgVector/Milvus 统一接口Chat MemoryJDBC 持久化对话记忆Document ReaderTika/Markdown/Jsoup 多格式解析Structured Output类型安全 LLM 输出解析直接映射 RecordEvaluation FrameworkAI 输出质量评估相关性、忠实度 用户反馈收集 RAGAS 指标AgentScope Java多智能体编排 Starter统一提供 Token 统计、模型路由、Memory、RAG、Human-in-the-Loop、Observability Studio、Hook System、AG-UI/A2A、Pipeline/Supervisor/HandoffsLLM 可观测性基于 OTLP AgentScope Observability StudioAgent 执行可视化 调用链追踪 Token 用量分析Prompt 模板管理系统级 Prompt 版本化存储 动态加载基于 AgentScope 文档引擎Token 用量统计每次 LLM 调用消耗记录支持配额控制和成本分析AgentScope getChatUsage() 内置2.3 AAF 独有 AI 能力能力说明认知层CognitionMemory Knowledge Value价值观 Retrieval融合检索 Learning 横切基于 PgVector/Neo4j/Redis 自实现借鉴 Mem0/Graphiti/Cognee/LightRAG不集成 Python 框架。详见 认知层设计情感感知文本情绪分类 操作节奏分析驱动回应风格/信息密度自适应情感记忆本地加密不外传置信度门控0.9 自动 / 0.7-0.9 确认 / 0.7 转人工不可逆操作强制人工结果暂存后提交输出溯源每条输出携带 TraceIdagentId modelId toolChain 知识来源审计归档Prompt 注入防御输入净化动态 UUID 分隔符包裹用户输入 意图一致性校验LLM 响应缓存相同 prompt 参数缓存响应降低 Token 成本Advisor Redis内容审核输入/输出敏感词过滤优先对接云服务阿里云/腾讯云内容安全 API语音处理ASR/TTS 对接云服务阿里云/火山引擎/OpenAI Whisper API图像处理OCR/多模态对接云服务阿里云 OCR / GPT-4V / Gemini Vision三、核心依赖清单仅列需要锁定或新增引入的依赖标准 Spring Boot Starter 默认引入不再列出。所有版本由aaf-dependenciesBOM 统一管理。3.1 Web / API用途依赖备注WebSpring MVC Virtual Threads同步编程模型 虚拟线程流式推送SseEmitterAI 流式输出天然适配双向通信WebSocket仅多人协作场景API 文档SpringDoc OpenAPI 3REST 自动生成 Swagger UI灵活查询Spring GraphQL前端灵活查询/知识图谱与 REST 并存参数校验spring-boot-starter-validationBean Validation 3.1邮件spring-boot-starter-mail通知/验证码3.2 数据访问用途依赖备注ORMSpring Data JPA Hibernate 7JPA 3.2关系 向量PostgreSQL 17 PgVector一库双职减少组件图数据库Neo4j 5知识图谱、文档关系图查询 DSLneo4j-cypher-dsl类型安全 Cypher 构建分布式缓存Redis 7 Lettuce连接池 Spring Cache 接入本地缓存CaffeineSpring Cache 两级缓存全文检索PostgreSQL FTS中小规模够用避免 ESSchema 迁移Flyway版本化 DDL3.3 业务能力用途依赖备注工作流Flowable 8BPMN 2.0官方支持 Spring Boot 4 Jackson 3规则引擎Easy Rules轻量复杂场景升级 DroolsDSL 解析ANTLR4Magic-DSL 语法解析代码生成模板FreeMarker代码生成器JDK 25 兼容AST 操作JavaParser运行时代码分析与改写auto-dev热部署诊断Arthas运行时诊断 类热替换实时协同Yjs (CRDT)多人协作冲突合并沙箱执行GraalVM PolyglotAgent 运行时隔离3.4 安全 / 防护用途依赖备注认证授权Spring Security 7 JWTOAuth2 Resource Server Method Security无密码认证Spring Security WebAuthn指纹/Face ID/硬件密钥关系权限图存储Neo4j 5ReBAC 关系元组 权限继承路径遍历见 3.2权限缓存Redis 7正向/负向结果缓存TTL 5min变更主动失效容错Resilience4j熔断/重试/超时/舱壁限流/配额Bucket4jToken 桶支持 Token 预算感知配置加密Jasypt本地兜底生产用 Vault/KMS密钥管理HashiCorp Vault / 云 KMS密钥托管 自动轮换90 天数据密钥 / 年度主密钥XSS 过滤JsoupHTML Safelist 白名单净化沙箱隔离GraalVM PolyglotAgent 不可信代码执行隔离见 3.33.5 工具 / 集成用途依赖备注对象映射MapStruct Lombok编译期代码生成文件存储MinIO / 阿里云 OSS / AWS S3统一 FileStorage 接口文件导出Apache Fesod 2.0.1-incubating原 EasyExcel → FastExcel → FesodPDF 导出iText 8报表 PDFWord 导出poi-tl模板驱动Markdown 解析commonmark-java知识库文档导入User-Agent 解析yauaa登录日志设备识别系统信息oshi-core-java25 6.12跨平台 CPU/内存/磁盘监控IP 归属地ip2region纯本地库汉字转拼音TinyPinyin轻量低内存3.6 可观测性用途依赖备注指标Micrometer Prometheus GrafanaSpring Boot 4 内置 OpenTelemetry日志SLF4J Logback Structured JSON便于采集错误告警Sentry生产异常 堆栈聚合 性能追踪3.7 构建 / 测试用途依赖备注构建Maven 3.9Nx 桥接格式化Spotless Google Java Format代码格式化CI 强制单元测试JUnit 5 Mockito-架构守护ArchUnit分层规则测试数据Instancio支持 Record 自动生成覆盖率JaCoCo测试覆盖率度量CI 质量门控漏洞扫描OWASP dependency-checkCI 扫描 CVEGit 注入git-commit-id-maven-pluginActuator /info热重启spring-boot-devtools代码变更自动重启加速本地开发生产 profile 自动排除四、关键架构决策决策选择放弃理由并发模型Virtual Threads 同步 MVCWebFlux 全栈JDK 25 虚拟线程正式SSE 场景保留响应式ORMJPA Hibernate 7MyBatis / MyBatis-Plus避免双 ORMJPA 3.2 能力足够工具库JDK Spring 原生Hutool标准库已覆盖避免重复关系 向量PostgreSQL PgVector独立向量库Milvus/Weaviate一库双职减少组件和运维关系 图PostgreSQL Neo4j 并存纯关系库多跳关系 Cypher 远优于 SQL JOIN职责互补不重叠工作流Flowable 8自研BPMN 2.0 标准 DSL 驱动 Spring Boot 集成成熟LLM 抽象Spring AI 2.0LangChain4jSpring 生态原生 模型无关 向量抽象与 PgVector 一致流式推送SSEWebSocket 全量SSE 单向够用WebSocket 仅协作场景Preview 特性framework 层封装业务层直用版本升级可平滑切换五、五层架构 → Maven 模块映射Layer 5 对话与交互层 → aaf-apiREST SSE/WebSocket 端点启动入口 Layer 4 服务层 → aaf-api/module/system/document/chat/autodev 分包隔离 Layer 3 智能层 → aaf-framework: intelligent/core/agent/cognition/assistant/team Layer 2 引擎层 → aaf-framework: engine/调度机制 专项引擎 Layer 1 基础设施层 → aaf-common PostgreSQL Neo4j Redis模块职责aaf-dependencies依赖版本 BOM纯 pom禁 Java 代码aaf-common工具类、常量、异常、基础实体零业务依赖aaf-framework引擎层 智能层 框架内置能力aaf-auto-devAI 驱动代码生成与自进化aaf-api业务模块 启动入口v0.1.0 采用单启动模块 分包隔离后续按需拆分为独立 Maven 模块。详细目录见 模块结构。六、框架内置能力开箱即用本节只列框架自研封装的能力——即在第三节依赖之上做了额外抽象/注解/策略的部分。纯依赖引入即可用的能力如 Caffeine 缓存、Resilience4j 熔断、Jsoup XSS 过滤、Bean Validation、JPAVersion不再重复见第三节。6.1 请求与响应基础aaf-common能力封装价值统一响应封装ResultT标准响应体code/message/data/timestamp错误码体系错误码注册表 BusinessException模块级区段划分前端按 code 国际化分页查询封装PageRequest/PageResultT统一分页协议基础实体BaseEntityid/createTime/updateTime/deleted逻辑删除 审计字段自动填充 乐观锁6.2 Web 与 APIaaf-api/config能力封装价值全局异常处理RestControllerAdvice统一捕获 → 错误码映射 → 标准Result响应消息推送WebSocket/SSE 统一推送封装系统通知/任务进度/Agent 状态屏蔽协议差异多语言国际化i18n 错误码/消息多语言MessageSource 错误码体系联动6.3 安全与权限四层权限模型与安全横切设计详见 访问控制设计 和 安全架构设计。能力封装价值四层权限检查RBACSpring Security 原生 ReBACNeo4j 图遍历 记录规则JPA 拦截器 ABAC策略引擎统一 Actor 抽象数据权限DataScope按组织/部门/团队/个人多级过滤SQL 自动注入数据脱敏Sensitive注解响应/日志中敏感字段自动脱敏列加密JPA AttributeConverter 应用层加密L3/L4 数据保护API Key 管理B2B 外部系统鉴权支持配额/过期/撤销实时交互授权Agent 运行时请求额外权限 → WebSocket 推送 → 会话级临时授权AI 数据安全LLM 发送前脱敏引擎 多模型分片 Prompt 注入防护验证码图片/短信/邮件验证码Redis 存储 过期失效登录失败锁定Redis 计数 临时封禁6.4 并发与可靠性能力封装价值幂等控制Idempotent注解 Redis声明式防重复提交分布式锁DistributedLock注解 Redis声明式加锁配额与限流在 Resilience4j/Bucket4j 之上封装按用户/租户/API 维度的 Token 预算感知配额超额告警/降级事件总线Spring ApplicationEvent 封装模块间解耦通信轻量任务队列PostgreSQL 持久化 Redis 通知 失败重试/死信/削峰/延迟执行零额外中间件。详见 任务队列设计定时任务Scheduled无状态 Quartz持久化/动态管理按场景选择6.5 日志与可观测能力封装价值操作日志OperationLog注解切面SpEL 模板 bizNo 关联借鉴 bizlog-sdk自研实现登录日志记录登录时间/IP/设备/成功失败支持异常登录告警链路追踪TraceId 自动注入MDC 虚拟线程适配全链路可追踪健康检查扩展自定义 HealthIndicatorLLM 可用性/向量库连通性/Neo4j 连通性6.6 数据与存储能力封装价值文件存储统一FileStorage接口多后端配置切换依赖见 3.5此处是接口抽象层系统参数运行时动态业务配置区别于字典枚举支持类型化读取VO 数据翻译Trans注解序列化时自动翻译字典值/用户 ID/部门 ID 为显示名基于 Jackson Serializer 自研语义检索策略在 PgVector PostgreSQL FTS 之上封装精确/全文/语义三层递进检索策略6.7 外部集成能力封装价值第三方集成企业微信/钉钉/飞书统一接入层消息推送/组织架构同步/审批流转短信服务统一SmsSender接口多厂商实现阿里云/腾讯云/Twilio配置切换支付对接统一PaymentService接口微信支付/支付宝配置切换渠道IoT 设备接入阿里云 IoT Platform Spring Integration MQTT 消费封装6.8 AI 原生能力能力封装价值AI 对话封装ChatClient 统一入口 记忆管理 流式 SSE对 Spring AI ChatClient 的业务增强工具白名单工具注册表 白名单校验器Agent 调用前强制校验输出溯源 IDtraceId agentId modelId toolChain与 MDC 联动审计情感记忆存储本地加密存储AES 用户私有区隔离不进入模型训练、不外传6.9 引擎能力能力封装价值DSL 解析封装在 ANTLR4 之上封装 Magic-DSL 语法骨架dev/runtime/doc 三域解析。详见 Magic-DSL 设计AI 工作流编排DSL 定义 AI 流程 → Flowable 实例化执行v0.3 自动暴露为 REST API规则引擎封装在 Easy Rules 之上封装 DSL 驱动规则定义支持促销/通知/权限规则运行时热更新热部署能力自定义 ClassLoader Arthas API 封装aaf-auto-dev 生成代码沙箱验证后热加载物理时空引擎世界模型 物质定义 物理规则语义相似度驱动聚合v2.0 对接 actormesh。详见 物理时空引擎设计6.10 业务模块aaf-api/module/system能力封装价值菜单管理树形菜单定义 动态路由与权限系统联动部门管理组织架构树支持数据权限按部门过滤字典管理系统字典定义 缓存前端下拉选项统一管理6.11 开发工具aaf-auto-dev能力封装价值代码生成器表结构 → CRUD 代码Controller/Service/Repository/Entity/VO七、业务实现路径双模式并存7.1 迁移分类分类含义 永不迁移元引擎启动依赖 / 安全基石永久硬编码 部分迁移核心骨架保留硬编码扩展点迁移到 DSL 全迁移元引擎成熟后迁移到无代码7.2 模块清单模块分类理由用户认证 / RBAC 核心 / 系统配置 / 操作日志 / 任务队列 / 文件存储 / 监控安全基石 框架基础设施必须硬编码可审计权限点/角色/数据范围定义鉴权逻辑不动规则定义走 DSL聊天/对话消息收发/SSE通道不动对话策略/路由走 DSL文档服务存储/版本/解析引擎不动文档类型/元数据走 DSL计费/积分 / 支付对接事务/SDK 不动规则/路由走 DSL消息通知通知规则 模板完全可 DSL 化知识库管理CRUD 检索策略配置客户/联系人/项目/任务/商品动态实体 字段变更频繁订单流程发货/售后/ 审批状态机 工作流运行时促销/优惠规则规则引擎天然场景表单/问卷 / 报表/仪表盘动态定义 数据收集/展示Agent 配置/编排DSL 定义能力/工具/策略7.3 元引擎运行时路线v0.2运行时版本核心技术说明实体运行时v0.2ALTER TABLE 动态加列 JPA MetaModel 自动生成 APIDSL 定义实体 → 动态建表 → 自动 CRUD用户自定义字段为未实现提案设计稿已移除工作流运行时v0.3Flowable 动态部署 Magic-DSLDSL 描述流程 → Flowable 实例化权限运行时v0.4Spring Security 规则引擎 DSLDSL 定义权限规则 → 动态鉴权规则引擎运行时v0.4Easy Rules / Drools DSL促销/通知/数据权限规则自定义逻辑挂载v0.5Spring Cloud Function 自定义 ClassLoader 沙箱AI 生成代码 → 沙箱验证 → 热加载自进化闭环v0.9行为采集 效果评估 规范更新 代码重生成Learning 层闭环详见认知层设计详见 元引擎设计 与 路线图。7.4 设计约束跨模块通过接口交互模块间调用走api/包接口 DTO模块内 Service 单实现不加接口避免样板代码实体设计标准化字段命名、类型、关联关系遵循统一规范方便 DSL 描述业务规则外置校验/计算集中到独立方法不散落在 Controller状态机显式化枚举 状态转换方法不用 if-else 隐式控制开源项目地址https://github.com/aaron-zzh/agentic-app-framework最近正在设计自己的开源OPC(一人公司)会持续分享从理念、方法论到产品设计实现的每一步实践。如果你也对 OPC、极简创业与独立开发感兴趣欢迎关注。感谢您的阅读 ^_^