一直以来,关于人工生命(Artificial Life, ALife)的研究致力于回答这样一个问题:生命的复杂性能否在计算系统中自然涌现?
这一探索的核心目标,被称为开放式复杂化(open-ended complexification)—— 让人工系统能够像生物世界一样,在持续的适应与演化中自发产生新的结构与功能。
近年来,NCA(Neural Cellular Automata,神经细胞自动机)为这种探索提供了新的思路。它们能够在局部规则下展现分布式生长与自组织能力。然而,大多数 NCA 模型仍基于单一、固定的结构,难以突破演化的封闭边界。
在这样的背景下,来自 Sakana AI 的研究者提出了一种新的 ALife 模拟系统 —— PD-NCA( Petri Dish Neural Cellular Automata)。在该系统中,多个 NCA 智能体在同一环境中竞争,它们的唯一目标是实现自我复制(self-replication)。
PD-NCA 与传统的 NCA 框架有着显著不同:
每个 NCA 都拥有自己独立的神经网络参数,并在模拟过程中通过基于梯度的持续优化不断更新与适应。
这些智能体共享一个共同的空间基质 —— 即所谓的培养皿(Petri Dish)。
在这个培养皿中,不同 NCA 之间通过可微分的攻击与防御通道进行交互,表现出既竞争又合作的动态关系。
与传统 NCA 不同,后者的形态发生过程通常是根据预训练规则以确定性方式展开的;PD-NCA 则通过 learning-in-the-loop 的机制,让学习过程本身参与到模拟之中,从而实现开放式的适应与复杂性涌现。
换言之,在一个可微的、动态学习的环境中,生命体样的结构不再被预先设定,而是能在交互、进化与竞争中自行演化出丰富的行为与形态。

在 PD-NCA 中,每一个个体都在努力扩张自身,同时学习如何适应环境并超越邻近的竞争者。
结果显示,PD-NCA 能够产生多种复杂的涌现行为,例如周期性动态(cyclic dynamics)、领地防御(territorial defense)以及自发协作(spontaneous cooperation)。
下方的视频展示了多次模拟过程中不断演化出的丰富变化与复杂性 —— 每一种颜色代表不同的 NCA 个体。


模拟在一个离散的空间网格上运行。你可以把它想象成一个棋盘,它有特定的宽度(W)和高度(H)。
在棋盘的每一个格子上,都存储着一组信息,称为通道(C)。
在任何一个时间点(t)和网格位置(x,y),该格子的状态(s)都由一个特征向量来定义。这个向量包含了三个关键部分:攻击通道(a)、防御通道(d)、隐藏状态(h)。

在模拟的每一个时间步,都会依次经历以下四个阶段:处理(Processing)、竞争(Competition)、归一化(Normalization)、状态更新(State Update)。
每个 NCA 智能体(可以理解为模拟中的「玩家」)本身都是通过一个卷积函数来定义的。
这个函数会「观察」某个位置(x,y)及其邻近区域(N)的状态,然后生成一个「状态更新提议(Δs)」,也就是它「希望」这个格子在下一刻变成什么样。

智能体能否提出这个「提议」,受到一个「存活掩码(A)」的控制。简单来说,智能体只能在它自己存活的格子或紧邻的格子里提出更新建议。
为了确保模拟始终充满活力,尤其是在某个区域只有一个智能体「活着」的情况下研究人员引入了一个静态的「背景环境(E)」。
它就像一个恒定的背景竞争者,在模拟开始时随机初始化一次,然后就固定不变。
这个「背景环境」也会像智能体一样,在每个格子上提出它自己的「更新提议」。这确保了所有智能体必须时刻保持积极的攻击和防御,以对抗这种持续的背景压力,从而防止「躺平」或停滞。
这是决定谁的「提议」更重要的阶段。





为了模拟环境中「资源有限」的特性,研究者采用 Softmax 归一化操作。

这个权重代表了在最终更新状态时,每个智能体的「提议」占多少分量。

计算式中的「温度参数(τ)」用来控制竞争的「尖锐程度」。温度越低,竞争越激烈,第一名的优势就越大。


与此同时,智能体的「存活状态(A)」也会根据这场竞争的结果进行更新。



这带来一个有趣的结果:它允许最多 2 个智能体在同一个格子里共存(因为 0.4 + 0.4 < 1.0)。研究者发现,如果阈值高于 0.5(导致赢家通吃,只留 1 个),模拟会变得很无聊。
研究者这样设置的灵感来源于混合专家(MoE)模型(它们通常会选择 Top-2 专家),这能确保模拟保持一定的探索性。
因此,虽然模拟的真实状态是连续的(一个格子可能是多个智能体更新提议的混合体),但在可视化视频中,为了清晰起见,只显示了每个格子上「贡献权重」最高的那个智能体,并用不同颜色来区分。
那么,智能体是如何「学习」的呢?
每个智能体 i 的优化目标(L)都是为了最大化其领土,即最大化它在整个网格上的「总存活度」。
在实际计算中,作者通过最小化「负对数存活度」来实现这个目标。

这个目标设定非常巧妙,它会自然地「涌现」出复杂的行为:智能体必须学会在「进攻扩张」(优化其攻击通道)和「防守领地」(优化其防御通道)之间找到精妙的平衡,以便在与其他智能体和持续的背景环境压力对抗时,尽可能多地「活下去」。
该研究开展了多项实验来探索 PD-NCA。
在探索 PD-NCA 的过程中,他们发现当网格规模(grid size)与 NCA 个体数量同时增加时,系统的群体行为会变得更加丰富与复杂。
这表明未来的研究方向之一是进一步在更大尺度的网格上运行 PD-NCA,支持更多数量的 NCA 个体,并可能同时在多块 GPU 上并行计算。

下面是网格大小的影响。网格大小从 16 x 16 到 196 x 196 的结果:

下图展示了从 16×16 网格扩展到 196×196 网格时 NCA 行为的变化。

下方的视频展示了学习机制对 PD-NCA 模拟结果的影响。
在没有学习的情况下,系统最终会进入一种稳定状态,仅呈现出微小的波动;而引入学习之后,可以观察到有趣的周期性行为,以及系统在不同交互状态之间的持续变化与演化。
这些现象表明:NCA 的数量、网格规模以及学习过程,是产生 PD-NCA 中复杂动态与多样行为的关键因素。
接下来作者探索了反向传播的重要性。左侧视频展示的是未启用反向传播的模拟,右侧视频则展示了正常启用反向传播的运行结果。对比结果表明:反向传播显著提升了系统中复杂涌现行为的丰富度与持续性。

下面视频中,左上、中间下方和右下角的模拟都先运行了很多步没有提前进行学习,然后运行了几步,又进行了学习。这反映在它们的行为上:在反向传播改变平衡之前,它们都呈现出稳定的石头剪刀布动态。中间上方的模拟展示了稳定的循环是如何出现和竞争的,暗示了共生起源的存在。

在包含 3 到 6 个 NCA 的实验中,作者测试了是否可以鼓励形成更长长度的超循环结构(hypercycles)。

结果显示,尽管修改了损失函数,但观察到完整长度的超循环很少能够稳定存在。相反,NCA 循环坍缩为较短的 2–3 NCA 循环,或者出现寄生行为与叛逃级联现象。
在图中最右侧的 N=6 实验中,黄色智能体因绿色智能体的扩张而获得奖励,但绿色智能体却反过来侵占了黄色智能体的领地。同时,我们还观察到一个由黄色与蓝色智能体组成的截断的二元循环(2-cycle),其中蓝色智能体在对抗寄生性的绿色智能体时扮演防御者角色。
了解更多内容,请参考原文。
文章来自于“机器之心”,作者 “机器之心编辑部”。
【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。
项目地址:https://github.com/browser-use/browser-use
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI