告别高成本运维!AgentScope联手阿里云Serverless,AI智能体部署成本直降80%

作者:佚名 时间:2025-12-06 08:28

字号

在 AI Agent 应用加速落地的今天,开发者和企业普遍面临三大核心痛点:部署成本高、运维复杂度高、资源利用率低。为应对这些挑战,AI Agent 与云原生Serverless 架构的深度融合正成为行业新趋势。我们很高兴地宣布,AgentScope 正式集成基于阿里云函数计算(Function Compute, FC)的全新 Serverless 运行时,为多智能体应用提供“按需启动、毫秒弹性、零运维”的新一代运行底座。

AgentScope 是什么?

AgentScope 是一个开源的多智能体应用开发框架,面向构建可观察、可控制、可扩展的 AI 智能体系统。其核心设计原则是对开发者完全透明:所有提示工程、模型调用、智能体行为及工作流编排均显式暴露,避免隐式逻辑或深度封装。

该框架拥有以下特性:

AgentScope 旨在为开发者提供一个既具备工程严谨性,又保持足够灵活性的智能体开发基础设施,推动多智能体系统从实验走向规模化落地。自开源以来,AgentScope 已获得社区广泛认可,GitHub Star 数突破 14,000+。

当前Agent运行时的挑战

AgentScope Runtime 是一个面向生产环境的智能体运行时框架,聚焦于两大核心问题:高效、可扩展的智能体部署安全、隔离的Sandbox工具执行。该运行时提供上下文管理(包括长短期记忆与外部知识库集成)和多层级沙箱基础设施,构成一套框架无关的底层支撑系统,可与主流开源智能体框架或自定义实现无缝协同。其设计目标是为服务级智能体应用提供具备完整可观测性、强安全性与便捷部署能力的基础运行环境。

AgentScope Runtime实现了双核心架构:

目前,AgentScope 的主流部署模式依赖 Docker + Kubernetes 组合。该方案在功能完备性和集群管理能力上表现优异,但在实际落地 AI Agent 应用时,暴露出若干结构性瓶颈:

这些限制使得许多具备潜力的 Agent 应用停留在实验阶段,难以实现低成本、高可用、快速迭代的规模化部署。

为系统性解决上述问题,AgentScope 正式推出基于阿里云函数计算(Function Compute, FC) 构建的 Serverless 运行时。该运行时针对 AI Agent 的典型工作负载(如会话保持、工具调用、状态依赖)进行深度优化,在保留功能完整性的同时,彻底重构资源使用与运维模型。

Serverless运行时的核心优势:

此外,Serverless 运行时通过 会话亲和(Session Affinity)机制在无状态函数架构下有效支持有状态的 Agent 交互场景,兼顾弹性与一致性。

这一演进标志着 Agent 运行时正从“重资产、高运维”的传统模式,迈向“轻量化、自动化、经济高效”的云原生新范式,为 AI Agent 的大规模商业化落地扫清基础设施障碍。

Serverless运行时集成能力详解

Engine 能力拓展

Serverless 运行时深度集成 AgentScope 的核心执行引擎(AgentScope Runtime Engine),在保留原有编程模型的基础上,为开发者提供面向云原生环境的无缝部署体验。关键能力包括:

Sandbox 运行时全面支持

AgentScope 定义的四大沙箱类型现已完整适配 Serverless 运行时,可在函数计算环境中安全、高效地执行各类操作:

基于阿里云函数计算(FC)的Serverless运行时,深度集成 AgentScope 的Sandbox运行引擎,其核心特性如下:

通过 Engine 与 Sandbox 的双重增强,AgentScope 的 Serverless 运行时不仅解决了传统部署的成本与运维难题,更在保持强隔离与状态支持的前提下,实现了 AI Agent 应用的高效、安全、经济化交付。

快速体验

现在,您就可以将 Agent 应用快速部署到 Serverless 运行时!

部署 Agent 到 Serverless运行时

只需三步:

1.配置相关环境变量

# 确保设置环境变量
export DASHSCOPE_API_KEY="your-dashscope-api-key"
export ALIBABA_CLOUD_ACCESS_KEY_ID="your-access-key-id"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="your-access-key-secret"
export MODELSTUDIO_WORKSPACE_ID="your-workspace-id"
# 可选的OSS专用凭证
export OSS_ACCESS_KEY_ID="your-oss-access-key-id"
export OSS_ACCESS_KEY_SECRET="your-oss-access-key-secret"

2.定义好您的AgentApp

# -*- coding: utf-8 -*-
# pylint:disable=wrong-import-position, wrong-import-order
import asyncio
import os
from agentscope.agent import ReActAgent
from agentscope.model import DashScopeChatModel
from agentscope_runtime.engine.agents.agentscope_agent import AgentScopeAgent
from agentscope_runtime.engine.runner import Runner
from agentscope_runtime.engine.schemas.agent_schemas import (
    MessageType,
    RunStatus,
    AgentRequest,
)
from agentscope_runtime.engine.services.context_manager import (
    ContextManager,
)
from agentscope_runtime.sandbox.tools.function_tool import function_tool
from others.other_project import version
@function_tool()
def weather_search(query: str) -> str:
    if "sf" in query.lower() or "san francisco" in query.lower():
        result = "It's 60 degrees and foggy."
    else:
        result = "It's 90 degrees and sunny."
    return result
agent = AgentScopeAgent(
    name="Friday",
    model=DashScopeChatModel(
        "qwen-turbo",
        api_key=os.getenv("DASHSCOPE_API_KEY"),
    ),
    agent_config={
   
        "sys_prompt": "You're a helpful assistant named Friday.",
    },
    agent_builder=ReActAgent,
    tools=[
        weather_search,
    ],
)
print(f"AgentScope Runtime with dependencies version: {
   version}")
async def run():
    # Create a request
    request = AgentRequest(
        input=[
            {
   
                "role": "user",
                "content": [
                    {
   
                        "type": "text",
                        "text": "杭州天气如何?",
                    },
                ],
            },
        ],
    )
    runner = Runner(
        agent=agent,
        context_manager=ContextManager(),
        # context_manager=None       # Optional
    )
    async for message in runner.stream_query(request=request):
        # Check if this is a completed message
        if (
            message.object == "message"
            and MessageType.MESSAGE == message.type
            and RunStatus.Completed == message.status
        ):
            all_result = message.content[0].text
        print(message)
    print(f" Agent response: {
   all_result}")
if __name__ == "__main__":
    asyncio.run(run())

3.配置部署相关代码,将您的代码部署到Serverless运行时上

import asyncio
import os
from agentscope_runtime.engine.deployers.modelstudio_deployer import (
    ModelstudioDeployManager,
    OSSConfig,
    ModelstudioConfig,
)
from agent_app import app  # 导入已配置的 app
async def deploy_to_modelstudio():
    """将 AgentApp 部署到阿里云 ModelStudio"""
    # 配置 OSS 和 ModelStudio
    deployer = ModelstudioDeployManager(
        oss_config=OSSConfig(
            access_key_id=os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_ID"),
            access_key_secret=os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
        ),
        modelstudio_config=ModelstudioConfig(
            workspace_id=os.environ.get("MODELSTUDIO_WORKSPACE_ID"),
            access_key_id=os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_ID"),
            access_key_secret=os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
            dashscope_api_key=os.environ.get("DASHSCOPE_API_KEY"),
        ),
    )
    # 执行部署
    result = await app.deploy(
        deployer,
        deploy_name="agent-app-example",
        telemetry_enabled=True,
        requirements=["agentscope", "fastapi", "uvicorn"],
        environment={
   
            "PYTHONPATH": "/app",
            "DASHSCOPE_API_KEY": os.environ.get("DASHSCOPE_API_KEY"),
        },
    )
    print(f" 部署到 ModelStudio:{
   result['url']}")
    print(f" 制品:{
   result['artifact_url']}")
    return result
if __name__ == "__main__":
    asyncio.run(deploy_to_modelstudio())

详细文档请参考:

快速启动 Sandbox

1.安装agentscope-runtime

pip install agentscope-runtime

由于agentscope-runtime仍在初期快速迭代中,建议采用源码安装方式

git clone https://github.com/agentscope-ai/agentscope-runtime.git
cd agentscope-runtime
pip install .

2.配置环境变量

# Service settings
HOST="0.0.0.0"
PORT=8000
WORKERS=1
DEBUG=False
# Runtime Manager settings
DEFAULT_SANDBOX_TYPE=base
POOL_SIZE=0
AUTO_CLEANUP=True
CONTAINER_PREFIX_KEY=agent-runtime-container-
CONTAINER_DEPLOYMENT=agentrun
DEFAULT_MOUNT_DIR=
STORAGE_FOLDER=runtime_sandbox_storage
PORT_RANGE=[49152,59152]
# FC 相关账户信息
FC_ACCOUNT_ID=
FC_ACCESS_KEY_ID=
FC_ACCESS_KEY_SECRET=
FC_REGION_ID=cn-hangzhou
# 规格配置
FC_CPU=2.0
FC_MEMORY=2048
# 网络配置
FC_VPC_ID=
FC_VSWITCH_IDS=[]
FC_SECURITY_GROUP_ID=
# 前缀
FC_PREFIX=agentscope-sandbox
# 日志配置
FC_LOG_PROJECT=
FC_LOG_STORE=

3.运行命令,启动沙箱服务器

runtime-sandbox-server --config fc.env

4.使用您的沙箱

from agentscope_runtime.sandbox import BaseSandbox
# 连接到远程服务器(替换为您的实际服务器地址和端口)
with BaseSandbox(
    base_url="http://127.0.0.1:8000",
) as sandbox:
    # 正常使用沙箱
    print(box.list_tools())
    print(box.run_ipython_cell(code="print('hi')"))
    print(box.run_shell_command(command="echo hello"))
    input("Press Enter to continue...")

详细文档请参考:

迈向“省钱又好用”的 AI 运行时

AI Agent 的运行时基础设施正经历一场深刻的演进:从早期追求“能跑起来”的基础可用性,到关注开发体验与功能完备性的“好用”阶段,如今正加速迈向兼顾性能、安全与经济性的“省钱用”新范式。

AgentScope 与 Serverless 架构的深度集成,正是这一演进的关键实践。通过将智能体部署与工具执行全面迁移至基于阿里云函数计算(FC)的 Serverless 平台,不仅大幅降低了对容器编排、集群运维等云原生技能的依赖,更从根本上重构了资源使用模型——从“为闲置付费”转向“为实际执行付费”,使中小团队乃至个人开发者也能以极低成本运行生产级 Agent 应用。

Serverless 所提供的毫秒级弹性、自动扩缩容、强隔离沙箱与零运维特性,恰好契合 AI Agent 应用典型的负载特征:间歇性调用、状态依赖性强、工具执行风险高、成本敏感度高。我们坚信,Serverless 将成为 AI Agent 应用的最佳运行时。

未来,AgentScope 将持续深化与主流云服务的协同,进一步优化会话管理、冷启动延迟、多模态工具支持等关键路径,并推动更多开源智能体项目采纳 Serverless 范式,构建一个开放、高效、经济的 Agent 运行生态,让复杂智能体系统的开发与部署如同调用普通 API 一样简单可靠。

让每一个智能体,都能轻盈运行在云端。

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接