HarmonyOS 游戏 × Agent:NPC首次拥有自主意识


网罗开发 (小红书、快手、视频号同名)

  大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。

图书作者:《ESP32-C3 物联网工程开发实战》
图书作者:《SwiftUI 入门,进阶与实战》
超级个体:COC上海社区主理人
特约讲师:大学讲师,谷歌亚马逊分享嘉宾
科技博主:华为HDE/HDG

我的博客内容涵盖广泛,主要分享技术教程、Bug解决方案、开发工具使用、前沿科技资讯、产品评测与使用体验 。我特别关注云服务产品评测、AI 产品对比、开发板性能测试以及技术报告,同时也会提供产品优缺点分析、横向对比,并分享技术沙龙与行业大会的参会体验。我的目标是为读者提供有深度、有实用价值的技术洞察与分析。

展菲:您的前沿技术领航员

👋 大家好,我是展菲!

📱 全网搜索"展菲",即可纵览我在各大平台的知识足迹。

每周定时推送干货满满的技术长文,从新兴框架的剖析到运维实战的复盘,助您技术进阶之路畅通无阻。

文章目录

引言

过去二十多年里,游戏 NPC 本质上都属于同一种东西:

text 复制代码
状态机

无论是:

text 复制代码
传奇
魔兽世界
英雄联盟
原神

还是绝大多数手游,NPC 的运行逻辑几乎都是:

text 复制代码
状态
↓

规则

↓

行为

例如:

ts 复制代码
if (playerNear) {
    attack()
}

if (hp < 30) {
    escape()
}

或者:

ts 复制代码
switch(state) {

 case PATROL:
   patrol()

 case ATTACK:
   attack()

}

这种模式有一个巨大优势:

text 复制代码
稳定
可控
性能高

但也有一个明显缺陷:

text 复制代码
NPC 永远是写死的

无论玩家玩多少次:

text 复制代码
同一句台词
同一个动作
同一种决策

最终都会变成:

text 复制代码
可预测

而 Agent 的出现,第一次让游戏开发者看到了另一种可能:

NPC 不再执行脚本,而是开始思考。

这意味着:

text 复制代码
State Machine
↓

Behavior Tree

↓

AISystem

↓

Agent System

游戏 AI 正在进入新的阶段。

一、传统 NPC 为什么越来越难做?

先看一个常见需求,设计一个村庄 NPC。

产品希望它具备:

text 复制代码
白天巡逻

晚上回家

玩家靠近聊天

玩家攻击反击

天气变化改变行为

传统写法:

ts 复制代码
if (isMorning) patrol()

if (isNight) goHome()

if (playerNear) talk()

if (attacked) fight()

随着需求增加:

text 复制代码
好感度

职业

情绪

天气

任务状态

代码会迅速变成:

text 复制代码
几百个if
几千行逻辑

最终:

text 复制代码
难维护
难扩展
难调试

很多大型游戏后期最大的成本,其实不是:

text 复制代码
渲染

而是:

text 复制代码
NPC行为维护

二、Agent 与传统AI的区别

很多开发者第一次接触 Agent 时会疑惑:

text 复制代码
Agent
=
高级AI?

其实不完全对,传统 AI:

text 复制代码
输入

↓

规则

↓

输出

例如:

ts 复制代码
hp < 30

↓

逃跑

结果是固定的。

而 Agent:

text 复制代码
观察环境

↓

理解目标

↓

规划行为

↓

执行动作

↓

持续反馈

例如:

text 复制代码
观察:
玩家进入村庄

目标:
保护村民

思考:
是否需要警告玩家?

行动:
主动对话

这已经不是:

text 复制代码
规则执行

而是:

text 复制代码
行为生成

三、Agent NPC 的核心架构

如果放到 HarmonyOS 游戏中,Agent Runtime 通常包含:

text 复制代码
Perception
(感知)

Planning
(规划)

Memory
(记忆)

Action
(行动)

架构:

text 复制代码
                World State

                      │

          ┌───────────▼───────────┐

          │      Agent Runtime     │

          └───────────┬───────────┘

                      │

      ┌───────────────┼───────────────┐

      ▼               ▼               ▼

  Memory         Planning        Action

                      │

                      ▼

                 AISystem

                      │

                      ▼

                 Game Store

这里:

text 复制代码
Store

负责世界状态。

text 复制代码
Agent

负责行为决策。

四、NPC首次拥有记忆能力

传统 NPC 最大的问题:

text 复制代码
不会记住玩家

例如:

text 复制代码
玩家偷过东西

NPC下一秒就忘了

Agent 不一样,可以引入:

ts 复制代码
interface Memory {

    playerName: string

    reputation: number

    history: string[]

}

例如:

text 复制代码
玩家帮助过村庄

记忆写入:

ts 复制代码
memory.history.push(
 "帮助村民击退野狼"
)

以后再次见面:

text 复制代码
NPC主动感谢玩家

这就是:

text 复制代码
长期记忆

五、Agent如何做决策?

传统 AI:

text 复制代码
条件

↓

结果

Agent:

text 复制代码
目标

↓

推理

↓

行为

例如,NPC目标:

text 复制代码
保护村庄

环境:

text 复制代码
玩家进入

天气恶劣

村民恐慌

Agent推理:

text 复制代码
先安抚村民

再观察玩家

最后决定是否接触

输出:

ts 复制代码
{
   action: "TALK"
}

而不是:

ts 复制代码
{
   action: "ATTACK"
}

六、HarmonyOS中的Agent Runtime

在鸿蒙游戏中,推荐将 Agent 独立成系统。而不是 BattleSystem 的一部分。

例如:

ts 复制代码
class AgentSystem {

    update(store: WorldStore) {

    }

}

执行流程:

text 复制代码
Store

↓

AgentSystem

↓

Action

↓

Engine

↓

Store

形成完整闭环。

七、World Model开始出现

真正重要的变化来了,传统游戏:

text 复制代码
Store

记录的是:

text 复制代码
数据

例如:

ts 复制代码
player.hp

player.level

但 Agent 需要的是:

text 复制代码
世界认知

因此:

text 复制代码
Store

↓

World State

↓

World Model

开始出现,例如:

ts 复制代码
interface WorldModel {

  players

  npcs

  regions

  weather

  economy

}

Agent读取:

ts 复制代码
worldModel

而不是:

ts 复制代码
playerStore

八、HarmonyOS 多设备与 Agent

鸿蒙最大的优势之一:

text 复制代码
分布式能力

例如:

text 复制代码
Phone

Pad

PC

TV

共享同一个:

text 复制代码
World State

此时:

text 复制代码
Agent

可以运行在:

text 复制代码
主设备

然后同步结果:

text 复制代码
Agent Decision

↓

Distributed Data

↓

Other Devices

形成:

text 复制代码
统一世界状态

九、未来游戏会变成什么样?

过去:

text 复制代码
开发者设计剧情

未来:

text 复制代码
Agent生成剧情

过去:

text 复制代码
NPC固定行为

未来:

text 复制代码
NPC自主成长

过去:

text 复制代码
任务系统

未来:

text 复制代码
Agent动态生成任务

整个游戏架构会演化为:

text 复制代码
                 World Model

                        │

       ┌────────────────┼────────────────┐

       ▼                ▼                ▼

 NPC Agent      Quest Agent      Story Agent

                        │

                        ▼

                  AISystem

                        │

                        ▼

                     Store

                        │

                        ▼

                  HarmonyOS

十、Agent游戏架构正在形成

过去几年,游戏架构的发展路线其实非常清晰:

text 复制代码
MVC

↓

MVVM

↓

Store

↓

Runtime

↓

AISystem

↓

Agent Runtime

↓

World Model

以前:

text 复制代码
代码驱动世界

未来:

text 复制代码
Agent驱动世界

以前:

text 复制代码
开发者定义行为

未来:

text 复制代码
Agent生成行为

这也是 AI 游戏与传统游戏最大的区别。

总结

很多开发者认为:

text 复制代码
Agent
=
更聪明的NPC

实际上远不止如此,从架构角度看:

text 复制代码
AISystem
解决行为决策

而:

text 复制代码
Agent System
开始构建数字生命

对于 HarmonyOS 游戏来说,真正值得关注的并不是:

如何让 NPC 更强。

而是:

如何让 NPC 拥有持续感知、长期记忆、自主决策和动态成长能力。

因为当 Agent 真正进入游戏世界以后,NPC 将第一次从:

text 复制代码
脚本角色

进化为:

text 复制代码
数字生命体。