摘要:阿里云百炼平台提供了业界首个全生命周期 AI 智能体构建服务,支持零代码方式快速创建具备工具调用能力的智能体应用。本文从实际业务需求出发,完整演示在百炼平台上构建一个"旅行规划智能助手"的全流程:智能体创建 → MCP 服务集成(高德地图、天气查询)→ 知识库配置 → 对话测试 → API 发布 → 前端对接,并分享构建过程中的关键配置技巧和避坑经验。
1. 场景:30 分钟构建一个能做事的 AI 助手
上周产品经理提了一个需求:"做一个能查天气、看地图、推荐行程的旅行助手",要求一周内上线。传统方式意味着要对接高德地图 API、天气 API、写后端服务、做前端页面,至少一周。
但用阿里云百炼平台的零代码智能体构建能力,从创建到测试通过,实际只花了 30 分钟。
1.1 传统开发 vs 百炼零代码的效率对比
传统方式开发一个旅行助手,需要经历以下环节:
- 后端开发:对接高德地图 API、天气查询 API,编写路由和业务逻辑
- 前端开发:聊天界面、地图展示、天气卡片
- 联调测试:前后端接口联调、异常处理
- 部署上线:服务器配置、域名备案、SSL 证书
而百炼零代码方式,只需在控制台完成配置,无需编写一行代码。
1.2 两种开发流程对比

左侧橙色是传统流程,5-7 天起步;右侧绿色是百炼零代码流程,30 分钟搞定。核心差异在于:百炼把"对接外部 API"这件事从"硬编码开发"变成了"MCP 服务一键开通"。
2. 百炼智能体工作台概览
进入百炼控制台,路径是:百炼控制台 → 应用管理 → 创建应用。
2.1 三种应用类型
百炼提供三种应用类型,适用不同场景:
| 应用类型 | 适用场景 | 开发方式 | 灵活度 |
|---|---|---|---|
| 智能体应用 | 对话式 AI 助手、工具调用 | 零代码配置 | 高 |
| 工作流应用 | 固定流程的自动化任务 | 可视化编排 | 中 |
| 高代码应用 | 复杂业务逻辑、定制化需求 | Python 项目 | 最高 |
本文选择智能体应用(Agent 2.0),它是百炼 2026 年的最新版本,将知识库、MCP 等能力统一为工具,由智能体自主规划调用顺序。
2.2 智能体核心能力
Agent 2.0 的核心能力包括:
- 大模型选择:支持 Qwen3.7-Max、Qwen3.7-Plus 等 150+ 款模型
- MCP 服务集成:预置 20+ 云端服务、50+ 本地服务,一键开通
- 知识库(RAG):上传私有文档,智能体检索后作为回答依据
- 记忆能力:支持短期记忆和长期记忆,跨会话保持上下文
- API 发布:一键发布为 REST API,支持流式输出
2.3 百炼智能体架构全景

浅蓝色是用户交互层,浅橙色是智能体核心引擎,浅绿色是工具层,浅紫色是模型层。Agent 2.0 的关键改进是:知识库和 MCP 不再是固定顺序调用,而是由规划引擎自主决定何时调用、调用哪个。
3. 创建旅行规划智能助手
3.1 Step 1:选择模型
在百炼控制台创建智能体后,第一步是选择大模型。
模型选型建议:
| 模型 | 适用场景 | 上下文窗口 | 特点 |
|---|---|---|---|
| Qwen3.7-Max | 复杂推理、多工具调用 | 128K | 推理能力最强,工具调用精准 |
| Qwen3.7-Plus | 日常对话、通用任务 | 50K | 性价比最高,速度更快 |
对于旅行规划助手,需要多工具协同(地图 + 天气 + 知识库),推荐使用 Qwen3.7-Max。它的工具调用指令遵循能力更强,在多步推理场景下表现更稳定。
如果预算有限,Qwen3.7-Plus 也能完成大部分任务,但在复杂多工具联动场景下偶尔会出现调用顺序混乱的问题。
3.2 Step 2:编写系统提示词
系统提示词决定了智能体的行为边界和回答风格。这是整个配置中最关键的一步,直接影响工具调用成功率。
Why:系统提示词是智能体的"岗位说明书",写得好,智能体就知道什么时候该调用工具、什么时候该直接回答;写得不好,智能体要么乱调工具,要么该调的时候不调。
你是一位专业的旅行规划助手,名叫"小旅"。你的核心能力是帮助用户规划旅行行程。
## 你的能力范围
1. 地图查询:通过高德地图查询地点信息、路线规划、POI搜索
2. 天气查询:查询目的地实时天气和未来天气预报
3. 行程推荐:基于用户偏好、天气和地理信息推荐合理行程
## 工具使用规则
- 当用户提到具体地点时,主动调用地图工具查询位置和路线
- 当用户询问出行建议时,先查询天气再推荐行程
- 当用户需要景点推荐时,先搜索POI再给出建议
- 不要编造不存在的地点或天气信息,所有数据必须来自工具返回
## 回答风格
- 简洁实用,先给结论再给细节
- 行程推荐按时间顺序排列,标注预计耗时
- 涉及天气时提醒用户注意穿着和携带物品
提示词编写技巧:
- 明确"能力范围",让智能体知道能做什么、不能做什么
- 写清"工具使用规则",告诉智能体什么场景下该调用哪个工具
- 强调"不要编造",这是减少幻觉的最有效手段
- 保持提示词结构化,用标题和列表代替长段落
3.3 Step 3:配置人设和开场白
在"人设与回复逻辑"配置区域,设置开场白:
你好!我是小旅,你的专属旅行规划助手 🗺️
我可以帮你:
- 查询目的地天气和实时路况
- 规划出行路线和交通方案
- 推荐景点和美食
告诉我你想去哪里,我来帮你规划行程!
开场白的作用是引导用户明确表达需求,减少无效对话轮次。
4. 集成 MCP 服务
MCP(Model Context Protocol)是百炼平台的核心能力之一。通过 MCP,智能体可以调用外部工具,从"只会说"进化为"能做事"。
4.1 添加高德地图 MCP Server
在智能体配置页面,点击"添加 MCP 服务",选择 Amap Maps。
操作步骤:
- 进入百炼 MCP 广场
- 找到"Amap Maps"卡片,点击"立即开通"
- 确认开通后,回到智能体配置页面,添加该 MCP 服务
Why:高德地图 MCP Server 当前限时免费使用,开通后无需填写 API Key 即可使用。商业化场景下也支持配置个人高德 API Key。
高德地图 MCP 提供的核心工具:
| 工具名称 | 功能 | 典型用途 |
|---|---|---|
maps_geo |
地理编码 | 地址转坐标 |
maps_direction |
路线规划 | 多种出行方案 |
maps_search_poi |
POI 搜索 | 景点、餐厅搜索 |
maps_weather |
天气查询 | 实时天气和预报 |
4.2 添加天气查询 MCP Server
在 MCP 广场中,找到"天气通【旗舰版】"服务并开通。
该服务基于权威气象数据源,支持:
- 实时天气查询
- 未来 7 天天气预报
- 灾害预警信息
- 空气质量指数
- 生活指数(穿衣、紫外线等)
Why:虽然高德地图 MCP 也包含
maps_weather工具,但天气通旗舰版的数据更全面,特别是灾害预警和生活指数,对旅行规划更有参考价值。两个服务可以同时添加,智能体会根据场景自动选择。
4.3 MCP 服务参数配置
在智能体中添加 MCP 服务时,需要注意以下配置:
- 每个智能体最多可同时添加 5 个 MCP 服务
- 智能体会根据用户输入自动判断是否调用 MCP 服务
- Agent 2.0 支持在多步推理中动态调用 MCP,不固定调用顺序
4.4 工具调用测试
添加完 MCP 服务后,在右侧对话窗格中发送测试消息:
现在出发,从杭州萧山国际机场到杭州西湖景区,请提供公共交通出行方案
智能体将多次调用 MCP 服务,完成路径规划和时间估算。以下是典型的调用结果:
Why:这个测试消息同时涉及地理编码和路线规划,可以验证智能体是否能正确拆解任务并按顺序调用工具。
{
"tool_calls": [
{
"step": 1,
"tool": "maps_geo",
"purpose": "解析出发地和目的地坐标",
"input": {
"address": "杭州萧山国际机场"
},
"output": {
"location": "120.434,30.235"
}
},
{
"step": 2,
"tool": "maps_direction",
"purpose": "规划公共交通路线",
"input": {
"origin": "120.434,30.235",
"destination": "120.149,30.259",
"mode": "transit"
},
"output": {
"routes": [
{
"summary": "地铁1号线 → 地铁1号线",
"duration": "约65分钟",
"distance": "约32公里"
}
]
}
}
]
}
智能体先调用 maps_geo 解析地址坐标,再调用 maps_direction 规划路线,整个过程完全自主完成。
5. 知识库配置
MCP 服务让智能体能获取实时数据,知识库则让智能体具备"专业领域知识"。
5.1 上传旅行攻略文档
在智能体配置页面,进入"知识库"模块,创建知识库并上传文档。
支持的文档格式:
| 格式 | 支持情况 | 推荐场景 |
|---|---|---|
| ✅ 支持 | 官方旅游指南、政策文件 | |
| Word(.docx) | ✅ 支持 | 内部整理的攻略文档 |
| TXT/Markdown | ✅ 支持 | 结构化的景点介绍 |
| Excel | ✅ 支持 | 行程表格、价格清单 |
Why:知识库文档的质量直接影响检索效果。建议上传结构清晰、信息密度高的文档,避免上传大量重复或低质量内容。
5.2 文档切片策略选择
上传文档后,需要选择切片策略。这是影响知识库检索效果的关键配置:
| 切片策略 | 适用场景 | 切片大小建议 |
|---|---|---|
| 自动切片 | 通用场景,文档结构均匀 | 系统默认(约 500 tokens) |
| 按段落切片 | 文档有明确段落结构 | 每段 300-800 tokens |
| 按标题切片 | 文档有层级标题 | 按一级/二级标题切分 |
我的建议:旅行攻略文档通常按城市或景点分段,推荐使用"按标题切片",这样每个切片包含一个完整的景点介绍,检索时上下文更完整。
5.3 知识库与 MCP 的协同工作
在 Agent 2.0 中,知识库和 MCP 服务统一作为"工具",由智能体自主规划调用。
典型协同场景:
- 用户问"杭州西湖附近有什么好吃的" → 智能体先调用知识库检索西湖美食攻略,再调用高德 POI 搜索确认餐厅位置
- 用户问"明天去黄山需要带什么" → 智能体先调用天气 MCP 查询黄山天气,再检索知识库中的装备建议
Why:Agent 2.0 相比旧版的核心改进就在于此——旧版是固定顺序(先知识库再 MCP),新版是智能体自主决策调用顺序,效果更自然。
5.4 知识库配置参数
以下是一个典型的知识库配置参数示例:
Why:了解这些参数有助于调优检索效果,特别是在知识库文档较多时,合理的配置能显著提升回答准确率。
{
"knowledge_base": {
"name": "旅行攻略知识库",
"description": "包含国内主要城市的旅行攻略、景点介绍和美食推荐",
"chunk_strategy": "by_heading",
"chunk_size": 500,
"chunk_overlap": 50,
"retrieval_top_k": 5,
"similarity_threshold": 0.7,
"rerank_enabled": true
}
}
关键参数说明:
chunk_overlap:切片重叠量,设为 50 tokens 可避免关键信息被截断retrieval_top_k:检索返回的文档片段数,5 是推荐值similarity_threshold:相似度阈值,低于此值的片段不会被返回rerank_enabled:开启重排序,提升检索精度
6. 对话测试与调优
配置完成后,进入对话测试环节。建议设计多个测试场景,覆盖不同的工具调用组合。
6.1 测试场景 1:单城市一日游规划
输入:
帮我规划一个杭州一日游,早上从西湖出发
预期行为:智能体应调用知识库检索杭州景点信息,调用高德 POI 搜索景点位置,调用天气 MCP 查询当天天气,最后综合给出行程建议。
调优要点:如果智能体没有主动查询天气,说明系统提示词中的"工具使用规则"不够明确,需要加强引导。
6.2 测试场景 2:跨城市多日行程
输入:
我计划5天从上海出发,途经杭州、黄山,最后到南京,帮我规划行程
预期行为:智能体需要多次调用路线规划工具,查询每个城市的天气,检索知识库中各城市的攻略,最终生成完整的 5 天行程。
调优要点:跨城市行程涉及大量工具调用,如果智能体中途"遗忘"了部分任务,可以开启 enable_thinking 参数(思考模式),帮助智能体在每一步进行反思。
6.3 测试场景 3:实时天气 + 地图联动
输入:
现在杭州下雨了吗?如果下雨,推荐一些室内景点
预期行为:智能体先调用天气 MCP 查询实时天气,如果下雨则调用知识库检索室内景点推荐,再调用高德 POI 搜索确认景点位置和开放时间。
调优要点:这类条件分支场景对智能体的推理能力要求较高,如果智能体无法正确处理条件逻辑,建议在系统提示词中增加条件判断的示例。
6.4 常见问题及调优方法
| 问题现象 | 可能原因 | 调优方法 |
|---|---|---|
| 不调用工具,直接编造回答 | 提示词中工具使用规则不明确 | 在提示词中增加"必须调用工具"的强制规则 |
| 调用错误的工具 | 工具描述不够清晰 | 优化 MCP 服务的描述信息 |
| 调用顺序混乱 | 模型推理能力不足 | 升级到 Qwen3.7-Max,开启思考模式 |
| 重复调用同一工具 | 缺乏反思机制 | 开启 enable_thinking,增加反思步骤 |
| 回答包含知识库外的内容 | 相似度阈值过低 | 提高 similarity_threshold 到 0.75+ |
7. API 发布与前端对接
测试通过后,将智能体发布为 API,供前端或第三方系统调用。
7.1 发布智能体为 API
在智能体配置页面,点击"发布" → "API 调用",系统会生成:
- 应用 ID(APP_ID):在应用卡片上获取
- API 端点:
https://dashscope.aliyuncs.com/api/v1/apps/{APP_ID}/completion - API Key:在密钥管理页面创建
7.2 获取 API 端点和认证信息
发布后,在应用卡片上可以看到 APP_ID。API Key 需要在百炼控制台的"API-KEY 管理"中创建。
Why:建议将 API Key 配置到环境变量中,避免硬编码到代码里,降低泄露风险。
# 配置环境变量(macOS/Linux)
export DASHSCOPE_API_KEY="sk-your-api-key-here"
# 永久生效(写入 shell 配置文件)
echo 'export DASHSCOPE_API_KEY="sk-your-api-key-here"' >> ~/.zshrc
source ~/.zshrc
7.3 Python 调用示例
Why:以下代码是完整的可运行示例,展示了如何通过 DashScope SDK 调用百炼智能体 API,支持流式输出以提升用户体验。
import os
from http import HTTPStatus
from dashscope import Application
# 从环境变量读取 API Key,避免硬编码
api_key = os.getenv("DASHSCOPE_API_KEY")
app_id = "your-app-id" # 替换为实际的 APP_ID
def chat_with_agent(user_message: str, session_id: str = None):
"""调用百炼智能体 API"""
kwargs = {
"api_key": api_key,
"app_id": app_id,
"prompt": user_message,
"stream": True, # 推荐开启流式输出
"incremental_output": True, # 增量输出,避免重复内容
}
if session_id:
kwargs["session_id"] = session_id
responses = Application.call(**kwargs)
full_text = ""
for response in responses:
if response.status_code != HTTPStatus.OK:
print(f"请求失败: code={response.status_code}, message={response.message}")
break
chunk = response.output.text
full_text += chunk
print(chunk, end="", flush=True)
# 返回完整文本和 session_id(用于多轮对话)
return full_text, responses[-1].output.session_id if responses else None
# 单轮对话
result, sid = chat_with_agent("帮我规划一个杭州一日游")
# 多轮对话(传入 session_id 保持上下文)
result, sid = chat_with_agent("如果下雨呢?", session_id=sid)
7.4 HTTP 直接调用示例
Why:如果不想安装 SDK,可以直接用 HTTP 请求调用,适合非 Python 环境。
curl -X POST https://dashscope.aliyuncs.com/api/v1/apps/your-app-id/completion \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--header "X-DashScope-SSE: enable" \
--data '{
"input": {
"prompt": "帮我规划一个杭州一日游"
},
"parameters": {
"stream": true,
"incremental_output": true
}
}'
7.5 前端对接注意事项
- 流式输出:强烈建议开启
stream: true,智能体调用工具时可能耗时较长,流式输出可以避免超时 - session_id 管理:多轮对话需要传递
session_id,注意该 ID 在连续 1 小时无请求后自动失效 - 错误处理:MCP 服务偶尔超时是正常现象,前端应做好重试和降级展示
- 并发限制:每个 API Key 有默认并发限制,高并发场景需联系阿里云提升配额
8. 避坑指南
在构建旅行规划助手的过程中,我踩了不少坑。以下是 5 个最常见的坑和解决方案。
坑 1:系统提示词写法直接影响工具调用成功率
现象:智能体经常不调用工具,而是直接编造回答。
原因:系统提示词中没有明确"何时必须调用工具"的规则,智能体倾向于"偷懒"直接回答。
解决方案:在提示词中加入强制规则:
## 严格规则
- 涉及地点信息时,必须调用地图工具查询,禁止凭记忆回答
- 涉及天气信息时,必须调用天气工具查询,禁止编造天气数据
- 涉及路线规划时,必须调用路线工具,禁止猜测距离和时间
坑 2:知识库文档格式和切片粒度的选择
现象:知识库检索返回的内容不相关,或者关键信息被截断。
原因:文档格式不规范或切片粒度不合理。
解决方案:
- 上传前统一文档格式,每个景点/城市用明确的标题分隔
- 使用"按标题切片"策略,保持每个切片的信息完整性
- 设置
chunk_overlap: 50,避免关键信息被切断 - 开启
rerank_enabled: true,提升检索精度
坑 3:MCP 服务偶尔超时的降级策略
现象:高德地图 MCP 服务在高峰期偶尔超时,智能体长时间无响应。
原因:MCP 服务依赖外部 API,网络波动或服务端压力会导致超时。
解决方案:
- 在系统提示词中增加降级提示:"如果工具调用失败,请告知用户当前服务暂时不可用,并建议稍后重试"
- 前端设置合理的超时时间(建议 30 秒),超时后展示友好的提示
- 对于关键信息(如天气),可以同时配置高德天气和天气通两个 MCP 服务作为备份
坑 4:API 发布后的并发限制
现象:上线后并发量稍高,API 返回 429 错误。
原因:百炼 API 默认有并发限制,每个 API Key 的默认 QPS 有限。
解决方案:
- 在百炼控制台查看当前配额和用量
- 高并发场景建议使用 Token Plan 订阅,享受更高的并发配额
- 前端实现请求队列,避免瞬间大量并发
- 考虑使用缓存:对相同查询的短期结果做缓存,减少重复调用
坑 5:智能体的"幻觉"问题及应对
现象:智能体有时会编造不存在的景点或错误的天气数据。
原因:大模型的生成式本质决定了它倾向于"编造"而非"拒绝"。
解决方案:
- 系统提示词中明确禁止编造:"不要编造不存在的地点或天气信息,所有数据必须来自工具返回"
- 知识库设置较高的相似度阈值(0.75+),过滤低质量检索结果
- 开启
enable_thinking思考模式,让智能体在回答前先反思 - 对关键信息(价格、时间、地址)增加验证提示:"请确认以上信息来自工具查询结果"
9. 总结与下一步
9.1 零代码构建智能体的核心价值
通过本文的实战演示,可以看到百炼零代码智能体构建的核心价值:
- 效率提升:从传统开发的 5-7 天缩短到 30 分钟
- 门槛降低:无需编写代码,产品经理也能独立完成
- 能力丰富:MCP 服务让智能体具备真实的工具调用能力
- 灵活扩展:知识库 + MCP 的组合覆盖了大部分业务场景
9.2 适用场景和局限性
适用场景:
- 客服助手、知识问答、信息查询类应用
- 需要调用外部 API 但逻辑不复杂的场景
- 快速验证 MVP,低成本试错
局限性:
- 复杂业务逻辑(如多条件分支、状态机)仍需高代码开发
- 对实时性要求极高的场景,MCP 调用延迟可能不满足
- 大规模并发需要额外优化和配额申请
9.3 系列文章预告
本文完成了百炼平台上零代码构建智能体的全流程演示。接下来,我将继续分享:
- ECS 部署 AI 应用实战:将百炼智能体部署到阿里云 ECS,实现生产级高可用
- 百炼工作流深度编排:用可视化工作流实现更复杂的业务逻辑
- 自定义 MCP Server 开发:当官方 MCP 不够用时,如何开发专属 MCP 服务
如果你在实践过程中遇到问题,欢迎在评论区交流讨论。
📜 真实性声明
本文所有操作步骤均基于阿里云百炼平台 2026 年 6 月最新版本的实际操作验证。百炼控制台界面和功能可能随版本更新而变化,请以官方文档为准。文中涉及的 MCP 服务(高德地图、天气通)均为百炼官方预置服务,开通即可使用。