内容
活动
关注

零代码改造 + 全链路追踪!Spring AI 最新可观测性详细解读

简介: Spring AI Alibaba 通过集成 OpenTelemetry 实现可观测性,支持框架原生和无侵入探针两种方式。原生方案依赖 Micrometer 自动埋点,适用于快速接入;无侵入探针基于 LoongSuite 商业版,无需修改代码即可采集标准 OTLP 数据,解决了原生方案扩展性差、调用链易断链等问题。未来将开源无侵入探针方案,整合至 AgentScope Studio,并进一步增强多 Agent 场景下的观测能力。

作者:张铭辉(希铭


本文部分总结于 8 月的 LoongSuite 系列公开课及 AI 原生应用实战营 meetup 分享内容。如需查看原视频欢迎移步:https://developer.aliyun.com/live/255218


前言:AI Agent 从 Demo 到生产阶段的挑战


自 2022 年底 GPT-3.5 引爆大模型革命以来,AI 应用经历了从技术探索到产业落地的快速演进。开源模型迭代与低代码平台的兴起,推动了 AI Agent 开发效率的显著提升。然而,行业普遍面临一个核心矛盾:绝大多数 AI 应用仍停留在 demo 阶段,很难在企业级生产环境中大规模落地。最终能形成一个线上服务产品的更是少之又少。


在总结了内部和外部的 Agent 落地经验之后,我们发现在 demo 和生产阶段,大家对 AI 应用的要求会有一个非线性的提高。对于一个 demo 应用来说,我们可能只需要基本功能达到 80 分,把这个应用搓出来,最快地看到效果就够了。但要把这个应用部署到生产,则要额外考虑的事情就非常多了:开发效率、业务能力、部署便捷性、问题诊断能力、成本控制、生成质量、安全合规等方面,都是 AI 应用落地前面的一道道“门槛”。

1760078110514_9C63337D-A8BF-4cad-AEDB-79188BA82308.png

好在现在有一些相对成熟的方案来跨过这些“门槛”,以较低的成本保证 AI 应用的生产可用。按照场景可以基本分为两大类:


  • 开发效率、业务能力、部署能力:这些能力与搭建 AI 应用的技术栈强相关,开发者所采用的语言、框架本身特性直接决定了上述能力的强弱。选择一个相对成熟、开发&运维友好、扩展性好的 AI 应用框架是保证这些能力的重要手段。一些如 AI 网关 [1]、AI Runtime [2]、Agent market [3] 等产品或中间件也能一定程度上提高上述能力。
  • 问题诊断、成本控制、生成质量监测、安全合规:这些场景业务上看似发散,但本质上都需要先回答“如何观测 AI 应用运行时状态”的问题。目前 AI 应用的可观测性包括三种主要的实现路径,按照无侵入性由弱到强可以分为:
  • 通过手动添加埋点:一般需要在应用中引入 metrics、trace、log 框架,通过在关键调用中显示调用 API 来记录数据。该方式最灵活,但实现起来也最繁琐,需要专门的开发者进行开发和维护。
  • 基于框架&基础设施原生的可观测性:不少比较成熟的 AI 框架本身内置了一定的可观测性,如 AgentScope [4]、Dify [5]、Spring AI [6] 等,一些中间件 [7] 和基础设施 [8] 也提供开箱即用的可观测数据透出。该集成方式相对最轻量,但可扩展性最差,且难以打通众多框架与中间件之间的数据关联,使用起来并不方便。
  • 基于专门的可观测采集套件:对于那些较容易实现代码增强的语言,如 Java、Python、Golang 等,存在一些像 OpenTelemetry [9] 和 LoongSuite [10] Instrumentation 这样的自动插桩工具(一般也称之为无侵入探针),可以在编译时或运行时对业务代码进行增强,从而自动化地完成一些可观测性数据的采集。这些工具集成时不需要修改代码与依赖,仅需要修改编译或启动命令,就可以启用应用的可观测性。这种集成方式最简单友好,可观测数据也更加标准通用。基于套件提供的扩展机制,也能比较好地与手动埋点扩展兼容,是许多开发团队的第一选择。


AI Coding 与多语言 AI 框架的强势发展,使得目前越来越多的内部和外部开发团队选择使用 Python 以外的语言搭建 AI 应用。本文将围绕 Java + Spring AI (Alibaba) 的 AI 应用为例,介绍框架原生及无侵入探针的集成方式的最佳实践。


Java 开发者的 AI Agent 框架:Spring AI Alibaba


Spring AI 的局限与突破

Spring AI 作为 Spring 官方推出的 AI 开发框架,借鉴了 Python 语言中炙手可热(至少曾是)的 Langchain 与 LlamaIndex 的实现,通过封装大模型调用、向量数据库、工具调用等基础能力,帮助开发者用几行代码即可构建智能体原型。例如,以下代码可快速实现一个带工具调用的对话 Agent:


public Flux<String> streamChat(String chatId, String userMessageContent) {  return this.chatClient.prompt()  .system("你是一个提供预定服务的chatbot")  .user(userMessageContent)  .toolNames("getBookingDetails")  .stream()  .content(); }


然而,当业务场景涉及多 Agent 协同、复杂工作流时,Spring AI 的单体化设计显现出明显短板:


  • 缺乏工作流编排能力难以实现 Agent 间的任务流转与状态管理;
  • 生态集成有限未提供企业级所需的 RAG、模型评估等开箱功能。


Spring AI Alibaba 的增强能力

作为对 Spring AI 的企业级增强方案,Spring AI Alibaba 通过三大核心特性解决了上述问题:


  1. Graph 框架基于有向无环图实现多 Agent 协同编排,支持条件分支、并行执行等复杂逻辑;
  2. DSL 转换器兼容 Dify 等低代码平台的 DSL 配置,实现“低代码设计-高代码部署”的无缝衔接;
  3. 阿里云生态集成内置 RAG、百炼平台对接、可观测性等企业级能力,加速智能体工业化落地。


以多 Agent 协同场景为例,开发者可通过 Spring AI Alibaba 多 Agent 框架定义如下工作流,并快速完成 Agent 编排:


// 定义 Agent 1 ReactAgent writerAgent = ReactAgent.builder()  .name("writer_agent")  .model(chatModel)  .description("可以写文章。")  .instruction("你是一个知名的作家,擅长写作和创作。请根据用户的提问进行回答。")  .outputKey("article")  .build(); // 定义 Agent 2 ReactAgent reviewerAgent = ReactAgent.builder()  .name("reviewer_agent")  .model(chatModel)  .description("可以对文章进行评论和修改。")  .instruction("你是一个知名的评论家,擅长对文章进行评论和修改。对于散文类文章,请确保文章中必须包含对于西湖风景的描述。")  .outputKey("reviewed_article")  .build(); // 定义顺序的 AgentFlow SequentialAgent blogAgent = SequentialAgent.builder()  .name("blog_agent")  .state(stateFactory)  .description("可以根据用户给定的主题写一篇文章,然后将文章交给评论员进行评论,必要时做出修改。")  .inputKey("input")  .outputKey("topic")  .subAgents(List.of(writerAgent,reviewerAgent))  .build(); Optional<OverAllState> result = blogAgent.invoke(Map.of("input", "帮我写-个I00字左右的散文");


受限于篇幅,本篇不对框架本身过多介绍,更多 Spring AI Alibaba 框架的最佳实践请移步:Spring AI Alibaba 官方网站[11]。


可观测性集成:框架原生方式


基本原理

1760078493803_0C6124D7-B64C-4165-B9B1-C1815475C1B2.png

Spring AI Alibaba 的可观测性体系基本基于 OpenTelemetry(OTel)标准构建,通过分层架构实现数据采集、处理与上报的全链路覆盖:


  1. 埋点层框架内部通过 Micrometer(Spring 官方推荐的可观测中间件)对关键调用(如模型推理、工具调用、外部调用)自动埋点;
  2. 数据导出层Micrometer 在运行时提供可插拔的 Tracer 实现,支持将埋点层产生的数据使用 OpenTelemetry SDK 导出为满足 OTLP 协议的格式;
  3. 存储层兼容任何支持 OTLP 协议格式的可观测存储,如 Prometheus、Langfuse、Jaeger 等;
  4. 扩展层Spring AI Alibaba 基于 Spring AI 原生实现提供了一些可观测性扩展 [12],支持如输入输出采集、提示词版本关联采集等更多 Spring AI 暂不支持的数据格式与语义。


接入实践

STEP 1:准备 Agent 应用

Spring AI Alibaba 示例项目中提供了非常多类型的实例项目,本次实践采用的机票预定助手项目可以在该链接找到:https://github.com/spring-ai-alibaba/examples/tree/main/spring-ai-alibaba-agent-example/playground-flight-booking [13]。


STEP 2:引入相关依赖


<!-- 用于实现各种 OTel 相关组件,如 Tracer、Exporter 的自动装载 --> <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!-- 用于将 micrometer 产生的指标数据对接到 otlp 格式 --> <dependency>  <groupId>io.micrometer</groupId>  <artifactId>micrometer-registry-otlp</artifactId> </dependency> <!-- 用于将 micrometer 底层的链路追踪 tracer 替换为 OTel tracer --> <dependency>  <groupId>io.micrometer</groupId>  <artifactId>micrometer-tracing-bridge-otel</artifactId> </dependency> <!-- 用于将 OTel tracer 产生的 span 按照 otlp 协议进行上报 --> <dependency>  <groupId>io.opentelemetry</groupId>  <artifactId>opentelemetry-exporter-otlp</artifactId> </dependency> <!-- 引入 ARMS 可观测性扩展 --> <dependency>  <groupId>com.alibaba.cloud.ai</groupId>  <artifactId>spring-ai-alibaba-autoconfigure-arms-observation</artifactId> </dependency>


以上依赖彼此之间的关系如下图所示,实线为直接依赖,虚线为间接依赖:

1760078539980_3FDEE17D-6193-483a-AE39-E65A33804D66.png

STEP 3:修改 application.properties 相关配置,启用可观测性


# arms 扩展相关配置 spring.ai.alibaba.arms.enabled=true spring.ai.alibaba.arms.tool.enabled=true spring.ai.alibaba.arms.model.capture-input=true spring.ai.alibaba.arms.model.capture-output=true # otel 扩展相关配置 management.otlp.tracing.export.enabled=true management.tracing.sampling.probability=1.0 management.otlp.tracing.endpoint={YOUR_TRACE_ENDPOINT} management.otlp.metrics.export.enabled=true management.otlp.metrics.export.url={YOUR_METRICS_ENDPOINT} management.otlp.logging.export.enabled=false management.opentelemetry.resource-attributes.service.name={YOUR_SERVICE_NAME} management.opentelemetry.resource-attributes.service.version=1.0 management.opentelemetry.resource-attributes.deployment.environment=test


要获取数据上报端点,你可以参考文档通过OpenTelemetry上报Java应用数据[14] 将数据上报到阿里云,你也可以将其替换为任何一个其他支持 OTLP 上报协议的上报端点,如 Spring AI Alibaba Admin [15]。


STEP 4:启动应用

启动命令为:java -jar spring-ai-demo.jar


STEP 5:登录阿里云应用监控 OpenTelemetry 版,查看可观测数据

访问应用后,能够查看到大模型的部分调用链路。通过 span 名称可以看到过程中发生了两次大模型调用(chat qwen-max),中间还调用了一次工具(execute_tool get-booking-details),在每个 span 中都可以看到对应的上下文信息,如模型输入输出、消耗 token 数、调用的工具名与入参等等。

1760078580901_FB97839F-1678-4372-A3A0-DF0C077675B1.png

注:由于 Spring AI 目前提供的指标与 OpenTelemetry 命名规范不一致,目前仅支持查看 tracing 数据。


可观测性集成:无侵入探针方式


框架原生可观测性的痛点

在前言中我们提到,框架原生的可观测性虽然带来了简便的接入体验,但往往存在各种局限性,主要包括以下几个方面:


  1. 扩展性差Spring AI 的内置埋点与框架代码是耦合在一起的,如果我们希望为某些 span 添加一些额外的 attributes,或者把部分 attributes 采用日志的形式打印,实现受制于框架埋点实现。一旦框架本身并没有采集某些上下文,实现期望的扩展就会非常困难,往往需要向 Spring AI 仓库提交 PR。
  2. 端到端实现困难库原生的可观测实现与无侵入探针方案适配性较差(相关讨论可以参见What are the Best Practices for Providing Instrumentation for Spring AI. [16])。一旦选用了库原生的方案,又在 Agent 中需要发起消息队列/中间件/RPC 等调用时,就必须选择 Spring 原生支持的调用类型,或者基于 Micrometer 机制手动添加埋点透传上下文,否则就会导致调用链断链,影响问题定位和排查。
  3. 灵活度低Spring AI 的可观测性大量使用了 Spring Boot 的 Auto Configuration 机制,对手动管理的 Spring Bean 适配性较差。
  4. 运维复杂接入需要引入大量不同发行商的依赖,这些依赖之间可能存在诸多版本限制,不利于项目依赖的升级和维护。


为了应对这些问题,进一步简化接入步骤,LoongSuite 商业版自 4.6.0 版本起面向 Spring AI (Alibaba) 提供了无侵入探针的解决方案。


LoongSuite 简介

LoongSuite 是阿里云可观测团队维护的一个可观测性开源品牌,统一管理多个数据采集产品。它包含 LoongCollector,用于主机级别的数据采集,支持日志、Prometheus 指标及 eBPF 网络与安全数据。同时,LoongSuite 提供多种语言的进程探针,如 Python、Go 和 Java 探针,用于无侵入式地采集 AI 应用的运行数据。这些探针可以捕获模型输入输出、工具调用情况及耗时等信息。LoongCollector 负责数据的统一处理与上报,支持 OTLP 协议,可对接开源系统如 Jaeger、Elasticsearch,也可连接云厂商的托管服务。此外,LoongSuite 与 OpenTelemetry 社区紧密合作,其 Python 探针基于社区版本扩展 AI 插件,Go Agent 源自阿里云贡献项目,并参与推动 Go 插桩技术发展及 GenAI 语义规范的制定。[17]

1760078624094_FCE718B1-0EDF-423a-AE50-AFC6495BEEC0.png

技术原理

1760078641949_4BE8A027-6172-407e-8D55-12230B4F8940.png

LoongSuite 多语言探针通过 Java、Golang、Python 等语言提供的代码增强机制,在探针包中预定义好一系列的代码增强逻辑。通过修改编译或者启动命令,探针包中的代码增强逻辑会生效于目标框架的关键方法中,在方法执行前后分别执行预定义好的一些步骤,如创建/关闭 span、记录 metrics、传递上下文、捕获异常等。使用者不需要修改业务代码,就可以直接集成可观测性。

相比框架原生方案,该实现有诸多优势:

1760078655652_ED08C366-375A-4f5a-A086-1B2702F8D395.png

接入实践

STEP 1:准备 Agent 应用

同上一章 STEP 1,项目地址:https://github.com/spring-ai-alibaba/examples/tree/main/spring-ai-alibaba-agent-example/playground-flight-booking


STEP 2:下载探针

目前仅 LoongSuite 商业版 4.6.0 版本支持 Spring AI (Alibaba) 的无侵入接入,该版本尚未完全发布,您可以通过以下链接获取探针并解压:http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/4.6.0/AliyunJavaAgent.zip

1760078680043_3586F0B6-FCEA-4372-88E1-B2C294703672.png

STEP 3:修改启动命令,启动应用

您可以进入云监控 2.0 控制台[1],选择一个工作空间后,按照接入中心 > 应用监控&链路追踪 > 手动安装 > 自研 Java Agent(通用环境手动接入)中的步骤来接入您的应用。


原启动命令为:


java -jar spring-ai-demo.jar


修改后启动命令为:


java \  -javaagent:{PATH_TO_JAVA_AGENT} \  -Dprofiler.jdk21.async.context.propagation.enable=true \  -Darms.licenseKey={YOUR_LICENSE_KEY} \  -Darms.appName={YOUR_APP_NAME} \  -Darms.workspace={YOUR_WORKSPACE}  -Daliyun.javaagent.regionId={YOUR_REGION} \  -jar spring-ai-demo.jar


注:

  • 请把 {PATH_TO_JAVA_AGENT} 替换为 STEP 2 中解压后的探针地址绝对路径
  • 如果您使用的是 JDK 21 及以上版本,且未开启虚拟线程,可以使用-Dprofiler.jdk21.async.context.propagation.enable=true来保证异步上下文自动透传;如若开启虚拟线程,则需谨慎使用,详情参见:探针(Java Agent)版本说明[2]
  • 请把 {YOUR_LICENSE_KEY} 替换为您的 license key,把 {YOUR_WORKSPACE} 替换为您的工作空间名,您可以在 云监控 2.0 控制台选择您的工作空间,并单击接入中心获取您的 license key
  • 请把 {YOUR_APP_NAME} 替换为您的应用名,把 {YOUR_REGION} 替换为您需要上报到的地域


STEP 4:登录阿里云云监控,查看可观测数据

能看到包括微服务调用在内的大模型调用,相比框架原生的接入方案,无侵入探针的可观测数据遵循了最新的 OpenTelemetry 语义规范,前端适配更加完整、准确。

1760078727402_B19534A3-08CE-4ba5-B83D-CD95E9E6408F.png

也可以通过单击选项卡仅过滤 AI 相关调用。

1760078743047_6A77E817-FB81-467f-919D-1871ACE344C2.png

使用 K8S 部署,体验更快捷的接入方式

如果您的 Spring AI 应用部署在 K8S 环境中,您可以通过修改 pod label 的方式完成探针接入,免去探针下载与修改启动命令的步骤,更加方便快捷,详情请参见:监控 ACK 集群下的 Java 应用[19],调整探针版本为 4.6.0 的方式可以参考自主控制探针版本[20]。


未来展望:Spring AI 可观测性的下一个里程碑


1. 可观测插桩开源:当前仅 LoongSuite 商业版探针(也即 AliyunJavaAgent)支持 Spring AI 的无侵入接入,我们计划在短期内将其贡献到 LoongSuite 开源社区及 OpenTelemetry 社区,为更广大的开发者群体提供便利。欢迎在 issue 下面留言提出您的意见:https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/12878


2. AgentScope Studio 融合:AgentScope Studio 后续将成为 LoongSuite 可观测性的前端门户,Spring AI 可观测性相关能力也将整合进入 AgentScope 中:https://github.com/agentscope-ai/agentscope-studio


3. 更加丰富的可观测数据:当前无侵入探针在多 Agent 场景下的适配还稍显不足,后续我们将面向 Spring AI Alibaba 的多 Agent 框架增加 Agent 粒度的调用统计,提供更加丰富、准确、完整的可观测性。


交流群:

欢迎加群参与讨论交流。


LoongSuite 可观测套件社区:

1760078798154_05450477-4AB0-4d5c-86BE-ADBABC804D8E.png

Spring AI Alibaba 社区:

1760078813000_C2FEACE1-3E83-488f-9AE8-B074200A9907.png


参考文章:

[1] 什么是 AI 网关

https://help.aliyun.com/zh/api-gateway/ai-gateway/product-overview/what-is-an-ai-gateway

[2] 什么是 Function AI

https://help.aliyun.com/zh/functioncompute/fc-3-0/what-is-a-serverless-development-platform

[3] Himarket

https://github.com/higress-group/himarket

[4] AgentScope Tracing

https://doc.agentscope.io/tutorial/task_tracing.html

[5] Dify Monitoring

https://docs.dify.ai/en/guides/monitoring/README

[6] Spring AI Observability

https://docs.spring.io/spring-ai/reference/observability/index.html

[7] Milvus Evaluation & Observability

https://milvus.io/docs/zh/integrate_with_langfuse.md

[8] 阿里云百炼:用量与性能观测

https://bailian.console.aliyun.com/?tab=doc#/doc/?type=model&url=2867415

[9] OpenTelemetry Python Contrib

https://github.com/open-telemetry/opentelemetry-python-contrib

[10] LoongSuite Python Agent

https://github.com/alibaba/loongsuite-python-agent

[11] Spring AI Alibaba 官方网站

https://sca.aliyun.com/en/ai/

[12] Spring AI Alibaba Observation Extension

https://github.com/alibaba/spring-ai-alibaba/tree/main/spring-ai-alibaba-observation-extension

[13] Spring AI Alibaba Example: Playground Flight Booking

https://github.com/spring-ai-alibaba/examples/tree/main/spring-ai-alibaba-agent-example/playground-flight-booking

[14] 通过 OpenTelemetry 上报 Java 应用数据

https://help.aliyun.com/zh/arms/tracing-analysis/use-opentelemetry-to-submit-trace-data-of-java-applications

[15] Spring AI Alibaba Admin

https://github.com/spring-ai-alibaba/spring-ai-alibaba-admin

[16] What are the Best Practices for Providing Instrumentation for Spring AI.

https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/12878

[17] 阿里云正式开源 LoongSuite:打造 AI 时代的高性能低成本可观测采集套件

https://developer.aliyun.com/article/1672624

[18] 探针(Java Agent)版本说明 : 4.2.1 版本

https://help.aliyun.com/zh/arms/application-monitoring/user-guide/java-agent-release-note

[19] 监控 ACK 集群下的 Java 应用

https://help.aliyun.com/zh/arms/application-monitoring/getting-started/monitoring-java-applications-in-an-ack-cluster

[20] 自主控制探针版本

https://help.aliyun.com/zh/arms/application-monitoring/use-cases/autonomous-control-probe-version


相关链接:

[1] 云监控 2.0 控制台

https://cmsnext.console.aliyun.com/next/home

[2] 探针(Java Agent)版本说明

https://help.aliyun.com/zh/arms/application-monitoring/user-guide/java-agent-release-note

相关文章
|
21天前
|
人工智能 Java Nacos
基于 Spring AI Alibaba + Nacos 的分布式 Multi-Agent 构建指南
本文将针对 Spring AI Alibaba + Nacos 的分布式多智能体构建方案展开介绍,同时结合 Demo 说明快速开发方法与实际效果。
1058 49
|
19天前
|
人工智能 IDE Java
AI Coding实践:CodeFuse + prompt 从系分到代码
在蚂蚁国际信贷业务系统建设过程中,技术团队始终面临双重考验:一方面需应对日益加速的需求迭代周期,满足严苛的代码质量规范与金融安全合规要求;另一方面,跨地域研发团队的协同效率与代码标准统一性,在传统开发模式下逐渐显现瓶颈。为突破效率制约、提升交付质量,我们积极探索人工智能辅助代码生成技术(AI Coding)的应用实践。本文基于蚂蚁国际信贷技术团队近期的实际项目经验,梳理AI辅助开发在金融级系统快速迭代场景中的实施要点并分享阶段性实践心得。
241 25
AI Coding实践:CodeFuse + prompt 从系分到代码
|
30天前
|
人工智能 自然语言处理 安全
氛围编程陷阱:为什么AI生成代码正在制造大量"伪开发者"
AI兴起催生“氛围编程”——用自然语言生成代码,看似高效实则陷阱。它让人跳过编程基本功,沦为只会提示、不懂原理的“中间商”。真实案例显示,此类项目易崩溃、难维护,安全漏洞频出。AI是技能倍增器,非替代品;真正强大的开发者,永远是那些基础扎实、能独立解决问题的人。
146 11
氛围编程陷阱:为什么AI生成代码正在制造大量"伪开发者"
|
19天前
|
人工智能 机器人 测试技术
AI写的代码为何金玉其外败絮其中
本文分析AI编码看着好看其实很烂的现象、原因,探索行之有效的的解决方案。并从理论上延伸到如何更好的与AI协作的方式上。
48 3
|
22天前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
2007 39
|
19天前
|
人工智能 安全 开发工具
C3仓库AI代码门禁通用实践:基于Qwen3-Coder+RAG的代码评审
本文介绍基于Qwen3-Coder、RAG与Iflow在C3级代码仓库落地LLM代码评审的实践,实现AI辅助人工评审。通过CI流水线自动触发,结合私域知识库与生产代码同仓管理,已成功拦截数十次高危缺陷,显著提升评审效率与质量,具备向各类代码门禁平台复用推广的价值。(239字)
252 22
|
25天前
|
安全 Java 测试技术
《深入理解Spring》单元测试——高质量代码的守护神
Spring测试框架提供全面的单元与集成测试支持,通过`@SpringBootTest`、`@WebMvcTest`等注解实现分层测试,结合Mockito、Testcontainers和Jacoco,保障代码质量,提升开发效率与系统稳定性。
|
21天前
|
数据采集 人工智能 JSON
Prompt 工程实战:如何让 AI 生成高质量的 aiohttp 异步爬虫代码
Prompt 工程实战:如何让 AI 生成高质量的 aiohttp 异步爬虫代码
|
25天前
|
人工智能 监控 Java
Spring AI Alibaba实践|后台定时Agent
基于Spring AI Alibaba框架,可构建自主运行的AI Agent,突破传统Chat模式限制,支持定时任务、事件响应与人工协同,实现数据采集、分析到决策的自动化闭环,提升企业智能化效率。
Spring AI Alibaba实践|后台定时Agent
|
2月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
364 7

热门文章

最新文章

下一篇