阿里云百炼 + Qwen3.7 实战:手把手构建一个支持工具调用的 AI Agent

简介: 本文记录使用阿里云百炼平台+Qwen3.7-Max构建企业级AI运维助手的全过程:依托其原生Function Calling、128K上下文与多工具并行调用能力,实现稳定、合规、低成本的Agent落地,含完整代码、踩坑解析与成本实测。

前言

最近在做一个内部运维助手项目,需要 AI 不只是「聊天」,而是真正能调用外部工具、查询数据库、触发工作流——也就是现在大家说的 Agent 模式。

调研了几个平台后,最终选定了阿里云百炼(AI 创新入口)作为底座,搭配最新的 Qwen3.7-Max 模型。选它的主要原因有两点:一是百炼提供了完整的 Function Calling 支持,二是 Qwen3.7 在工具调用的指令遵循能力上比上一代有明显提升。

这篇文章记录整个搭建过程,包括踩坑经历,供有同样需求的同学参考。


一、为什么选择 Qwen3.7 + 百炼?

在动手之前,先简单说一下模型选型的考量。

目前构建 Agent 的常见选择有三类:

方案 优点 局限
OpenAI GPT-4o Function Calling 成熟,生态完善 国内访问不稳定,成本高,数据出境合规风险
本地部署开源模型 数据完全自主,零 API 费用 需要 GPU 资源,7B 以下模型工具调用不稳定
阿里云百炼 + Qwen3.7 国内网络稳定,数据不出境,工具调用能力强 生态相比 OpenAI 稍小,部分小众工具链需适配

对于企业内部应用,数据合规是硬需求,所以百炼成了首选。

Qwen3.7 相比前代的核心改进在于:

  • 长上下文窗口扩展到 128K,适合处理长对话和复杂上下文
  • 多工具并行调用,一次请求可同时触发多个函数
  • 指令遵循稳定性提升,减少 JSON 格式错误的概率

二、环境准备

开通阿里云百炼服务后,先拿到 API Key:

  1. 登录阿里云百炼控制台
  2. 在「模型广场」选择 qwen-max(即 Qwen3.7-Max)
  3. 进入「API-KEY 管理」创建新的 Key

Python 环境安装依赖:

pip install openai httpx
# 百炼兼容 OpenAI SDK,无需额外安装

百炼的 API 端点与 OpenAI 格式完全兼容,只需修改 base_url:

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_DASHSCOPE_API_KEY",
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)

三、核心实操:构建一个带工具调用的 Agent

Step 1:定义工具(Functions)

工具调用的核心是告诉模型「你有哪些能力」。以一个查询天气+发送报告的 Agent 为例:

tools = [
    {
   
        "type": "function",
        "function": {
   
            "name": "get_weather",
            "description": "获取指定城市的实时天气信息",
            "parameters": {
   
                "type": "object",
                "properties": {
   
                    "city": {
   
                        "type": "string",
                        "description": "城市名称,如「北京」「上海」"
                    },
                    "unit": {
   
                        "type": "string",
                        "enum": ["celsius", "fahrenheit"],
                        "description": "温度单位"
                    }
                },
                "required": ["city"]
            }
        }
    },
    {
   
        "type": "function",
        "function": {
   
            "name": "send_report",
            "description": "将生成的报告发送到指定邮箱",
            "parameters": {
   
                "type": "object",
                "properties": {
   
                    "email": {
   "type": "string", "description": "收件人邮箱"},
                    "content": {
   "type": "string", "description": "报告正文"}
                },
                "required": ["email", "content"]
            }
        }
    }
]

Step 2:实现 Agent 循环

Agent 的核心是一个「思考-行动-观察」的循环(ReAct 模式):

import json

def run_agent(user_message: str):
    messages = [{
   "role": "user", "content": user_message}]

    while True:
        # 调用模型
        response = client.chat.completions.create(
            model="qwen-max",
            messages=messages,
            tools=tools,
            tool_choice="auto"
        )

        msg = response.choices[0].message

        # 如果模型决定调用工具
        if msg.tool_calls:
            messages.append(msg)  # 把模型的决策加入历史

            # 执行每个工具调用
            for tool_call in msg.tool_calls:
                function_name = tool_call.function.name
                function_args = json.loads(tool_call.function.arguments)

                # 路由到实际函数
                result = dispatch_tool(function_name, function_args)

                # 把工具返回结果加入对话
                messages.append({
   
                    "role": "tool",
                    "tool_call_id": tool_call.id,
                    "content": json.dumps(result, ensure_ascii=False)
                })
        else:
            # 模型给出最终回复
            print(f"Agent 回复:{msg.content}")
            break

def dispatch_tool(name: str, args: dict) -> dict:
    """工具路由,实际项目中替换为真实的 API 调用"""
    if name == "get_weather":
        # 替换为实际天气 API
        return {
   "city": args["city"], "temp": "25°C", "condition": "晴"}
    elif name == "send_report":
        # 替换为实际邮件发送逻辑
        return {
   "status": "success", "message": f"报告已发送至 {args['email']}"}

# 运行
run_agent("查一下北京今天的天气,然后把摘要发到 test@example.com")

Step 3:处理多轮工具调用

Qwen3.7 支持在一次推理中并行调用多个工具,上面的代码已经通过 for tool_call in msg.tool_calls 处理了这个情况。

实际测试中,当我发出「查北京和上海的天气,对比后生成报告发给我」这类请求时,模型会一次性触发两个 get_weather 调用,而非串行执行,效率有明显提升。


四、踩坑记录

坑 1:工具描述要足够精确

刚开始写工具描述时用的是「获取天气」,结果模型有时会在本可以一步完成的情况下多做推断。后来改成了更具体的描述(「获取指定城市的实时天气信息,返回温度、天气状况、湿度」),稳定性明显提升。

坑 2:tool_call_id 必须准确匹配

把工具结果加入消息时,tool_call_id 必须和模型返回的 tool_call.id 完全一致,否则 API 会报错。这个细节在官方文档里有说但容易忽略。

坑 3:大量工具时的性能问题

当工具数量超过 20 个时,模型的选择准确率会下降。建议按场景对工具分组,每次只注入当前场景需要的工具子集。


五、成本参考

百炼的计费是按 Token 算的,Qwen3.7-Max 目前有限时折扣。以我们实际项目测算:

  • 单次对话含工具调用,平均消耗约 2,000-5,000 Tokens
  • 日均 1,000 次调用,月成本在百元级别,比同等 GPT-4o 调用便宜约 60-70%

另外百炼现在对新用户有免费 Token 额度,用于前期开发测试完全够用。


总结

用阿里云百炼 + Qwen3.7 搭建 Agent 的核心流程并不复杂,关键点在于:

  1. 工具描述要精准,是影响 Agent 稳定性的核心变量
  2. 合理利用并行工具调用,减少多轮交互的延迟
  3. 做好工具路由的错误处理,Agent 在生产环境中必须有降级机制

如果你也在做类似的 AI 应用,可以去百炼的活动页面看看——新用户有超过 1 亿 Tokens 的免费额度,做 POC 验证阶段完全不用担心成本。


相关链接

---

相关文章
|
4月前
|
人工智能 安全 Serverless
MCP Server 开发与部署实战:让 AI 智能体拥有"双手"
MCP(Model Context Protocol)协议是 2026 年最热的 AI 技术趋势之一,它让大模型从"只会说"进化为"能做事"。阿里云百炼平台上线了业界首个全生命周期 MCP 服务,预置 20+ 云端服务和 50+ 本地服务。本文从 MCP 协议原理讲起,实战演示自定义 MCP Server 开发、函数计算 FC 部署、百炼 MCP 服务广场集成,以及与 Qwen3.7 智能体的联动,帮你构建真正能调用工具的 AI 应用。
|
4月前
|
人工智能 弹性计算 Serverless
2026 年企业 AI Agent 落地:从 Demo 到生产的四个关键跨越
本文剖析AI Agent从Demo到生产落地的四大关键跨越:长时任务支持、多Agent协同、GPU弹性伸缩与全链路可观测性,并结合Google ADK、Anthropic MCP等新协议,给出务实解法与平台选型建议。
2161 0
|
4月前
|
设计模式 人工智能 开发框架
微软竟然出了免费的 AI 应用开发课?!我已经学上了
大家好,我是程序员鱼皮。最近又挖到一个好东西,微软在 GitHub 上开源了一套 AI Agent 零基础课程,叫《AI Agents for Beginners》,目前 Star 已经突破 5 万了。 课程指路:https://github.com/microsoft/aiagentsforbeginners 整套课程一共 15 节(还在持续更新中),每节都配了文章、视频和代码示例,而且 还有中
1274 0
|
4月前
|
人工智能 运维 安全
工单闭环从半天到 6 分钟:我们把 AI Agent 编进了组织架构
我们以云原生应用部门为试验田,用商业化产品 AgentTeams 落地一支"数字员工小分队",让它们承接日常研发、工单答疑、开源维护与运营等业务,把原本人肉串联的协作流程,做成 AI Native 的工作方式。
1304 153
|
4月前
|
缓存 人工智能 Java
Qwen3.7 API 与 Token Plan 调用实战:从零到生产的完整指南
Qwen3.7-Max 是阿里云 2026 年发布的旗舰智能体大模型,在编程、推理等能力上行业领先。本文从实际项目需求出发,详细演示百炼平台注册、API Key 管理、Qwen3.7-Max/Plus 模型调用、Token Plan 订阅配置的完整流程,并提供 Python 和 Java 两种语言的代码示例、成本对比分析和生产环境避坑指南。
|
4月前
|
API 开发者
千问云上线Qwen3.7-Max,支持API与Token Plan调用!
Qwen3.7-Max是阿里云2026年发布的旗舰智能体大模型,全球评测排名第五、国产第一。支持百万级上下文与自主长程任务执行,API调用价12/36元(每百万Token),已接入千问云及Token Plan订阅服务。
1456 0
|
4月前
|
数据采集 人工智能 安全
AI 企业知识库系统的开发
本项目开发基于RAG技术的AI企业知识库系统,通过文档解析、智能分块、向量化索引与双路检索重排,让大模型精准调用私有资料生成可靠回答。支持多格式文档处理、细粒度权限管控及在线反馈优化,助力企业安全高效落地AI知识管理。(239字)
|
3月前
|
人工智能 运维 Rust
最新版 Codex(终端 AI 编程助手) 功能介绍及接入阿里云百炼 Coding Plan、Token Plan 教程
在现代软件工程快速迭代的背景下,传统IDE体积臃肿、启动缓慢、操作繁琐,图形界面AI插件依赖可视化环境,无法适配纯终端远程开发、轻量化脚本迭代、服务器运维编码等场景。多数终端编程工具功能单一,仅支持基础代码补全,不具备项目全局理解、多步骤任务自治、批量工程重构、安全沙箱防护等高阶能力,且普遍存在海外模型访问不稳定、计费不可控、无法适配国内合规开发体系等问题。
1136 1
|
4月前
|
人工智能 运维 监控
阿里云百炼+Qwen3.7-Max实战教程:零基础搭建可调用工具的AI Agent智能体
随着AI智能体(Agent)技术在企业运维、办公自动化、数据处理等场景深度落地,单纯的对话式大模型已经无法满足复杂业务需求,具备**工具调用能力**的智能体成为企业数字化转型的重要载体。阿里云百炼平台结合Qwen3.7-Max大模型,依托成熟的Function Calling能力、超大上下文窗口与多工具并行调用特性,成为国内企业构建合规、稳定AI Agent的主流方案。本文结合完整实操流程、代码示例、选型分析、踩坑总结与成本测算,讲解如何从零搭建支持外部工具调用的企业级AI智能体,适合运维开发、后端工程师、AI应用开发者参考学习
504 0
|
4月前
|
人工智能 数据挖掘 Serverless
花一周搭 AI Agent 没跑通,同事 3 分钟上线了——我把他的方案扒了个底朝天
本文实操拆解阿里云AgentRun+百炼一站式搭建AI Agent方案:3分钟创建、10分钟接入、当天上线。告别GPU租赁、框架选型、K8s运维、数据库搭建等自建痛点,Serverless全托管计算、弹性伸缩、NAS持久化、开箱即用工具链,月成本仅一杯咖啡钱。

热门文章

最新文章