找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1186

积分

0

好友

210

主题
发表于 3 天前 | 查看: 9| 回复: 0

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

AgentScope是什么?

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

该框架主要具备以下特性:

  • 透明性优先:所有内部状态、消息传递、工具调用和模型交互过程均可追踪与审计,确保行为可解释、可调试。
  • 实时介入:支持任务执行过程中的实时中断与自定义中断处理逻辑,允许用户在必要时介入智能体的决策与执行。
  • 增强智能能力:提供统一的工具管理接口、长期记忆控制机制以及智能化RAG(检索增强生成)支持。
  • 模型无关架构:通过抽象统一的模型接入层,允许同一套智能体逻辑无缝切换不同的大语言模型。
  • 模块化设计:智能体、工具、记忆模块等组件高度解耦,支持独立开发与灵活组合。
  • 原生多智能体支持:采用显式消息传递与声明式工作流编排,明确表达智能体间的协作关系。
  • 高度可定制:支持对工具链、通信协议、第三方库集成及可视化界面进行深度定制。

AgentScope旨在为开发者提供一个兼具工程严谨性与开发灵活性的智能体基础设施。自开源以来,已在社区获得广泛认可。

当前Agent运行时面临的挑战

AgentScope Runtime 是一个面向生产环境的智能体运行时框架,主要解决两大问题:高效、可扩展的智能体部署安全、隔离的工具执行。它提供了上下文管理与多层级沙箱基础设施,是一套框架无关的底层支撑系统。

该运行时采用双核心架构:

  • 智能体部署运行时:负责智能体生命周期管理、会话状态维护、上下文存储以及沙箱环境调度。
  • 工具执行运行时:基于隔离容器构建的安全执行环境,支持文件操作、浏览器自动化等工具调用,确保所有副作用被严格限制在沙箱内。

目前,AgentScope的主流部署模式依赖于 Docker + Kubernetes 组合。该方案虽然功能完备,但在实际落地AI Agent应用时,暴露出一些结构性瓶颈:

  1. 持续运行带来固定成本:容器实例需长期驻留以维持状态,即使在空闲时段也持续产生费用,对间歇性任务不友好。
  2. 静态资源分配缺乏弹性:资源配额通常按峰值预设,难以动态适配真实负载,导致资源利用率低下或响应延迟。
  3. 高运维复杂度:维护生产级K8s集群涉及网络、监控、扩缩容等多项云原生技能,对中小团队或个人开发者门槛较高。

为了系统性解决上述问题,AgentScope推出了基于阿里云函数计算(FC) 构建的 Serverless运行时。该运行时针对AI Agent的工作负载特性进行了深度优化,在保留功能完整性的同时,彻底重构了资源使用与运维模型。

Serverless运行时的核心优势
  • ✅ 按量付费,成本可精细化控制:计费粒度精确至毫秒级执行时间与内存消耗,空闲期间零费用。
  • ✅ 毫秒级弹性伸缩,自动应对负载波动:平台根据并发请求自动调度资源,无需手动干预。
  • ✅ 零运维,聚焦核心逻辑开发:开发者无需关心服务器、容器镜像等底层基础设施。
    此外,通过会话亲和(Session Affinity)机制,Serverless运行时在无状态函数架构下有效支持了有状态的Agent交互场景。

Serverless运行时集成能力详解

Engine能力拓展

Serverless运行时深度集成了AgentScope的核心执行引擎,为开发者提供面向云原生环境的无缝部署体验:

  • 本地代码一键构建与依赖打包:执行deploy()方法即可自动分析依赖并构建可执行包,上传至阿里云函数计算。
  • 一键部署生成HTTPS Endpoint:部署后自动分配唯一的HTTPS端点,支持标准RESTful调用。
  • Header-Based Session亲和性保障:通过HTTP请求头中的Session ID,确保同一会话的请求路由至同一函数实例,维持状态一致性。
  • 继承Serverless核心优势:天然具备按量付费、自动扩缩容和零运维特性。
Sandbox运行时全面支持

AgentScope定义的四大沙箱类型已完整适配Serverless运行时:

  • BaseSandbox:隔离的Python代码执行环境。
  • FileSystemSandbox:支持文件读写与存储。
  • BrowserSandbox:内置无头Chromium浏览器,实现网页自动化。
  • GUISandbox:支持图形界面应用的模拟执行。

基于函数计算的Sandbox运行时核心特性如下:

  • 预热实例池:可预先创建并维护一组常用Sandbox,复用实例以降低冷启动延迟。
  • 自动注入Session ID:保障同一会话内所有操作的上下文连续性。
  • 全生命周期Serverless体验:会话结束后自动回收资源,严格遵循按量付费原则。

快速体验

现在,您可以通过以下步骤快速将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"

AgentScope集成阿里云函数计算FC,实现Agent应用Serverless低成本部署 - 图片 - 1

2. 定义您的AgentApp

# -*- coding: utf-8 -*-
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

@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,
    ],
)

async def run():
    request = AgentRequest(
        input=[
            {
                "role": "user",
                "content": [
                    {
                        "type": "text",
                        "text": "杭州天气如何?",
                    },
                ],
            },
        ],
    )
    runner = Runner(
        agent=agent,
        context_manager=ContextManager(),
    )
    async for message in runner.stream_query(request=request):
        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())

AgentScope集成阿里云函数计算FC,实现Agent应用Serverless低成本部署 - 图片 - 2

3. 配置部署代码

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():
    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']}")
    return result

if __name__ == "__main__":
    asyncio.run(deploy_to_modelstudio())

AgentScope集成阿里云函数计算FC,实现Agent应用Serverless低成本部署 - 图片 - 3

详细部署指南请参考官方文档。

快速启动Sandbox

您也可以快速体验Serverless沙箱环境。

1. 安装agentscope-runtime
建议通过源码安装以获得最新特性。

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

2. 配置环境变量
创建一个fc.env配置文件,内容示例如下:

# FC 相关账户信息
FC_ACCOUNT_ID=<your-account-id>
FC_ACCESS_KEY_ID=<your-access-key-id>
FC_ACCESS_KEY_SECRET=<your-access-key-secret>
FC_REGION_ID=cn-hangzhou
# 规格配置
FC_CPU=2.0
FC_MEMORY=2048
# 网络配置 (按需)
FC_VPC_ID=<your-vpc-id>
FC_VSWITCH_IDS=[<your-vswitch-id>]
FC_SECURITY_GROUP_ID=<your-security-group-id>

AgentScope集成阿里云函数计算FC,实现Agent应用Serverless低成本部署 - 图片 - 4

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(sandbox.list_tools())
    print(sandbox.run_ipython_cell(code="print('hi')"))

详细沙箱部署指南请参考官方文档。

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

AI Agent的运行时基础设施正在从追求“可用”,到关注“好用”,如今正向兼顾性能与成本的“省钱用”新范式演进。AgentScope与Serverless架构的深度集成,正是这一演进的关键实践。

通过将智能体部署与工具执行全面迁移至Serverless平台,不仅降低了对云原生技能的依赖,更从根本上重构了资源使用模型——从“为闲置付费”转向“为实际执行付费”。Serverless所提供的毫秒级弹性、自动扩缩容与零运维特性,恰好契合了AI Agent应用间歇性调用、状态依赖性强、成本敏感度高的负载特征。我们相信,Serverless将成为AI Agent应用的最佳运行时选择

未来,AgentScope将持续深化与云服务的协同,优化关键路径,推动构建一个开放、高效、经济的Agent运行生态。

相关链接:




上一篇:免费降AI工具实测:论文AI率从57%降至5.8%的策略
下一篇:软考成绩公布前的五种心态,你正处于哪一种状态?
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-17 19:39 , Processed in 0.105864 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表