news 2026/4/3 6:26:47

智能提示系统架构设计:如何实现秒级扩容

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
智能提示系统架构设计:如何实现秒级扩容

智能提示系统架构设计:如何实现秒级扩容

一、引言 (Introduction)### 钩子 (The Hook):

“凌晨3点,你的AI代码提示服务突然收到10倍于平时的请求——原来是某大厂发布了新框架,全球开发者都在熬夜试玩。用户开始抱怨:‘为什么响应要等5秒?’‘又超时了!’而你盯着监控面板,看着GPU利用率飙升到95%,却只能眼睁睁看着传统扩容流程(申请节点→加载模型→配置网络)花了12分钟才缓解压力。”

这不是科幻场景,而是2023年某知名AI编程助手的真实事故。对于智能提示系统(如ChatGPT、GitHub Copilot、 Claude 3)来说,“秒级扩容”不是“加分项”,而是“生存线”——用户对延迟的容忍度往往低于2秒,而流量峰值可能在几分钟内暴涨10倍甚至100倍。

定义问题/阐述背景 (The “Why”)

智能提示系统的核心是大语言模型(LLM)推理服务,其特点可以概括为“三高一低”:

  • 高计算密集型:单次推理需要调用数十亿甚至数千亿参数的模型,依赖GPU/TPU等加速硬件;
  • 高并发需求:热门服务的QPS(每秒请求数)可达到10万级,比如ChatGPT峰值时每秒处理20万次请求;
  • 高资源占用:一个GPT-3级别的模型加载到GPU需要占用20GB以上显存,启动时间长达30秒至数分钟;
  • 低延迟要求:用户期望“输入即响应”,延迟超过2秒会导致留存率下降40%(来自OpenAI的用户调研)。

传统的“手动扩容”或“基于CPU的自动扩缩容”(如K8s默认HPA)完全无法满足需求——当流量暴涨时,“加载模型”的时间就足以让用户流失。因此,秒级扩容成为智能提示系统架构设计的核心挑战。

亮明观点/文章目标 (The “What” & “How”)

本文将从架构设计工程实践两个维度,拆解智能提示系统实现秒级扩容的关键逻辑。你将学到:

  • 智能提示系统的分层架构如何支撑弹性扩展;
  • 实现秒级扩容的五大核心策略(容器化、模型预热、弹性资源池等);
  • K8s + KEDA搭建弹性推理集群的实战步骤
  • 避免踩坑的最佳实践(如资源池优化、流量预测)。

无论你是AI服务开发者、架构师还是运维工程师,读完本文都能掌握“让智能提示系统在流量峰值时稳如老狗”的技术方案。

二、基础知识/背景铺垫 (Foundational Concepts)### 1. 智能提示系统的核心组件

在讲扩容前,先明确智能提示系统的基本架构(如图1所示),它由五大层组成:

层级核心功能关键组件示例
接入层流量入口,负责限流、鉴权、负载均衡Nginx、Envoy、API Gateway(如Kong)
调度层实时分配请求到最优推理节点(考虑负载、地理位置、模型版本)自定义调度器(如基于K8s的Controller)、Service Mesh(如Istio)
推理层执行LLM推理,是资源消耗的核心层模型服务(TensorFlow Serving、TorchServe)、GPU Pod(K8s)
缓存层缓存高频请求结果(如“如何写Python装饰器”),减少推理次数Redis Cluster、Memcached、CDN(如Cloudflare)
监控与决策层收集实时metrics(QPS、延迟、GPU利用率),触发扩容/缩容决策Prometheus(监控)、Grafana(可视化)、KEDA(事件驱动扩容)

2. 秒级扩容的“三大难点”

为什么传统扩容方式(如手动加服务器)无法实现秒级扩容?因为智能提示系统的扩容需要解决三个核心问题:

  • 模型加载延迟:大模型(如Llama 2 70B)加载到GPU需要30秒至2分钟,这是扩容的“时间瓶颈”;
  • 资源调度复杂度:GPU资源是“稀缺资源”,需要快速找到空闲的GPU节点并分配请求;
  • 流量波动不可预测:用户行为(如热点事件、新品发布)导致流量突变,传统“事后扩容”无法应对。

3. 秒级扩容的“定义”

本文中的“秒级扩容”指:

  • 从“流量超过阈值”到“新的推理节点开始处理请求”的时间≤10秒;
  • 扩容过程中,用户体验不受影响(延迟≤2秒,错误率≤0.1%)。

三、核心内容/实战演练 (The Core - “How-To”)### 一、支撑秒级扩容的分层架构设计

要实现秒级扩容,必须让架构的每一层都具备“弹性”。以下是各层的设计要点:

1. 接入层:用“高性能负载均衡”扛住流量冲击

接入层是系统的“大门”,其性能直接决定了能否应对高并发。设计要点:

  • 多活部署:将接入层节点部署在多个可用区(AZ),避免单点故障;
  • 限流与降级:用令牌桶算法(Token Bucket)限制单用户QPS(如免费用户10次/分钟),当系统过载时,返回“稍等片刻”的降级响应;
  • 动态负载均衡:采用“最小连接数”或“最快响应时间”策略,将请求转发到负载最轻的调度层节点;
  • 支持HTTP/2:减少连接建立时间,提高并发效率(比HTTP/1.1快30%以上)。

示例:用Envoy作为接入层,配置least_request负载均衡策略,并通过ratelimit插件实现限流:

# Envoy 限流配置http_filters:-name:envoy.filters.http.ratelimittyped_config:"@type":type.googleapis.com/envoy.extensions.filters.http.ratelimit.v3.RateLimitdomain:ai-apirate_limit_service:grpc_service:envoy_grpc:cluster_name:ratelimit_clusterenable_x_ratelimit_headers:DRAFT_VERSION_03
2. 调度层:用“智能调度器”实现请求的“精准投递”

调度层的核心是“将正确的请求发给正确的节点”,以最大化资源利用率和最小化延迟。设计要点:

  • 基于模型版本的路由:当模型更新时(如从v1升级到v2),用灰度发布策略(如Istio的virtualservice)逐步将流量切换到新节点;
  • 基于资源状态的调度:收集每个推理节点的实时状态(GPU利用率、剩余显存、推理队列长度),将请求发给“资源充足且队列短”的节点;
  • 支持“预热请求”:当新节点启动时,先发送几个“测试请求”(如“hello world”),确认模型加载完成后再转发真实请求。

示例:用K8s的Custom Resource Definition(CRD)实现自定义调度器,根据node annotations中的GPU利用率选择节点:

// 自定义调度器逻辑(简化版)func(s*Scheduler)Schedule(pod*v1.Pod,nodes[]*v1.Node)(string,error){varbestNodestringvarminGPUUsagefloat64=100for_,node:=rangenodes{// 从node annotations中获取GPU利用率(由Prometheus采集)gpuUsage,_:=strconv.ParseFloat(node.Annotations["ai/gpu-usage"],64)ifgpuUsage<minGPUUsage&&gpuUsage<80{// 选择GPU利用率低于80%的节点minGPUUsage=gpuUsage bestNode=node.Name}}ifbestNode==""{return"",fmt.Errorf("no available nodes")}returnbestNode,nil}
3. 推理层:用“容器化+弹性资源池”解决模型加载延迟

推理层是秒级扩容的“核心战场”,因为模型加载时间是扩容的最大瓶颈。设计要点:

  • 容器化模型服务:用Docker包装模型服务(如TensorFlow Serving),将模型文件和依赖打包成镜像,确保“一次构建,到处运行”;
  • 弹性资源池(Warm Pool):提前创建一批“预热好的”GPU Pod(加载了常用模型,处于空闲状态),当需要扩容时,直接从资源池取Pod,避免“从零开始加载模型”;
  • 模型分片与蒸馏:对于超大型模型(如Llama 2 70B),将模型分成多个分片(Shard),每个分片运行在不同的GPU上,减少单个Pod的显存占用;或者用模型蒸馏(Distillation)生成“小模型”(如1B参数),用于处理简单请求(如“解释变量”),降低对大模型的依赖。

示例:用K8s的CronJob定期创建预热Pod:

# 预热Pod的CronJob配置(每天凌晨1点创建10个空闲Pod)apiVersion:batch/v1kind:CronJobmetadata:name:model-warmupspec:schedule:"0 1 * * *"jobTemplate:spec:template:spec:containers:-name:tf-servingimage:tensorflow/serving:latest-gpuargs:["--model_name=llama2-7b","--model_base_path=/models/llama2-7b"]resources:limits:nvidia.com/gpu:1# 每个Pod占用1块GPUrestartPolicy:Never
4. 缓存层:用“分布式缓存”减少推理次数

缓存层是“节流”的关键——通过缓存高频请求的结果,减少对推理层的压力,从而降低扩容需求。设计要点:

  • 缓存策略:采用“LRU(最近最少使用)”算法,缓存有效期设置为1小时(根据请求频率调整);
  • 缓存键设计:用“用户输入+模型版本”作为缓存键(如"how-to-write-decorator:v1"),避免返回旧模型的结果;
  • 缓存穿透与击穿:用布隆过滤器(Bloom Filter)过滤不存在的请求(如“如何让月亮掉下来”),用互斥锁(Mutex)防止热点key(如“如何安装Python”)击穿缓存。

示例:用Redis Cluster缓存推理结果:

# 缓存函数(Python示例)importredisfromfunctoolsimportlru_cache redis_client=redis.RedisCluster(host="redis-cluster IP",port=6379)defcache_decorator(expire=3600):defwrapper(func):definner(*args,**kwargs):# 生成缓存键:用户输入+模型版本cache_key=f"{args[0]}:{kwargs.get('model_version','v1')}"# 从缓存获取结果result=redis_client.get(cache_key)ifresult:returnresult.decode("utf-8")# 调用推理函数result=func(*args,**kwargs)# 存入缓存redis_client.setex(cache_key,expire,result)returnresultreturninnerreturnwrapper# 使用缓存装饰器@cache_decorator(expire=3600)defgenerate_completion(prompt,model_version="v1"):# 调用推理层APIresponse=requests.post("http://inference-layer:8501/v1/completions",json={"prompt":prompt})returnresponse.json()["choices"][0]["text"]
5. 监控与决策层:用“实时metrics+事件驱动”触发扩容

监控与决策层是“大脑”,负责感知流量变化并触发扩容。设计要点:

  • 收集关键metrics:必须监控的指标包括:
    • 流量指标:QPS、并发请求数、延迟(P95/P99);
    • 资源指标:GPU利用率、显存占用率、Pod数量;
    • 业务指标:错误率、缓存命中率、用户留存率。
  • 用事件驱动扩容:传统的HPA(Horizontal Pod Autoscaler)基于CPU/内存指标,无法满足GPU密集型服务的需求。推荐使用KEDA(Kubernetes Event-driven Autoscaling),它支持基于自定义metrics(如GPU利用率、推理队列长度)触发扩容。
  • 设置合理的阈值:例如,当GPU利用率超过70%或推理队列长度超过10时,触发扩容;当GPU利用率低于30%时,触发缩容。

示例:用KEDA配置基于GPU利用率的扩容:

# KEDA ScaledObject配置(基于Prometheus的GPU利用率指标)apiVersion:keda.sh/v1alpha1kind:ScaledObjectmetadata:name:inference-scalerspec:scaleTargetRef:name:inference-deployment# 要扩容的Deploymenttriggers:-type:prometheusmetadata:serverAddress:http://prometheus:9090metricName:nvidia_gpu_utilizationquery:sum(rate(nvidia_gpu_utilization{pod=~"inference-.*"}[1m])) by (pod)threshold:"70"# 当GPU利用率超过70%时触发扩容activationThreshold:"30"# 当GPU利用率低于30%时不扩容minReplicaCount:5# 最小Pod数量(包括预热池)maxReplicaCount:100# 最大Pod数量

二、实现秒级扩容的五大核心策略

上述架构是基础,要真正实现秒级扩容,还需要掌握以下五大策略:

策略1:容器化+K8s编排——让扩容“标准化”

容器化是秒级扩容的“前提”——它将模型服务包装成“可快速启动的单元”(Pod),而K8s则负责管理这些Pod的生命周期(创建、销毁、调度)。

关键优化点

  • 优化Docker镜像大小:用multi-stage build减少镜像大小(例如,将模型文件放在最后一步,避免重复构建);
  • 使用“就绪探针(Readiness Probe)”:确保Pod启动后,模型加载完成才能接收请求(如检查/v1/models接口是否返回模型信息);
  • 配置“滚动更新(Rolling Update)”:当模型更新时,逐步替换旧Pod,避免服务中断。
策略2:模型预热——将“加载时间”提前到“空闲时段”

模型加载时间是扩容的“时间瓶颈”,解决方法是提前加载模型

常见预热方式

  • 定时预热:用CronJob在流量低谷时段(如凌晨1点)创建预热Pod,加载常用模型;
  • 按需预热:当流量预测系统发现未来10分钟内流量将增长时,提前创建预热Pod;
  • 增量预热:当模型更新时,先预热少量Pod,验证模型正确性后再大规模扩容。

效果:将模型加载时间从30秒缩短到“0秒”(因为预热Pod已经加载了模型),扩容时间从分钟级降到秒级。

策略3:弹性资源池——用“空闲资源”应对“突发流量”

弹性资源池(Warm Pool)是“预热Pod”的集合,其大小决定了扩容的速度。

资源池大小的计算方法

  • 最小资源池大小 = 峰值QPS × 单Pod处理能力 × 0.2(预留20%的缓冲);
  • 最大资源池大小 = 峰值QPS × 单Pod处理能力 × 1.5(应对150%的突发流量)。

示例:假设单Pod的处理能力是100 QPS,峰值QPS是10000,则最小资源池大小=10000×0.2/100=20个Pod,最大资源池大小=10000×1.5/100=150个Pod。

策略4:流量预测——从“事后扩容”到“提前扩容”

流量预测是“主动扩容”的关键,它能让系统在流量峰值到来前就准备好资源。

常用预测方法

  • 时间序列预测:用ARIMA、SARIMA或Prophet模型预测未来1小时的QPS(适合有周期性的流量,如工作日早高峰);
  • 机器学习预测:用LSTM、Transformer模型预测流量(适合非周期性的流量,如热点事件);
  • 规则引擎:根据历史数据设置规则(如“周五晚上8点流量增长50%”)。

示例:用Prophet模型预测QPS:

fromprophetimportProphetimportpandasaspd# 加载历史QPS数据(格式:ds=时间,y=QPS)df=pd.read_csv("qps_history.csv")# 训练Prophet模型model=Prophet()model.fit(df)# 预测未来1小时的QPSfuture=model.make_future_dataframe(periods=60,freq="T")forecast=model.predict(future)# 提取未来10分钟的QPS预测值next_10_min=forecast[forecast["ds"]>pd.Timestamp.now()][:10]predicted_qps=next_10_min["yhat"].mean()# 如果预测QPS超过阈值,触发提前扩容ifpredicted_qps>8000:print("触发提前扩容:增加20个Pod")# 调用K8s API增加Deployment的 replicas
策略5:多租户与资源隔离——避免“一个租户拖垮整个系统”

智能提示系统通常服务于多个租户(如免费用户、付费用户、企业用户),如果不做资源隔离,一个租户的高流量可能会占用所有资源,导致其他租户无法使用。

资源隔离方式

  • Namespace隔离:为每个租户创建独立的Namespace,限制其Pod数量和GPU资源(如用K8s的ResourceQuota);
  • QoS分级:为不同租户设置不同的QoS等级(如付费用户的请求优先级高于免费用户),用调度器优先处理高优先级请求;
  • 流量 shaping:用Istio的traffic shifting限制每个租户的QPS(如免费用户最多10次/分钟)。

示例:用ResourceQuota限制租户的GPU资源:

# 租户A的ResourceQuota配置(最多使用10块GPU)apiVersion:v1kind:ResourceQuotametadata:name:tenant-a-quotanamespace:tenant-aspec:hard:nvidia.com/gpu:"10"# 最多使用10块GPUpods:"20"# 最多创建20个Pod

三、实战演练:用K8s + KEDA搭建弹性推理集群

接下来,我们用一个具体的例子,演示如何搭建一个支持秒级扩容的智能提示系统推理集群。

步骤1:准备模型服务镜像

首先,将Llama 2 7B模型包装成TensorFlow Serving镜像。

Dockerfile

# 基础镜像(包含GPU支持) FROM tensorflow/serving:latest-gpu # 复制模型文件到镜像中 COPY llama2-7b /models/llama2-7b # 设置模型名称和路径 ENV MODEL_NAME=llama2-7b ENV MODEL_BASE_PATH=/models/llama2-7b # 暴露推理端口 EXPOSE 8501

构建镜像

dockerbuild -t my-ai-service/llama2-serving:v1.
步骤2:部署K8s集群

使用GKE(Google Kubernetes Engine)部署一个包含GPU节点的K8s集群。

关键配置

  • 节点类型:n1-standard-8(8 vCPU,30 GB内存)+ 1块NVIDIA Tesla T4GPU;
  • 节点数量:初始3个节点(用于运行基础服务,如Prometheus、Grafana);
  • 自动扩缩容:开启节点池的自动扩缩容(最小3个节点,最大20个节点)。
步骤3:部署推理服务Deployment

创建一个Deployment,运行Llama 2 7B模型服务。

Deployment配置

apiVersion:apps/v1kind:Deploymentmetadata:name:inference-deploymentnamespace:ai-servicespec:replicas:5# 初始5个Pod(包括2个预热Pod)selector:matchLabels:app:inference-servicetemplate:metadata:labels:app:inference-servicespec:containers:-name:llama2-servingimage:my-ai-service/llama2-serving:v1ports:-containerPort:8501resources:limits:nvidia.com/gpu:1# 每个Pod占用1块GPUreadinessProbe:httpGet:path:/v1/models/llama2-7bport:8501initialDelaySeconds:10# 启动后10秒开始检查periodSeconds:5# 每5秒检查一次
步骤4:配置KEDA自动扩缩容

使用KEDA配置基于GPU利用率的自动扩缩容。

ScaledObject配置

apiVersion:keda.sh/v1alpha1kind:ScaledObjectmetadata:name:inference-scalernamespace:ai-servicespec:scaleTargetRef:name:inference-deploymenttriggers:-type:prometheusmetadata:serverAddress:http://prometheus.ai-service.svc.cluster.local:9090metricName:nvidia_gpu_utilizationquery:sum(rate(nvidia_gpu_utilization{pod=~"inference-deployment-.*"}[1m])) by (pod)threshold:"70"activationThreshold:"30"minReplicaCount:5maxReplicaCount:100
步骤5:测试扩容效果

用JMeter模拟高并发流量(10000 QPS),观察KEDA的扩容效果。

预期结果

  • 当GPU利用率超过70%时,KEDA在10秒内创建新的Pod;
  • 新Pod启动后,就绪探针检查通过,开始处理请求;
  • 延迟保持在2秒以内,错误率低于0.1%。

四、进阶探讨/最佳实践 (Advanced Topics / Best Practices)### 1. 常见陷阱与避坑指南

  • 陷阱1:预热池过大导致资源浪费
    解决方法:用流量预测调整预热池大小(如周末减少预热池数量,工作日增加);
  • 陷阱2:扩容 granularity 不合理
    解决方法:根据模型大小选择Pod的GPU数量(如小模型用1块GPU,大模型用4块GPU),平衡扩容速度和资源利用率;
  • 陷阱3:网络瓶颈
    解决方法:用高性能负载均衡器(如Envoy),并开启HTTP/2和TCP复用;
  • 陷阱4:缓存一致性问题
    解决方法:当模型更新时,用版本号更新缓存键(如"prompt:v2"),或用事件驱动(如Redis的Pub/Sub) invalidate 缓存。

2. 性能优化与成本考量

  • 优化推理速度:用TensorRT、ONNX Runtime等工具优化模型(如将模型转换为TensorRT引擎,推理速度提升2-3倍);
  • 降低资源成本:用Spot Instance(竞价实例)运行预热池(成本比按需实例低60%),但要注意Spot Instance可能会被回收;
  • 资源复用:用多租户技术(如vLLM)让多个用户共享同一个模型实例(提高GPU利用率30%以上)。

3. 最佳实践总结

  • 监控先行:必须收集所有关键metrics,并用Grafana制作 dashboard(如QPS趋势、GPU利用率、扩容次数);
  • 自动化一切:从模型构建、部署到扩容,都要自动化(用CI/CD工具如Jenkins、Argo CD);
  • 测试扩容策略:定期做压力测试(如模拟10倍流量),验证扩容策略的有效性;
  • 多云/混合云:用多云提供商的资源(如AWS + GCP),避免单一云的资源瓶颈;
  • 持续优化:定期分析metrics(如缓存命中率、扩容延迟),调整策略(如增加预热池大小、优化模型)。

五、结论 (Conclusion)### 核心要点回顾

智能提示系统实现秒级扩容的核心逻辑是:

  • 分层架构:接入层扛流量,调度层精准投递,推理层弹性扩展,缓存层节流,监控层决策;
  • 五大策略:容器化+K8s编排、模型预热、弹性资源池、流量预测、多租户隔离;
  • 工具链:用KEDA实现事件驱动扩容,用Prometheus监控,用TensorFlow Serving包装模型。

展望未来

随着技术的发展,秒级扩容将变得更简单:

  • Serverless GPU:如AWS Inferentia、Google TPU Pod,支持按需使用GPU资源,自动扩容(无需管理节点);
  • 模型压缩技术:如量化(Quantization)、剪枝(Pruning),将模型大小减小10倍以上,加载时间缩短到1秒以内;
  • AI驱动的扩容:用大语言模型预测流量和优化扩容策略(如“根据用户行为预测未来10分钟的流量,调整预热池大小”)。

行动号召

现在就动手尝试:

  1. 用Docker包装你的模型服务;
  2. 部署一个K8s集群,配置KEDA自动扩缩容;
  3. 做一次压力测试,验证扩容效果;
  4. 在评论区分享你的经验,或提出问题(我会一一解答)。

进一步学习资源

  • KEDA官方文档:https://keda.sh/
  • TensorFlow Serving文档:https://www.tensorflow.org/tfx/serving/
  • Prometheus文档:https://prometheus.io/

最后,记住:秒级扩容不是“一次性工程”,而是“持续优化的过程”——随着用户量和模型大小的增长,你需要不断调整策略,让系统始终保持弹性。

祝你构建的智能提示系统,在流量峰值时稳如老狗! 🚀

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/25 2:05:31

基于微信小程序的考研论坛【源码+文档+调试】

&#x1f525;&#x1f525;作者&#xff1a; 米罗老师 &#x1f525;&#x1f525;个人简介&#xff1a;混迹java圈十余年&#xff0c;精通Java、小程序、数据库等。 &#x1f525;&#x1f525;各类成品Java毕设 。javaweb&#xff0c;ssm&#xff0c;springboot等项目&#…

作者头像 李华
网站建设 2026/3/28 8:13:25

电子签章软件主流厂商全景解读(2026年1月整理分享)

一、电子签章的时代价值与技术架构 随着数字化转型的深入&#xff0c;电子签章已成为企业运营、政务办理及个人事务中不可或缺的一环。它通过密码技术、数字身份认证与时间戳等手段&#xff0c;确保电子文档的完整性、不可篡改性与签署行为的不可抵赖性&#xff0c;具备与纸质…

作者头像 李华
网站建设 2026/3/23 10:33:21

【课程设计/毕业设计】基于python-CNN深度学习训练识别不同颜色的鞋子

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/3/25 5:41:16

XSS攻击的原理和核心用法。

跨站脚本攻击&#xff08;Cross-Site Scripting&#xff0c;简称XSS&#xff09;是Web应用中最常见的高危漏洞之一&#xff0c;位列OWASP Top 10多年&#xff0c;其核心是攻击者通过注入恶意脚本&#xff0c;在用户浏览器中执行非预期操作&#xff0c;窃取敏感信息、劫持用户会…

作者头像 李华
网站建设 2026/3/27 10:17:40

Hello AgentScope Java

作者&#xff1a;远云 随着 LLM 应用的飞速发展&#xff0c;越来越多的 Agent 应用开始走近每个人。围绕着 Agent 应用的核心&#xff0c;目前业界有零代码、低代码和高代码三条主流的技术路线。AgentScope 作为 Python 社区中受到广泛应用的高代码框架&#xff0c;在 Java 生态…

作者头像 李华