Py学习  »  Python

从零开始构建 AI 智能体与多智能体系统:Python 实战完全指南

新机器视觉 • 2 周前 • 149 次点击  


在 Agentic AI 成为十年来最热门词汇的今天,我们每天都能在招聘启事、科技公司简介、自由职业者项目中看到它的身影。听起来可能令人望而生畏,但事实恰恰相反——构建一个 AI 智能体并没有那么困难。你只需要几分钟就能搭建一个简单的 AI 智能体,而本指南将带你从零开始,一步一步完成整个过程。


你不需要任何预备知识。我们会用最简单、最适合初学者的方式解释每个环节。我们还会提供安装 Python 和相关 IDE 的完整步骤,这份教程专为编程、编码和 AI 领域的零基础读者而写。


1.1 AI 智能体


AI 智能体(AI Agent)是一类软件程序。它们能做的远不止像简单聊天机器人那样回答特定问题。AI 智能体能够回答问题、做出自主决策、创造内容、完成任务。它们可以观察(Observe)、思考(Think)、决策(Decide)、行动(Act),以最少的人类输入完成任务。



让我们用一个具体例子来说明。假设你想买一台适合重度编程的笔记本电脑。你可以同时向聊天机器人和 AI 智能体问同样的问题。


聊天机器人的做法:它会推荐几款适合编程的笔记本,然后逐一回答你的后续问题。它等待用户输入,记忆有限,本质上就是一个文本生成器。


AI 智能体的做法:它接收你的目标后,自动执行任务,不需要你明确指示每一步。它会自主进行调研、对比、规划、分析需求,做出有研究支撑的决策。对于买笔记本这个问题,聊天机器人可能只给你一句话的推荐,而 AI 智能体会给你一张对比表格,列出不同产品、价格、优缺点,帮助你做出决策。


1.2 AI 智能体的工作原理


AI 智能体是一个被编程来完成目标的智能程序。一旦你给它一个任务,它会:


  1. 接收请求,将其拆解为更小的子问题

  2. 如有需要,向用户追问以充分理解需求

  3. 使用工具(如网络搜索、计算器、自身记忆)收集信息

  4. 分析信息,比较不同选项

  5. 根据用户需求整理答案并返回


这个流程可以概括为:观察 → 思考 → 决策 → 行动。



第二部分:构建你的第一个 AI 智能体——教育助手


我们将构建一个 AI 教育助手(AI Educational Agent),它将充当你的私人教育助理。在开始写代码之前,让我们先完成环境搭建。


2.1 安装 Python


如果你是完全的初学者,很可能还没有在电脑上安装过 Python。这是一个基于 Python 的项目,所以我们需要先安装它。



访问 Python 官网下载安装包。安装过程中,务必勾选"Add Python to PATH"选项,然后点击"Install Now"。这个选项非常关键——它能让你在任何路径下都能运行 Python 命令。


2.2 安装和配置 PyCharm IDE


编写代码需要一个合适的工作环境——IDE(集成开发环境)。IDE 提供了编写、测试、调试代码的完整平台。Python 可用的 IDE 有很多,比如 Spyder、Jupyter Notebooks、VS Code 等。


本教程选择 PyCharm Community Edition(社区版),原因是它内置终端、库安装方便,非常适合初学者项目。



安装步骤:


  1. 访问 JetBrains 官网下载 PyCharm

  2. 选择 Community Edition(社区版)——免费

  3. 根据你的操作系统选择对应版本下载安装


2.3 创建项目和 Python 文件


  1. 启动 PyCharm,点击 New Project

  2. 选择项目存放位置,创建项目

  3. 在项目中创建一个 Python 文件,命名为 main.py


创建完成后,你可以写一段测试代码来验证环境是否正常:


print("Welcome to my new project on AI Agents")


点击运行按钮,如果看到输出,说明一切正常!


2.4 创建环境文件(.env)


环境文件用于安全存储项目的敏感信息,如 API 密钥、密码等。文件命名为 .env。


在 PyCharm 中创建一个名为 environment 的文件,在其中添加:


API_KEY=你的密钥粘贴在这里


我们稍后会用 python-dotenv 库来读取这个文件中的密钥。


2.5 什么是 API Key?如何获取?


API(Application Programming Interface,应用程序编程接口) 是一组规则或协议,允许两个不同的软件系统互相通信。



你可以把 API 想象成餐厅里的服务员——顾客(一个程序)通过服务员(API)向厨房(另一个程序)下单。在编程世界中,一个软件通过 API 向另一个软件发送请求。天气应用就是通过 API 获取实时天气数据的。


在我们的项目中,我们需要用 API 来连接已有的 AI 模型(如 GPT、Claude 等),调用它们的能力。而 API Key 就是通行凭证——没有它,你的程序无法与 AI 模型通信。


我们选择 OpenRouter.ai 作为 API 平台,原因有三:


  • 免费——适合初学者

  • 统一接口——一个 Key 可以调用几十种 AI 模型

  • 低算力需求——提供免费模型,不需要高配置电脑


获取步骤:


  1. 访问 OpenRouter 官网,注册账号

  2. 进入 Dashboard,点击 "Get API Key"

  3. 点击 "+ New Key",给密钥命名

  4. 复制密钥,粘贴到 .env 文件的 API_KEY 变量中


⚠️ 警告:API Key 绝对不能公开分享!任何人拿到你的 Key 就能以你的名义调用 AI 模型。


2.6 安装依赖库


在 PyCharm 的终端中依次执行:


pip install openaipip install python-dotenv


  • openai:OpenAI 官方 Python 库,用于与 AI 模型通信


  • python-dotenv:用于从 .env 文件读取环境变量


2.7 编写主代码(main.py)——完整逐行解析


# 导入所需库from openai import OpenAIfrom dotenv import load_dotenvimport os
# 加载 .env 文件中的环境变量load_dotenv()api_key = os.getenv("API_KEY")
# 创建 AI 客户端——这是你的程序与 AI 模型之间的"信使"client = OpenAI(    api_key=api_key,    base_url="https://openrouter.ai/api/v1")
# 无限循环,让智能体持续运行while True:    # 接收用户输入    question = input("You: ")    print("Thinking...\n")
    # 发送请求到 AI 模型    response = client.chat.completions.create(        model="baidu/cobuddy:free",  # 选择的 AI 模型        messages=[            {                "role": "system",                "content": "You are a helpful educational tutor."            },            {                "role": "user",                "content": question            }        ]    )
    # 提取并打印 AI 的回答    answer = response.choices[0].message.content    print("\nAI:", answer)    print("\n-------------------\n")


逐行解释:



运行代码后,你会看到 AI 实时回答你的教育类问题。如果响应较慢,这是因为我们用的是免费模型,可以去 OpenRouter 换一个更快的模型。



第三部分:从单智能体到多智能体系统——旅行规划实战


学会了单智能体,接下来我们升级到 多智能体系统(Multi-Agent System, MAS)。


3.1 什么是多智能体系统?


随着 AI 应用越来越复杂,我们正从"单个 AI 模型回答简单问题"进化到"多个 AI 智能体协作解决复杂问题"。



多智能体系统(MAS) 的核心思想是:多个 AI 智能体各自承担特定角色,通过协作完成一个更大的目标。


打个比方:单智能体就像一个人包揽所有事,而多智能体系统就像一个真正的旅行社——有人负责调研目的地,有人负责规划行程,有人负责算预算,最后有人把所有信息整合成一份完整的旅行方案。


3.2 项目设计:AI 旅行规划系统


我们将构建一个 多智能体旅行规划系统,包含四个专业智能体:



工作流程:


用户输入旅行需求    ↓Research Agent → 调研目的地信息    ↓Activity Agent → 制定活动计划    ↓Budget Agent → 计算预算    ↓Final Agent → 生成完整旅行方案    ↓输出给用户


每个智能体完成自己的任务后,将结果传递给下一个智能体,形成一条信息流水线。


3.3 面向对象编程(OOP)基础


本项目需要用到 面向对象编程(Object-Oriented Programming) 的概念。简单来说,OOP 就是用"类(Class)"作为蓝图来创建"对象(Object)"。


在我们的项目中,我们先创建一个 Agent 类(蓝图),然后用这个蓝图创建四个不同的智能体对象。


3.4 完整代码实现——逐段解析


from openai import OpenAIfrom dotenv import load_dotenvimport os
# 加载环境变量load_dotenv()api_key = os.getenv("API_KEY")
# 创建 AI 客户端,连接到 OpenRouterclient = OpenAI(    base_url="https://openrouter.ai/api/v1",    api_key=api_key)


创建 Agent 基类


classAgent:    def __init__(self, name, role):        self.name = name      # 智能体的名字        self.role = role      # 智能体的角色(告诉 AI 它应该怎么表现)
    def run(self, task):        """让智能体执行任务的核心方法"""        print(f"{self.name} is working...")
        response = client.chat.completions.create(            model="gpt-4.1-mini",  # 使用 GPT-4.1-mini 模型            messages=[                {                    "role": "system",                    "content": self.role  # 系统提示:定义智能体的行为                },                {                    "role": "user",                    "content": task       # 用户输入的任务                }            ],            max_tokens=1200  # 限制返回的最大 token 数        )
        # 提取 AI 生成的回答        return response.choices[0].message.content


这段代码的工作原理:


  • __init__ 是构造函数,在创建智能体对象时自动调用,设置名字和角色


  • run 方法是智能体的"工作引擎"——它把角色定义和用户任务一起发送给 AI 模型,然后返回 AI 的回答


  • max_tokens=1200 限制了 AI 回答的长度,避免输出过长


创建四个智能体对象


# 🔬 调研智能体research_agent = Agent(    "Research Agent",    """You are an expert travel researcher. Your job:    - Find popular attractions    - Find hidden gems    - Suggest local experiences    - Recommend best places""")
# 📋 活动规划智能体activity_agent = Agent(    "Activity Planner Agent",    """You are a professional travel planner. Your job:    - Create daily activities    - Plan sightseeing    - Recommend food experiences    - Organize activities logically""")
# 💰 预算智能体budget_agent = Agent(    "Budget Agent",    """You are a travel budget expert. Calculate:    - Estimated flight cost    - Visa requirements    - Visa fees if needed    - Hotel cost    - Food expenses    - Transport cost    - Activity costs    Create an approximate total trip budget. Keep response short.""")
# 🎯 最终助手final_agent = Agent(    "Final Travel Assistant",    """You are a professional travel planner. Create the final itinerary. Include:    1. Short trip overview    2. Visa information    3. Estimated flight cost    4. Day-wise plan    5. Food suggestions    6. Total estimated budget    Keep everything under 700 words.""")


💡 关键设计:每个智能体的 role 都是一段精心设计的系统提示(System Prompt)。这段提示告诉 AI 模型"你是谁、你应该做什么、你的输出格式是什么"。这是多智能体系统能正常协作的核心。


获取用户输入


starting_location = input("Where are you flying from? ")destination = input("Where do you want to travel? ")days = input("How many days is your trip? ")travelers = input("How many travelers? ")budget = input("What is your budget? (low/medium/high) ")interests = input("What are your interests? ")
# 将所有信息整合成一个完整的任务描述user_request = f"""Create a travel plan with these details:- Flying From: {starting_location}- Destination: {destination}- Trip Duration: {days} days- Number of Travelers: {travelers}- Budget Level: {budget}- Interests: {interests}
Include:- Visa requirements- Estimated flight cost- Places to visit- Activities- Food recommendations- Total estimated budget"""
print("\nCreating your AI travel plan...\n")


这段代码收集了用户的六个关键信息,然后将它们组合成一个结构化的任务描述,传递给第一个智能体。


多智能体协作——核心工作流


# 第1步:调研智能体工作research = research_agent.run(user_request)print("\n--- Research Completed ---")
# 第2步:活动规划智能体基于调研结果工作activities = activity_agent.run(research)print("\n--- Activities Planned ---")
# 第3步:预算智能体基于活动计划计算费用budget = budget_agent.run(activities)print("\n--- Budget Created ---")
# 第4步:最终助手整合所有信息,生成完整行程final_plan = final_agent.run(f"""Research: {research}Activities: {activities}Budget: {budget}Create final travel plan.""")
print("\n==========================")print(" FINAL TRAVEL PLAN")print("==========================\n")print(final_plan)


信息是如何在智能体之间传递的? 让我们用一个具体例子说明:


假设用户输入:


  • 出发地:Islamabad

  • 目的地:Istanbul

  • 天数:3天

  • 人数:4人

  • 预算:$4k

  • 兴趣:kid friendly(适合儿童)


传递链路:


user_request(包含所有旅行信息)    ↓ 传递给Research Agent → 输出:"伊斯坦布尔有圣索菲亚大教堂、托普卡帕宫、              伊斯坦布尔水族馆、KidZania 等景点,建议3天游览..."    ↓ 这个输出作为输入传递给Activity Agent → 输出:"第1天上午参观圣索菲亚大教堂和托普卡帕宫,              下午在苏丹艾哈迈德广场休息,晚上坐博斯普鲁斯游船晚餐..."    ↓ 这个活动计划作为输入传递给Budget Agent → 输出:"机票约$1400-$1800(4人),签证$200,住宿$600-$800,              餐饮$300-$400,交通$100,活动$300,总计约$3100-$3800"    ↓ 调研+活动+预算 三者合并后传递给


    
Final Agent → 输出:一份完整的3天家庭友好型伊斯坦布尔旅行行程


这就是多智能体协作的精髓:每个智能体只专注做一件事,但通过信息传递,它们共同完成了一个复杂任务。


3.5 运行结果示例


运行程序后,你会看到类似以下的输出:


Where are you flying from? islamabadWhere do you want to travel? istanbulHow many days is your trip? 3How many travelers? 4What is your budget? (low/medium/high) $4kWhat are your interests? kid friendly
Creating your AI travel plan...
Research Agent is working...--- Research Completed ---Activity Planner Agent is working...--- Activities Planned ---Budget Agent is working...--- Budget Created ---Final Travel Assistant is working...
========================== FINAL TRAVEL PLAN==========================
### 3-Day Family-Friendly Itinerary: Islamabad to Istanbul
#### Trip OverviewDiscover Istanbul's captivating blend of history, culture, and family-friendly fun...
#### Visa Information- For Pakistani Citizens: Turkish e-Visa required- Cost: Approx. $50 per person
#### Estimated Flight Cost- $350 - $450 per person in economy class- For 4 travelers: Approx. $1,400 - $1,800 total
#### Day-wise ItineraryDay 1: Historic and Iconic Sights  - Morning: Hagia Sophia, Topkapi Palace  - Afternoon: Sultanahmet Square, tram ride  - Evening: Bosphorus dinner cruise
Day 2: Interactive Fun and Exploration  - Morning: Istanbul Aquarium  - Afternoon: KidZania Istanbul  - Evening : Turkish ice cream show
Day 3: Parks, Museums, Markets  - Morning: Gülhane Park, Rahmi M. Koç Museum  - Afternoon: Grand Bazaar, street food  - Evening: Dinner at Çiya Sofrası
#### Estimated Budget (4 Persons)| Category | Estimated Cost (USD) ||----------|---------------------|| Flights | $1,400 - $1,800 || Visa Fees | $200 || Accommodation | $600 - $800 || Food | $300 - $400 || Transport | $100 || Activities | $300 || **Total** | **~$3,100 - $3,800** |



第四部分:为什么多智能体系统比单智能体更强大?



回到旅行规划的例子:如果用单个 AI 来做,它可能会在调研、规划、预算之间"分心",导致某个环节不够深入。而多智能体系统中,每个智能体都有明确的角色和聚焦的任务,最终输出的质量明显更高。



第五部分:初学者常见问题与调试技巧




总结


从一个简单的教育助手,到一个由四个专业智能体协作完成的旅行规划系统,我们完整地走过了 AI 智能体从入门到进阶的全过程。


核心要点回顾:


  1. AI 智能体 ≠ 聊天机器人——它能自主决策、使用工具、完成任务


  2. 单智能体适合简单任务,用 while True 循环 + OpenAI API 即可实现


  3. 多智能体系统适合复杂任务,用 OOP 创建 Agent 类,每个智能体各司其职


  4. System Prompt(系统提示) 是智能体的灵魂——写得越好,智能体表现越好


  5. 信息传递是多智能体协作的关键——前一个智能体的输出就是后一个的输入


这两篇文章从单智能体到多智能体,循序渐进地展示了 AI Agent 的构建全貌。掌握了这些基础后,你可以继续探索:给智能体添加记忆(Memory)、接入外部工具(Tools)、引入实时数据(RAG),构建真正的生产级 AI 应用。


Agentic AI 的时代已经到来,而你已经迈出了第一步。 🚀


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/201027