news 2026/10/24 14:10:51

AI for Beginners 课程解读:多智能体系统(Multi-Agent Systems)——从涌现智能到 NetLogo 建模实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI for Beginners 课程解读:多智能体系统(Multi-Agent Systems)——从涌现智能到 NetLogo 建模实战
  • 教程
  • 人工智能
  • 机器学习
  • 深度学习

【免费下载链接】AI-For-Beginners

12 Weeks, 24 Lessons, AI for All!

项目地址:https://gitcode.com/GitHub_Trending/ai/AI-For-Beginners
点击查看免费下载

多智能体系统(Multi-Agent Systems,MAS)是《AI for Beginners》课程第 23 课(位于 lessons/6-Other/23-MultiagentSystems/README.md)的核心主题。本篇文章以该课文档为主线,系统讲解"涌现式(协同式)"智能如何由大量简单个体组合而成、智能体的分类体系与应用场景,并通过开源建模环境NetLogo给出可直接上手的实操路径:从模型库浏览、基础命令,到经典的 Flocking(鸟群)三规则与交通、人群等模拟实验,最后延伸至 BDI 架构的审慎型智能体原理。读完本文,你将理解多智能体系统的设计思想,并掌握用 NetLogo 快速搭建、调参、观察涌现行为的完整方法。

从"涌现"理解多智能体系统

课程开篇给出了一条不同于传统符号式或神经网络式 AI 的实现路径:涌现式(emergente)或协同式(sinérgico)方法。其核心观点是——大量相对简单的智能体(agent)组合在一起时,整体系统可以呈现出更复杂、甚至更"智能"的行为。这一思想在理论上扎根于三个概念:

  • 集体智能(Inteligencia Colectiva):个体的简单规则汇总后形成群体层面的智能;
  • 涌现主义(Emergentismo)/ 全球脑(Global Brain):更高层级的系统由低层级系统恰当组合后产生新的附加值;
  • 演化控制论(Cibernética Evolutiva):即所谓的"元系统转换原则(principio de transición de metasistema)"——较低层系统的组合会带来高层系统质的提升。

该方向于 20 世纪 90 年代在 AI 领域兴起,其背景正是互联网与分布式系统的高速增长。经典 AI 教科书《Artificial Intelligence: A Modern Approach》便是从多智能体视角审视经典 AI 的代表著作。在整个课程体系中,这一课被安排在 lessons/6-Other 目录下的"其他 AI 方法"板块,与遗传算法、深度强化学习并列,属于课程主 README(README.md)所归纳的"不太主流的 AI 方法"之一,但其在仿真、游戏、自动化领域的实用价值正日益凸显。

智能体(Agent)的定义与分类

多智能体方法的核心概念是智能体:一个存在于某个环境之中、能够感知环境并对其施加作用的实体。这个定义非常宽泛,课程按三个维度给出了系统的分类体系:

分类维度类型行为特征
推理能力反应式(reactivos)通常只有简单的"请求—响应"式行为
推理能力审慎式(deliberativos)使用某种逻辑推理和/或规划能力
代码执行位置静态(estáticos)运行在固定的网络节点上
代码执行位置移动(móviles)可以在网络节点之间迁移自己的代码
行为目标被动(pasivos)没有特定目标,可对外部刺激作出反应但不会主动发起动作
行为目标主动(activos)追求某些明确目标
行为目标认知(cognitivos)涉及复杂的规划与推理

其中"反应式 vs. 审慎式"的区分尤为关键,它贯穿全文:后文 NetLogo 中的智能体基本是反应式的,而课程最后讨论的 BDI 架构则属于审慎式。

现实中的应用场景

多智能体系统如今已应用于多个领域:

  • 游戏:大量非玩家角色(NPC)使用某种 AI,可被视为智能体;
  • 视频制作:涉及人群的复杂 3D 场景渲染,通常借助多智能体仿真完成;
  • 系统建模:用多智能体方法模拟复杂模型的行为——例如已被成功用于预测 COVID-19 在全球的传播;类似的思路可用于建模城市交通,观察它对交规变化的响应;
  • 复杂自动化系统:每个设备作为独立智能体运行,使整个系统不再是单一整体(monolítico),鲁棒性更强。

NetLogo:多智能体建模环境入门

课程只用一个建模示例来落地多智能体思想,这个工具就是NetLogo——一个基于改良版Logo语言的多智能体建模环境。Logo 语言最初用于向儿童教授编程概念,它允许你控制一个名为海龟(tortuga/turtle)的智能体,它移动时会留下轨迹,从而能画出复杂几何图形,是一种非常直观理解"智能体行为"的方式。

第一个命令:创建海龟并指挥它们

NetLogo 中用create-turtles创建多个海龟,再用ask让所有海龟执行动作。课程给出的最小示例:

create-turtles 10 ask turtles [ forward 10 ]

执行后,10 只海龟会同时向前移动 10 个步长。当然,让所有海龟做同样的事并不有趣,所以可以用ask只指挥特定群体(例如位于某点附近的那些海龟)。还可以用breed [cats cat]创建不同品种的海龟——注意要同时给出复数与单数形式,因为不同命令为了语义清晰会分别使用不同形式。

✅ 课程并不打算深入讲解 NetLogo 语言本身,感兴趣可以查阅 Beginner's Interactive NetLogo Dictionary 官方入门资源。NetLogo 也可以从官网下载安装后自行尝试。

模型库(Models Library):无需从零开始的捷径

NetLogo 的一大优点是内置了大量可直接运行的工作模型。打开方式:File → Models Library,即可看到许多分类模型供选择。课程示例截图中展示了模型库的真实界面:

图片来源:Dmitry Soshnikov 的模型库截图(对应课程文档中的translated_images/es/NetLogo-ModelLib.efe023afb4763c05.webp)。

例如可以打开Biology → Flocking(鸟群)模型,直接观察涌现行为。

主界面与核心机制

打开一个模型后进入 NetLogo 主屏幕,课程以"狼与羊种群(有限资源:草)"模型为例展示了界面:

图片来源:Dmitry Soshnikov 的截图(对应课程文档中的translated_images/es/NetLogo-Main.32653711ec1a01b3.webp)。

主屏幕包含两个主要区域:

  • **Interface(界面)**区,内含:
    • 主场地(campo):所有智能体生存的区域;
    • 各种控件:按钮、滑杆(slider)等;
    • 图表:用于展示仿真参数的变化。
  • **Code(代码)**标签页:NetLogo 程序的编写编辑器。

大多数模型界面都有Setup按钮(初始化仿真状态)和Go按钮(启动运行),它们由代码中对应的处理器(handler)实现,结构大致如下:

to go [ ... ]

NetLogo 世界的三类对象

NetLogo 的"世界"由三种对象构成:

  • 智能体(海龟):在场地中移动并做事的实体。用ask turtles [...]语法向它们下命令,方括号内的代码由所有智能体以海龟模式(modo tortuga)并行执行。
  • 补丁(Patches):场地中的方形区域,智能体就生活在这些区域上。你可以引用同一补丁上的所有智能体,修改补丁颜色及其他属性,也可以ask patches让它们执行动作。
  • 观察者(Observer):控制整个世界的唯一智能体,所有按钮处理器都以观察者模式(modo observador)运行。

✅ 多智能体环境的美妙之处在于:以海龟模式或补丁模式运行的代码,会被所有智能体同时、并行地执行。因此,只需写少量代码、定义好单个智能体的行为,就能创造出整个仿真系统的复杂行为——这正是"涌现"的工程化体现。

Flocking:三条规则涌现出鸟群智能

Flocking(群集行为)是多智能体行为的经典范例,其模式与鸟群飞行高度相似。表面上看鸟群仿佛在遵循某种集体算法、拥有"集体智能",但课程明确指出:这种复杂行为只源于每个个体(鸟)观察附近少量同类后遵循的三条简单规则:

  • 对齐(Alineación):朝邻居智能体的平均方向转向;
  • 凝聚(Cohesión):朝邻居的平均位置移动(远距离吸引);
  • 分离(Separación):当离其他鸟太近时试图远离(短距离排斥)。

运行 Flocking 示例即可观察这一行为,并可通过滑杆调整参数,例如分离程度与视野范围(rango de visión)——后者定义每只鸟能看多远。注意两个极端现象:

  • 把视野范围调到 0:所有鸟"失明",群集行为立即停止;
  • 把分离调到 0:所有鸟挤成一条直线。

✅ 切换到Code标签页,观察三条规则(对齐、凝聚、分离)在代码中是如何实现的,注意代码如何只引用视野之内的智能体——局部感知是涌现的关键前提。

更多可探索的模型

课程还推荐了几个值得动手的模型:

  • Art → Fireworks(烟花):展示烟花如何可被视为各条火焰流(个体)的集体行为;
  • Social Science → Traffic Basic与Social Science → Traffic Grid:在 1D 与 2D 网格上、有无红绿灯条件下模拟城市交通。仿真中的每辆车遵循以下规则:
    • 若前方空间为空,则加速(直至某个最大速度);
    • 若检测到前方障碍物,则刹车(可调节"驾驶员"能看多远);
  • Social Science → Party(聚会):模拟鸡尾酒会上人群如何聚集成群。可以通过调整参数组合,寻找让群体"幸福感"最快上升的配置。

这些示例表明:多智能体仿真是一种理解复杂系统的有效手段——尤其是那些由遵循相同或相似逻辑的个体组成的系统;它同样可用于控制虚拟智能体,如视频游戏中的 NPC,或 3D 动画世界中的角色。

审慎式智能体(Agentes Deliberativos)与 BDI 架构

前面讨论的智能体都很简单——它们只是用某种算法对环境变化作出反应,属于反应式智能体。但有时智能体需要推理并规划自身行动,这类被称为审慎式(deliberativos)智能体。

课程给出的典型例子是:一个个人智能体受人类委托预订度假套餐。假设互联网上有很多能提供帮助的智能体,那么这个智能体需要联系其他智能体,查询可用的航班、不同日期的酒店价格,并尝试谈判到最优价格;当度假计划完备且得到主人确认后,再执行预订。可见审慎式智能体不仅要被动反应,还要能主动发起行动,因此远比反应式复杂。

智能体之间如何通信

要让上述协作成立,智能体必须能够通信,而成功的通信需要以下四类基础设施:

  • 标准的知识交换语言:如 Knowledge Interchange Format (KIF) 和 Knowledge Query and Manipulation Language (KQML),二者基于言语行为理论(Speech Act theory) 设计;
  • 谈判协议(protocolos para negociaciones):通常基于不同类型的拍卖(subastas)机制;
  • 公共本体论(ontología común):确保各方对同一概念有相同语义理解;
  • 能力发现机制:一种基于本体论去"发现"其他智能体能做什么的方式。

BDI 模型:信念—愿望—意图

课程介绍了一种经典的审慎式智能体架构——BDI(Belief-Desire-Intention,信念—愿望—意图):

  • 信念(Creencias/Beliefs):智能体对环境的知识集合,可组织为知识库或一组规则,用于在特定环境情境下做推理;
  • 愿望(Deseos/Desires):智能体想做什么,即它的目标。例如前述个人助理智能体的目标是预订度假套餐,而酒店智能体的目标则是最大化利润;
  • 意图(Intenciones/Intentions):智能体为达成目标而规划的具体行动。这些行动通常改变环境,并引发与其他智能体的通信。

此外,课程还提到构建多智能体系统的可用平台,如 JADE,并推荐了一篇综述论文(arXiv 2007.08961),其中包含多智能体平台回顾、系统简史及多种使用场景。

结论、课后挑战与作业

结论:多智能体系统可以呈现非常多样的形态、应用于众多不同场景;它们都聚焦于单个智能体的简单行为,并借助协同效应(efecto sinérgico)使整体系统涌现出更复杂的行为。

课后挑战(🚀 Challenge):把本课知识带到现实世界,尝试构思一个能解决实际问题的多智能体系统。例如:

  • 多智能体系统要优化一条校车线路,需要做些什么?
  • 它如何在一家面包店中运转?

复习与自学(Review & Self Study):调研此类系统在工业界的应用——选择一个领域(如制造业或游戏行业),了解多智能体系统如何解决该领域的独特问题。

配套作业(NetLogo Assignment):课程配套了 作业文件(西班牙语版见 translations/es/lessons/6-Other/23-MultiagentSystems/assignment.md),要求:

  1. 从 NetLogo 模型库中选取一个模型,尽可能真实地模拟一个现实情境——一个很好的例子是调整 "Alternative Visualizations" 文件夹中的Virus 模型,用它建模 COVID-19 的传播:你能否构建一个模仿真实病毒传播的模型?
  2. 保存副本并制作一段视频演示,解释该模型与现实情境之间的关联。

完成本课学习后,你可以回到课程主目录 README.md,按 24 课的整体路线继续探索;本节所属的 6-Other 板块还包含遗传算法(21-GeneticAlgorithms)与深度强化学习(22-DeepRL)等同样"从简单规则涌现复杂行为"的 AI 方法,可作为延伸阅读。

  • 教程
  • 人工智能
  • 机器学习
  • 深度学习

【免费下载链接】AI-For-Beginners

12 Weeks, 24 Lessons, AI for All!

项目地址:https://gitcode.com/GitHub_Trending/ai/AI-For-Beginners
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/24 14:10:50

使用VScode插件连接MySQL:把数据库连接配置改到TaoToken统一管理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/16 11:26:58

Superpowers实战:为Claude打造可复用的技能扩展系统

最近在 AI 工具圈里,superpowers 这个词出现的频率高得吓人。它不是某个软件的名字,也不是一套开源库,而是一个专门给 Claude.ai 做“技能扩展”的项目,来自老牌 Perl 社区开发者 Jesse Vincent(网名 obra)…

作者头像 李华
网站建设 2026/10/16 15:27:09

DeepSeek Harness (dsh) 插件开发实战:从零写一个自动调用 Codex 的插件

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华