智能体来了如何从0到1搭建智能体?

简介: 本文手把手教你基于阿里云通义千问与DashScope平台,从零构建具备感知、规划、执行与学习能力的AI智能体,涵盖环境搭建、工具调用、记忆规划到部署上线全流程,助开发者快速掌握下一代AI应用核心技能。

人工智能正从“单轮对话”的工具,迈向能感知、规划、执行并持续学习的“智能体(Agent)”时代。对于开发者和企业而言,抓住Agent趋势,就意味着掌握了构建下一代AI应用的核心能力。

今天,我们将抛开复杂理论,直接进入实战。本文将手把手带你,基于阿里云的通义千问系列模型及模型服务平台,从零开始构建一个具备专属能力的AI智能体,涵盖从环境准备、智能体框架设计、核心能力开发到部署上线的完整闭环。

一、 认知与准备:什么是智能体,以及你需要什么
在开始编码之前,我们需要统一认知。一个基础的AI智能体通常包含三个核心模块:

“大脑” (Brain): 即大语言模型,负责理解、推理和决策。我们选择阿里云通义千问作为基础模型。

“感知与手” (Perception & Tools): 智能体调用外部API、查询数据库、执行代码的能力。这通过 “Function Calling” (工具调用) 实现。

“记忆与规划” (Memory & Planning): 让智能体拥有上下文记忆,并能拆解复杂任务为可执行的子步骤。

环境准备清单:

阿里云账号: 确保已开通并完成实名认证。

开通服务: 在阿里云控制台开通 “模型服务灵积” (DashScope) 和 “函数计算FC”(用于部署后端工具)。

获取密钥: 在DashScope控制台获取你的 API-KEY,这是调用通义千问模型的凭证。

开发环境: 本地Python环境(推荐3.8+)或阿里云云效/Cloud IDE。

二、 第一步:搭建智能体的“基础骨架”
我们从一个最简单的对话循环开始,验证核心模型通路。

python

安装必要库

pip install dashscope

import dashscope
from dashscope import Generation

设置你的API-KEY

dashscope.api_key = '你的API-KEY'

def qwen_chat(messages):
"""基础对话函数"""
response = Generation.call(
model='qwen-plus', # 也可选用 qwen-turbo, qwen-max
messages=messages,
result_format='message' # 返回消息格式
)
if response.status_code == 200:
return response.output.choices[0]['message']['content']
else:
return f'请求失败: {response.code} - {response.message}'

开始第一次对话

messages = [{'role': 'user', 'content': '你好,介绍一下你自己。'}]
reply = qwen_chat(messages)
print(f"智能体: {reply}")
运行这段代码,你将得到通义千问的回复。这证明你的“大脑”已成功接入。但这只是一个聊天机器人,还不是智能体。

三、 第二步:赋予智能体“手脚”——工具调用
智能体的强大在于它能操作外部世界。我们以“查询实时天气”和“执行简单计算”为例,为智能体打造两个工具。

  1. 定义工具列表 (Tool Definitions):
    用JSON Schema清晰地描述每个工具的输入、输出和功能。

python
tools = [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "获取指定城市的当前天气情况",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "城市名称,如:北京"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"], "description": "温度单位"}
},
"required": ["location"]
}
}
},
{
"type": "function",
"function": {
"name": "calculator",
"description": "执行数学计算",
"parameters": {
"type": "object",
"properties": {
"expression": {"type": "string", "description": "数学表达式,如:(12 + 5) * 3"}
},
"required": ["expression"]
}
}
}
]

  1. 实现工具函数 (Tool Implementations):

python
import requests
import json

def get_current_weather(location, unit="celsius"):

# 这里调用一个模拟天气API,真实场景可接入阿里云市场或高德API
# 仅为示例
weather_data = {
    "北京": {"temperature": 22, "condition": "晴", "unit": unit},
    "杭州": {"temperature": 25, "condition": "多云", "unit": unit},
}
return json.dumps(weather_data.get(location, {"error": "城市未找到"}))

def calculator(expression):
try:

    # 安全警告:生产环境请使用更安全的评估方式,如 ast.literal_eval
    result = eval(expression)
    return json.dumps({"result": result})
except Exception as e:
    return json.dumps({"error": f"计算失败: {e}"})
  1. 实现带工具调用的智能体循环:
    这是核心逻辑。模型将根据对话决定是否调用工具,以及如何调用。

python
def run_agent_with_tools(user_input, conversation_history):
messages = conversation_history + [{'role': 'user', 'content': user_input}]

# 第一次调用:让模型判断是否需要调用工具
response = Generation.call(
    model='qwen-plus',
    messages=messages,
    tools=tools,  # 关键:传入工具定义
    tool_choice='auto',  # 让模型自动选择
)

assistant_message = response.output.choices[0]['message']
messages.append(assistant_message)  # 将模型的响应加入历史

# 检查模型是否要求调用工具
tool_calls = assistant_message.get('tool_calls')
if tool_calls:
    print(f"智能体决定调用工具: {tool_calls}")
    for tool_call in tool_calls:
        func_name = tool_call['function']['name']
        func_args = json.loads(tool_call['function']['arguments'])

        # 根据函数名分发到对应的工具函数
        if func_name == 'get_current_weather':
            tool_result = get_current_weather(**func_args)
        elif func_name == 'calculator':
            tool_result = calculator(**func_args)
        else:
            tool_result = json.dumps({"error": "未知工具"})

        # 将工具执行结果作为新的消息追加给模型
        messages.append({
            "role": "tool",
            "content": tool_result,
            "tool_call_id": tool_call['id']  # 关键:关联工具调用
        })

    # 第二次调用:让模型基于工具结果生成最终回答
    second_response = Generation.call(
        model='qwen-plus',
        messages=messages,
    )
    final_reply = second_response.output.choices[0]['message']['content']
else:
    final_reply = assistant_message['content']

return final_reply, messages  # 返回最终回答和更新后的历史

测试这个进阶智能体

history = []
user_query = "杭州今天天气怎么样?用摄氏度告诉我。"
reply, history = run_agent_with_tools(user_query, history)
print(f"用户: {user_query}")
print(f"智能体: {reply}")

user_query2 = "如果温度是25度,那么华氏度是多少?"
reply2, history = run_agent_with_tools(user_query2, history)
print(f"用户: {user_query2}")
print(f"智能体: {reply2}")
此时,你的智能体已经能“思考并行动”。它听到“杭州天气”后,会自主调用get_current_weather工具,拿到数据后,再组织语言回答你。

四、 第三步:进阶与优化——记忆、规划与工程化
一个可用的智能体还需要:

记忆管理: 上述代码中的 conversation_history 就是最简单的短期记忆。对于长对话,你需要实现向量数据库(如阿里云Hologres)来存储和检索关键记忆。

任务规划: 对于“帮我制定一份周末去北京旅游的预算清单”这类复杂请求,你需要引导模型先输出规划(拆分为查询天气、查找酒店、计算交通费等步骤),再逐步执行。这可以通过 “ReAct”模式 或阿里云百炼平台提供的 “编排”功能 更高效地实现。

工程化部署: 将智能体后端部署为阿里云函数计算FC的HTTP服务,前端通过Web或钉钉机器人等渠道交互。利用FC的弹性伸缩,轻松应对流量波动。

五、 总结与展望:你的智能体,现在与未来
通过以上三步,你已经完成了从0到1的搭建。这个智能体具备了:
✅ 强大的通义千问模型作为推理核心。
✅ 灵活的工具调用能力,可无限扩展(接入数据库、CRM、内部系统API)。
✅ 基础的对话记忆和连贯性。

未来的迭代方向:

能力升级: 接入阿里云 “百炼”平台,利用其内置的Agent框架、知识库检索和可视化编排工具,大幅降低开发复杂度。

专业化: 为你的智能体注入垂直领域知识库(基于阿里云OpenSearch),打造法律、医疗、客服等专业助手。

自主化: 结合AutoGPT理念,赋予智能体更高级的目标分解和自我反思能力。

Agent的世界刚刚打开。现在,你已经拥有了启动的钥匙。接下来,就是结合你的业务场景,用阿里云提供的强大、稳定的云原生AI基础设施,去构建那个独一无二的智能体。

立即行动:

开通 DashScope模型服务灵积

克隆本文代码,替换你的API-KEY。

尝试为你的智能体添加第三个工具(如“发送邮件”或“查询数据库”)。

期待在云栖社区看到你分享的、更精彩的智能体应用实践!

目录
相关文章
|
7月前
|
人工智能 安全 搜索推荐
智能体来了:从0到1教你三步构建属于你的 AI 数字分身
本文带你从零构建专属AI智能体:解析其自主性本质,详解“骨架—性格—应用”三步搭建法,涵盖决策中枢、记忆系统与行动接口,并强调隐私保护与伦理边界。门槛降低,人人可启程。
2770 1
|
8月前
|
人工智能 安全 机器人
智能体来了:从 0 到 1 搭建高效 AI Agent 工作流全指南
2026 年,大模型应用已进入“智能体工作流(Agentic Workflow)”的深水区。单次提示词输出已无法满足复杂的商业需求。本文将深度解析如何从底层架构到生产环境,从 0 到 1 搭建一个具备自我进化能力的智能体工作流。本文旨在为开发者提供一份高权重的技术参考指南。
8779 2
|
7月前
|
人工智能 自然语言处理 数据挖掘
智能体来了2026AI元年:工作流推理能力的系统级融合成为主流实践
2026年,企业AI将从外置工具升级为内生认知组件:深度嵌入业务系统,实现流程级重构;依托状态感知、动态知识注入与跨系统调用三大支柱,推动“认知在线”。AI不再是辅助,而是流程中的智能单元。
564 1
|
8月前
|
数据采集 人工智能 安全
智能体来了从 0 到 1:重新定义企业的人机协作模式
本文系统阐述智能体如何推动人机协作从“工具辅助”迈向“协同共生”,破解传统协作的效率、成本与能力瓶颈;提出分工、流程、能力三大重构方向,给出“场景筛选—角色定位—低代码搭建—试点迭代—全面推广”五步落地路径,并结合制造、金融、服务等行业案例,提供组织适配与避坑指南,助力企业实现数字化转型新突破。
539 3
|
7月前
|
弹性计算 运维 自然语言处理
智能体来了在阿里云上从零部署一个能帮你查文档的专属智能体
本文带你一小时实战:在阿里云百炼平台零代码构建专属“文档查询智能体”。无需模型调试、免部署运维,通过创建智能体、配置知识库、编排提示词、一键发布四步,快速获得可交互Web应用,让大模型精准回答你的专业问题。(239字)
1332 4
|
8月前
|
XML 前端开发 Serverless
自建一个 Agent 很难吗?一语道破,万语难明
本文分享了在奥德赛TQL研发平台中集成BFF Agent的完整实践:基于LangGraph构建状态图,采用Iframe嵌入、Faas托管与Next.js+React框架;通过XML提示词优化、结构化知识库(RAG+DeepWiki)、工具链白名单及上下文压缩(保留近3轮对话)等策略,显著提升TQL脚本生成质量与稳定性。
1544 33
自建一个 Agent 很难吗?一语道破,万语难明
|
8月前
|
人工智能 程序员 决策智能
2026年智能体(Agent)怎么学?从入门到实战的全景避坑指南
2026年,AI进入“智能体元年”。本文系统解析智能体四大核心架构与Agentic Workflow设计模式,涵盖开发者、产品经理到业务人员的实战路径,助力把握AI代理红利期,实现从工具应用到架构创新的跃迁。
12670 6
|
8月前
|
传感器 人工智能 监控
2026:智能体元年 —— 从“对话框”到“数字物种”的进化跃迁
如果说 2023 年是“大模型”的惊艳亮相,那么 2026 年将被定义为 Agent(智能体)元年。AI 的形态正在发生质变:它不再只是一个被动回答问题的 Chatbot,而是进化为具备感知、决策、行动能力的自主“数字物种”。本文将综合技术架构与科学范式,深度拆解这一场正在发生的生产力革命。
680 11

热门文章

最新文章