games-development-ai/docs/architecture/绘境AI-总架构图说-对外演示版.html
zizi d97e194383 docs(治理): SoT注册表+docs-gate六检门,清缩历史档126→69
- 注册表:docs/architecture/README.md §2,37 份 canonical(frontmatter topic+canonical:true)与表双向机器对账
- 门:.agents/tools/docs-gate.py 六检(品牌根/canonical唯一/死链/入口卫生/留痕隔离/设计档申报),挂 .githooks/pre-commit(本仓已激活)+ .gitea/workflows/docs-gate.yml(待runner)+ wave-close 第8步;旧 check-deadlinks.sh 退役并入 G3
- 清缩:删 54 项历史档(plans 16/agent-specs 设计与spike 20/brainstorms 5/memorys 3/goals+作战清单完成史归档/王蓝莓design/SAA现状html/add-game-template);channel-spike 564K 代码资产迁仓级 spikes/;六件删前蒸馏已迁(代码评审16条open项→进度总账§5、prefix-cache字段表→cheap-model skill、意图基线29条→需求清单附录、九门降级rationale→验收门、A11 TODO→tech-decisions、3layer边界→littlejs-game-dev 指针)
- 修口径约90处:六处SAA『现行主线』旧标、Nacos/RocketMQ『未部署』旧述(07-01反转)、gameDefinition残留、全部死链改 git show 定位;AGENTS.md 249→136行(决策史归tech-decisions);_index 改纯在飞板;对外演示版 md→html
- 依据:docs/agent-specs/2026-07-02-文档治理-{全量普查与裁决-report,SoT注册表与治理门-设计}.md(四路普查191份md+Codex/Opus双评审必修项已折入);恢复基线 8ea97234(单档 git checkout 8ea97234 -- <路径>)
2026-07-02 14:24:12 +08:00

1048 lines
48 KiB
HTML

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN" xml:lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="dcterms.date" content="2026-07-01" />
<title>绘境AI · 总架构图说(对外演示版)</title>
<style>
/* Default styles provided by pandoc.
** See https://pandoc.org/MANUAL.html#variables-for-html for config info.
*/
html {
color: #1a1a1a;
background-color: #fdfdfd;
}
body {
margin: 0 auto;
max-width: 36em;
padding-left: 50px;
padding-right: 50px;
padding-top: 50px;
padding-bottom: 50px;
hyphens: auto;
overflow-wrap: break-word;
text-rendering: optimizeLegibility;
font-kerning: normal;
}
@media (max-width: 600px) {
body {
font-size: 0.9em;
padding: 12px;
}
h1 {
font-size: 1.8em;
}
}
@media print {
html {
background-color: white;
}
body {
background-color: transparent;
color: black;
font-size: 12pt;
}
p, h2, h3 {
orphans: 3;
widows: 3;
}
h2, h3, h4 {
page-break-after: avoid;
}
}
p {
margin: 1em 0;
}
a {
color: #1a1a1a;
}
a:visited {
color: #1a1a1a;
}
img {
max-width: 100%;
}
svg {
height: auto;
max-width: 100%;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 1.4em;
}
h5, h6 {
font-size: 1em;
font-style: italic;
}
h6 {
font-weight: normal;
}
ol, ul {
padding-left: 1.7em;
margin-top: 1em;
}
li > ol, li > ul {
margin-top: 0;
}
blockquote {
margin: 1em 0 1em 1.7em;
padding-left: 1em;
border-left: 2px solid #e6e6e6;
color: #606060;
}
code {
font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace;
font-size: 85%;
margin: 0;
hyphens: manual;
}
pre {
margin: 1em 0;
overflow: auto;
}
pre code {
padding: 0;
overflow: visible;
overflow-wrap: normal;
}
.sourceCode {
background-color: transparent;
overflow: visible;
}
hr {
border: none;
border-top: 1px solid #1a1a1a;
height: 1px;
margin: 1em 0;
}
table {
margin: 1em 0;
border-collapse: collapse;
width: 100%;
overflow-x: auto;
display: block;
font-variant-numeric: lining-nums tabular-nums;
}
table caption {
margin-bottom: 0.75em;
}
tbody {
margin-top: 0.5em;
border-top: 1px solid #1a1a1a;
border-bottom: 1px solid #1a1a1a;
}
th {
border-top: 1px solid #1a1a1a;
padding: 0.25em 0.5em 0.25em 0.5em;
}
td {
padding: 0.125em 0.5em 0.25em 0.5em;
}
header {
margin-bottom: 4em;
text-align: center;
}
#TOC li {
list-style: none;
}
#TOC ul {
padding-left: 1.3em;
}
#TOC > ul {
padding-left: 0;
}
#TOC a:not(:hover) {
text-decoration: none;
}
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
div.columns{display: flex; gap: min(4vw, 1.5em);}
div.column{flex: auto; overflow-x: auto;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
/* The extra [class] is a hack that increases specificity enough to
override a similar rule in reveal.js */
ul.task-list[class]{list-style: none;}
ul.task-list li input[type="checkbox"] {
font-size: inherit;
width: 0.8em;
margin: 0 0.8em 0.2em -1.6em;
vertical-align: middle;
}
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
</style>
<style>
body {
max-width: 980px;
margin: 0 auto;
padding: 32px 22px 72px;
color: #172033;
background: #f7f8fb;
font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
line-height: 1.78;
}
h1, h2, h3 {
letter-spacing: 0;
color: #101827;
}
h1 {
margin-top: 18px;
}
blockquote {
margin: 22px 0;
padding: 18px 22px;
border-left: 4px solid #2563eb;
background: #ffffff;
border-radius: 10px;
color: #334155;
}
.hj-diagram {
margin: 30px 0 36px;
padding: 22px;
border: 1px solid #e3e8ef;
border-radius: 18px;
background: #ffffff;
box-shadow: 0 18px 46px rgba(15, 23, 42, .08);
}
.hj-diagram * {
box-sizing: border-box;
}
.hj-caption {
margin: 0 0 18px;
color: #475569;
font-size: 13px;
font-weight: 650;
}
.hj-flow,
.hj-grid,
.hj-columns,
.hj-stack,
.hj-layers {
display: grid;
gap: 14px;
}
.hj-flow {
grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
align-items: stretch;
}
.hj-columns {
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.hj-grid {
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.hj-card,
.hj-step,
.hj-row {
border: 1px solid #e2e8f0;
border-radius: 14px;
background: #f8fafc;
padding: 16px;
}
.hj-card strong,
.hj-step strong,
.hj-row strong {
display: block;
margin-bottom: 6px;
color: #0f172a;
font-size: 15px;
}
.hj-card span,
.hj-step span,
.hj-row span {
color: #64748b;
font-size: 12.5px;
}
.hj-accent-blue {
border-color: #bfdbfe;
background: #eff6ff;
}
.hj-accent-cyan {
border-color: #a5f3fc;
background: #ecfeff;
}
.hj-accent-green {
border-color: #bbf7d0;
background: #f0fdf4;
}
.hj-accent-amber {
border-color: #fde68a;
background: #fffbeb;
}
.hj-accent-red {
border-color: #fecaca;
background: #fef2f2;
}
.hj-accent-violet {
border-color: #ddd6fe;
background: #f5f3ff;
}
.hj-arrow {
display: flex;
align-items: center;
justify-content: center;
color: #94a3b8;
font-weight: 800;
}
.hj-note {
margin-top: 16px;
padding: 12px 14px;
border-radius: 999px;
background: #f8fafc;
border: 1px solid #e2e8f0;
color: #475569;
text-align: center;
font-size: 13px;
font-weight: 650;
}
.hj-mini {
margin-top: 10px;
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.hj-pill {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 5px 10px;
border: 1px solid #e2e8f0;
border-radius: 999px;
background: #ffffff;
color: #475569;
font-size: 12px;
}
.hj-timeline {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
gap: 10px;
counter-reset: step;
}
.hj-timeline .hj-step {
position: relative;
}
.hj-timeline .hj-step::before {
counter-increment: step;
content: counter(step);
display: inline-grid;
place-items: center;
width: 26px;
height: 26px;
margin-bottom: 10px;
border-radius: 50%;
background: #2563eb;
color: #ffffff;
font-size: 13px;
font-weight: 750;
}
.hj-row {
display: grid;
grid-template-columns: 150px 1fr auto;
gap: 14px;
align-items: center;
}
.hj-row em {
color: #64748b;
font-size: 12px;
font-style: normal;
}
.hj-rail {
height: 10px;
margin: 6px 0 18px;
border-radius: 999px;
background: linear-gradient(90deg, #bfdbfe, #a7f3d0, #fde68a);
}
.hj-center {
display: grid;
place-items: center;
min-height: 138px;
border-radius: 18px;
background: #0f172a;
color: #ffffff;
text-align: center;
}
.hj-center strong {
display: block;
margin-bottom: 4px;
font-size: 20px;
}
@media (max-width: 720px) {
body {
padding: 22px 14px 52px;
}
.hj-diagram {
padding: 16px;
border-radius: 14px;
}
.hj-row {
grid-template-columns: 1fr;
}
.hj-arrow {
display: none;
}
}
</style>
</head>
<body>
<h1 id="绘境ai-总架构图说对外演示版">绘境AI ·
总架构图说(对外演示版)</h1>
<blockquote>
<p>绘境AI 是一个 AI
驱动的游戏创作与变现平台:让零基础的人用一句话做出一款能上线、能赚钱的轻量小游戏,让玩家像刷短视频一样发现并即点即玩,让平台从广告、订阅、B
端定制三条线拿到收入。</p>
<p>这份文档面向懂技术的外部人,用三条线讲清楚这套系统:<strong>整体技术架构</strong>(它怎么搭起来)、<strong>功能模块</strong>(它由哪些部分组成、怎么协作)、<strong>游戏生成</strong>(一句话到底怎么变成一款游戏)。全程只讲设计与能力,不堆代码。</p>
</blockquote>
<hr />
<h2
id="一件事没人做完把做得出接到赚到钱">一件事没人做完:把”做得出”接到”赚到钱”</h2>
<p>这两年”AI
做游戏”的工具冒出来很多,但绝大多数停在同一个地方——<strong>能生成,却止步于生成</strong>。一个创作者用它做出一款游戏,然后呢?没有人来玩,也没有地方赚钱,这款游戏就死在硬盘里。</p>
<p>绘境AI
的判断是:<strong>“做得出”只是入场券,真正难、也真正值钱的,是把”做得出 →
有人玩 → 赚到钱”接成一条完整的闭环。</strong>
生成、分发、变现这三件事,单独拿出来每一件都有人在做;把它们接成一条自我加强的回路,是这个平台真正要解决的问题。</p>
<div class="hj-diagram" role="img"
aria-label="全闭环:做得出、有人玩、赚到钱,加上数据回流">
<p class="hj-caption">
全闭环不是三段功能拼接,而是一条会回流的数据回路。
</p>
<div class="hj-flow">
<div class="hj-step hj-accent-blue">
<strong>做得出</strong><span>一句话生成一款可上线的轻量游戏</span>
</div>
<div class="hj-step hj-accent-cyan">
<strong>有人玩</strong><span>短视频式游戏流,即点即玩、即时反馈</span>
</div>
<div class="hj-step hj-accent-green">
<strong>赚到钱</strong><span>广告、订阅、B 端定制三条收入线</span>
</div>
</div>
<div class="hj-note">
玩家行为 + 收益数据回流到生成和推荐,让平台越用越聪明。
</div>
</div>
<p>这条回路一旦转起来,好游戏会因为真实玩家的反馈自动浮上来、差游戏沉下去,平台越用越懂什么好玩、什么能赚钱。它带来一个诚实的结论,也是理解后面所有技术选择的前提:<strong>生成能力本身不是护城河——通用大模型迟早会把它追平。真正的护城河是这条回路里沉淀下来的东西:真实流量喂出来的数据、搬不走的创作者生态、时间堆出来的资产与合规资质。</strong>
技术架构的每一处取舍,都是围绕”用最小的代价把这条回路跑通,再把资源集中投到回路里那几样别人抢不走的东西上”来做的。</p>
<h2
id="一条贯穿全局的技术总原则能买的绝不自造">一条贯穿全局的技术总原则:能买的绝不自造</h2>
<p>在看具体架构之前,先记住一条原则,它能解释后面几乎每一个技术选择:<strong>凡是成熟开源或商用组合能解决的,一律不自研;自研只投在两个地方——平台必须自己攥住的控制点,和数据流进来的入口。</strong></p>
<p>这不是能力不足的将就,而是窗口期内的资本效率选择。自研一个大模型、一套后台、一个游戏引擎,每一样都是六到十二个月、数百万起步的投入,而且做出来还会被开源生态追平。把这些耗时但不构成差异化的能力用现成件顶上,团队就能把有限的钱和人,全部压在竞品做不了、也搬不走的那几件事上。这条原则落到工程上是一条清晰的边界,后面第一部分会把这条边界画出来。</p>
<p><strong>这份演示接下来分三部分展开:</strong></p>
<ol type="1">
<li><strong>整体技术架构</strong> ——
系统分几层、由哪三个代码库构成、哪些自研哪些外包、安全边界划在哪。</li>
<li><strong>功能模块</strong> ——
十三个业务模块各管什么、怎么串成一条从创作到收益的完整链路。</li>
<li><strong>游戏生成</strong> ——
护城河的关键路径:一句话怎么被一台”生成机器”稳定地变成一款真游戏。</li>
</ol>
<p>最后用一小节收回到商业:这套技术到底为哪几层护城河服务。</p>
<hr />
<h1 id="第一部分-整体技术架构">第一部分 · 整体技术架构</h1>
<h2
id="系统分六层一个请求怎么穿过整套系统">系统分六层:一个请求怎么穿过整套系统</h2>
<p>一个用户从浏览器点开绘境AI,他的请求自上而下穿过六层。最上面是接入层,CDN
分发游戏包和静态资源、Nginx 做 SSL
终结和前端托管,都是标准件。往下是两个前端应用,创作者和玩家用的
game-studio、运营和管理员用的
game-admin。再往下,请求经过网关进入业务服务层——十三个游戏业务模块聚合成一个单体启动,但它们的边界是按微服务切好的,哪个模块将来需要独立扩容,改一处配置就能拆出去。托住这一切的,是最底下两块能力底座和一层中间件。</p>
<div class="hj-diagram" role="img" aria-label="六层技术分层总图">
<p class="hj-caption">
一个请求自上而下穿过六层,标准件托底,自研能力集中在业务控制点。
</p>
<div class="hj-layers">
<div class="hj-row">
<strong>接入层</strong><span>CDN 分发游戏包和静态资源,Nginx 负责 SSL
终结与前端托管。</span><em>复用现成</em>
</div>
<div class="hj-row hj-accent-blue">
<strong>前端应用</strong><span>game-studio 服务创作者和玩家,game-admin
服务运营和管理员。</span><em>Vue3</em>
</div>
<div class="hj-row">
<strong>网关层</strong><span>Spring Cloud Gateway
承担路由、鉴权、限流、灰度和跨域。</span><em>标准网关</em>
</div>
<div class="hj-row hj-accent-blue">
<strong>业务服务层</strong><span>13
个游戏业务模块单体启动,边界按微服务切好,后续可拆分扩容。</span><em>自研掌控</em>
</div>
<div class="hj-row hj-accent-violet">
<strong>能力底座</strong><span>Huijing 原生后台能力 + AgentScope
生成编排 + new-api 多模型网关。</span><em>复用 + 自研</em>
</div>
<div class="hj-row">
<strong>中间件层</strong><span>MySQL、Redis、MinIO/OSS
承载业务数据、缓存限流和对象存储。</span><em>基础设施</em>
</div>
</div>
<div class="hj-note">
Metrics / Traces / Logs / Errors 横向贯穿各层。
</div>
</div>
<p>这张分层图最该看清的,是那条贯穿始终的取向:<strong>能复用就不自研</strong>。左边这块
Huijing
原生底座,是一个成熟且社区活跃的开源后台框架,用户体系、权限、OAuth2
登录、文件存储、定时任务、工作流审批这些通用能力开箱即用,覆盖了平台六成以上的后台工作量;绘境AI
不重写它,只在它之上扩展游戏领域独有的东西。右边这块 AI
生成层才是自研的重心,它是护城河的关键路径,第三部分会专门拆开讲。这种”底座买现成、力气花在刀刃上”的切法,是这套系统能用很小的团队、很低的成本跑起来的根本原因。</p>
<p>分层之外还有一处让技术评审安心的设计:业务服务层的十三个模块虽然现在打包成一个单体一起启动,但它们的边界是按微服务的标准切干净的。起步用单体是为了省下分布式的运维复杂度,而一旦某个模块的压力上来,把它单独拆出去扩容不需要重构,改配置即可。<strong>先用单体简单地跑起来,再按需长成微服务</strong>——这条演进路径从第一天就铺好了。</p>
<h2 id="三个代码库一套系统各管一摊">三个代码库:一套系统,各管一摊</h2>
<p>整套系统的代码分在三个库里,各自面向不同的人、用最适合的技术栈:</p>
<table>
<colgroup>
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
</colgroup>
<thead>
<tr>
<th>代码库</th>
<th>它是什么</th>
<th>面向谁</th>
<th>技术栈</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>game-cloud</strong></td>
<td>统一后端,所有前端的请求最终都落到它</td>
<td>全部前端</td>
<td>Java 17 + Spring Cloud 生态 + MySQL</td>
</tr>
<tr>
<td><strong>game-studio</strong></td>
<td>产品前端,创作与消费都在这里</td>
<td>创作者 + 玩家</td>
<td>Vue3 + Vant(移动优先,适配手机屏)</td>
</tr>
<tr>
<td><strong>game-admin</strong></td>
<td>管理后台,审核推荐与数据看板</td>
<td>运营 + 管理员</td>
<td>Vue3 + Element Plus</td>
</tr>
</tbody>
</table>
<p>后端选择 fork
一个成熟框架来做二次开发,并守住一条纪律:<strong>不改框架本身,只通过它预留的扩展点接入</strong>。这样将来框架升级,平台能跟着一起升,不会因为当初改花了底座而永远卡死在某个老版本上——这是”复用现成件”这条路能长期走下去的前提,也是技术尽调时最该确认的一点。</p>
<h2
id="自研还是外包一条画得很清楚的边界">自研还是外包:一条画得很清楚的边界</h2>
<p>“能复用就不自研”这条原则,落到具体的技术边界上,是一条清清楚楚的线。哪些东西绘境AI
必须自己写、绝不外包,哪些直接用现成的、连自研的念头都不起——这张图把这条线画了出来。</p>
<div class="hj-diagram" role="img"
aria-label="自研 vs 不自研的技术边界">
<p class="hj-caption">
自研只投在控制点与数据入口,其余用成熟现成件顶上。
</p>
<div class="hj-columns">
<div class="hj-card hj-accent-violet">
<strong>自研 · 护城河</strong>
<span>运行时宿主层、信息流推荐、遥测数据底座、变现链路、九门验收、生成断点续跑。</span>
<div class="hj-mini">
<span class="hj-pill">控制点</span><span
class="hj-pill">数据入口</span><span class="hj-pill">质量地板</span>
</div>
</div>
<div class="hj-card">
<strong>不自研 · 用现成</strong> <span>通用大模型、new-api 网关、Huijing
后台、素材生成、内容安全、LittleJS / Phaser / Cocos、AgentScope / MCP /
OTel。</span>
<div class="hj-mini">
<span class="hj-pill">可替换</span><span
class="hj-pill">无锁定</span><span class="hj-pill">省时间</span>
</div>
</div>
</div>
<div class="hj-note">
能买的绝不自造,自研只砸在别人抢不走的位置。
</div>
</div>
<p>自研的这一侧,全是两类东西:<strong>平台必须攥在自己手里的控制点,和数据流进来的入口</strong>。变现链路、信息流推荐、遥测底座,决定了钱怎么分、流量给谁、数据往哪流,这些一旦交出去就等于把命脉让人;运行时宿主层和确定性验收门,决定了平台怎么控制游戏运行、怎么验收生成质量;生成断点续跑,是一次自治生成能不能被平台接管的核心语义。这几样别人短期补不上,也正是护城河真正的所在。</p>
<p>不自研的这一侧,是另一类东西:<strong>耗时、但不构成差异化的通用能力</strong>。大模型、多模型网关、后台框架、素材生成、内容安全、游戏引擎——每一样都有成熟的开源或商用方案,自己造一遍要烧掉六到十二个月和数百万,做出来还未必比现成的好。对技术尽调更要紧的一点是:这一侧的每一样都可替换,没有单点供应商锁定。大模型可以换一家,网关背后接的模型能随时切,引擎在契约约束下可换实现——绘境AI
没有把身家押在任何一个外部供应商身上。</p>
<p>最右下那一项 agent
编排框架值得单独说一句,它是这套系统里最”新”的部分。绘境AI
没有自己发明一套 agent 框架,而是采用 2025
年业界已经收敛的一批开放标准来搭它:任务与状态用 A2A、工具调用用
MCP、全链路追踪用 OpenTelemetry。这意味着连底层的 agent
框架本身都是可替换的——今天主力用
AgentScope,明天想接别的框架,只要它会说这几种标准协议就能插进来。<strong>采标准而不是闭门造车,既省了自研的力气,也避免把自己锁死在一套私有框架里。</strong>
对于一个刻意”不自研”的团队,这恰恰是最经得起技术尽调追问的地方:它证明这里的每一处”不自研”,都想清楚了退路。</p>
<h2
id="系统边界的第二重身份它也是一道安全边界">系统边界的第二重身份:它也是一道安全边界</h2>
<p>绘境AI 把边界切在哪里,不只决定了自研什么,也决定了防线设在哪里。一款
AI 生成出来的游戏,本质上是一段不完全可信的代码——它可能带
bug,也可能被人塞进恶意内容。所以平台从不假设游戏是安全的,而是用一层层隔离把它关起来。</p>
<div class="hj-diagram" role="img"
aria-label="从可信到不可信的安全隔离梯度">
<p class="hj-caption">
系统边界也是安全边界:越靠近生成游戏,信任级别越低,约束越硬。
</p>
<div class="hj-flow">
<div class="hj-card hj-accent-green">
<strong>平台可信区</strong><span>后端与受控网关。模型
key、权限强制、唯一出网口都留在这里。</span>
</div>
<div class="hj-card hj-accent-amber">
<strong>宿主 · game-studio</strong><span>半可信。代理后端
API,在沙箱外处理广告、支付和 SDK 注入。</span>
</div>
<div class="hj-card hj-accent-red">
<strong>游戏沙箱 · iframe</strong><span>不可信代码。sandbox、CSP
禁网、postMessage 通信、体积门限制。</span>
</div>
</div>
<div class="hj-note">
广告 / 支付失败只降级,不打断游戏主循环。
</div>
</div>
<p>从右往左读这张图,是一条从”完全不可信”到”完全可信”的梯度。最右边,每一款游戏都跑在一个隔离的
iframe 沙箱里,平台用一条 CSP
规则直接掐断它的网络——游戏碰不到任何外部地址,一个字节都发不出去。玩家要看的广告、要走的支付,全部在沙箱外面由宿主渲染,<strong>游戏本身既碰不到网络、也碰不到钱</strong>。游戏与平台之间只有一条受控的消息通道,来源和格式都要双重校验才放行。</p>
<p>再往左,所有对外的模型调用都收在一个受控网关后面,上游模型密钥只存在于这道网关里,永远不下发到前端。而权限——谁能创作、谁能发布、谁能提现——只在后端这道可信边界上强制;前端的任何拦截都只是体验优化,从不作数。<strong>“前端藏了按钮就安全”这种想法,在这套架构里从设计上就被否掉了。</strong></p>
<p>这道防线的最外圈,是一条降级铁律:游戏的主循环永远不能被打断。广告加载失败就跳过并给玩家兜底,支付出问题就静默降级,这些非核心能力无论怎么坏,都不许把游戏卡死。把变现和合规的控制点牢牢焊在沙箱外的平台侧,既保证了平台能掌控每一笔收入,也保证了一款出问题的游戏波及不到别人——这正是”系统边界即安全边界”的实际含义。</p>
<hr />
<h1 id="第二部分-功能模块">第二部分 · 功能模块</h1>
<p>第一部分讲的是骨架,这一部分讲器官。绘境AI
的后端由十三个业务模块组成,每一个只负责一件事,合起来撑起从创作到收益的完整链路。它们按四个功能域聚在一起,主次分明。</p>
<div class="hj-diagram" role="img"
aria-label="13 个业务模块全景与协作关系">
<p class="hj-caption">
13 个模块按四个功能域组织,project 是全生命周期核心。
</p>
<div class="hj-center">
<div>
<strong>project ·
项目核心</strong><span>游戏创建、版本、发布、审核、上线状态机</span>
</div>
</div>
<div class="hj-grid" style="margin-top:14px;">
<div class="hj-card hj-accent-blue">
<strong>创作 · 生成</strong><span>studio / aigc /
runtime:一句话创作、生成校验、编译打包与沙箱运行。</span>
</div>
<div class="hj-card hj-accent-cyan">
<strong>分发 · 互动</strong><span>feed / telemetry /
community:游戏流、推荐、遥测质量分、社区互动。</span>
</div>
<div class="hj-card hj-accent-green">
<strong>变现</strong><span>ad / pay / ip /
trade:广告、会员内购、素材版权、结算钱包。</span>
</div>
<div class="hj-card hj-accent-amber">
<strong>合规 · B 端</strong><span>compliance /
biz:内容安全、审核风控、教育文旅与定制交付。</span>
</div>
</div>
<div class="hj-note">
feed 与 telemetry 互相反哺,trade 汇聚钱流,compliance 横切所有内容露出。
</div>
</div>
<p>这十三个模块不是平铺的十三块,它们有清晰的主次。<strong>project
是绝对的核心</strong>——一款游戏从创建、生成、出多个版本、提交发布到过审上线,整条生命周期都由它的状态机管着,几乎所有其他模块都要依赖它。</p>
<p>另外三条协作关系,基本决定了整个系统的性格。<strong>feed 和 telemetry
互为反哺</strong>:feed 把游戏推给玩家,telemetry
收集玩家的真实行为、算出每款游戏的质量分,质量分又回喂给 feed
决定下一次推什么——这一对咬合就是”越用越聪明”的引擎,第三部分会把它单独放大。<strong>trade
是变现的汇聚点</strong>:广告、支付、IP
素材交易三路收入最终都汇到它,再结算进创作者的钱包。<strong>compliance
横切在所有内容模块之上</strong>:生成、IP、发布、B
端交付,任何内容要露出给用户之前,都得先过它这道合规关。</p>
<p>这种划分让每个模块高内聚、模块之间低耦合,而且它们只通过明确的契约互相调用。这不只是整洁,更是工程上的一个务实选择:边界切干净了,十三个模块就能被不同的人并行开发,不会互相踩脚——这也是”契约先行”这套做法在这个团队里真正落了地的证据。</p>
<h2
id="一条完整的链路从一句话到收益回流">一条完整的链路:从一句话到收益回流</h2>
<p>把十三个模块串成一条线,就是绘境AI 完整跑一圈的样子。</p>
<div class="hj-diagram" role="img"
aria-label="端到端全链闭环:主链 + 数据回流 + 并联钱流">
<p class="hj-caption">
从一句话到收益回流,主链、数据回流和钱流同时成立,闭环才成立。
</p>
<div class="hj-timeline">
<div class="hj-step hj-accent-blue">
<strong>创作者</strong><span>输入一句话和少量选项</span>
</div>
<div class="hj-step hj-accent-blue">
<strong>aigc 生成</strong><span>AgentScope + 九门验收</span>
</div>
<div class="hj-step hj-accent-red">
<strong>合规门</strong><span>pass 才能入流</span>
</div>
<div class="hj-step hj-accent-cyan">
<strong>feed 游戏流</strong><span>竖屏刷,即点即玩</span>
</div>
<div class="hj-step hj-accent-cyan">
<strong>玩家</strong><span>试玩、互动、分享</span>
</div>
</div>
<div class="hj-grid" style="margin-top:14px;">
<div class="hj-card hj-accent-green">
<strong>数据回流</strong><span>玩家行为进入 telemetry,形成 0-100
质量分,再回喂 feed 重排。</span>
</div>
<div class="hj-card hj-accent-amber">
<strong>并联钱流</strong><span>广告曝光、计费落账、trade
分账,最后进入创作者钱包。</span>
</div>
</div>
<div class="hj-note">
核对这条链路,就看相邻两步的交接是否真实存在。
</div>
</div>
<p>主链是这样跑的:创作者敲下一句话(①),经 studio 提交给 aigc
生成(②),产物过完九门验收、打包成可玩的游戏,先落成 project
里的一份草稿;创作者点发布,触发 compliance
的合规裁决(③)——这里有一条硬红线,<strong>只有裁决 pass
的游戏才允许进入游戏流</strong>,造得再好、过不了这道门也上不了线。过审的游戏进入
feed(④),玩家在竖屏游戏流里刷到、即点即玩、点赞分享(⑤)。</p>
<p>到这里,线性的价值链拐了个弯,变成一个环。玩家的每一个行为都被埋点上报进
telemetry 聚合(⑥),算出一个 0 到 100 的质量分(⑦),这个分再回喂给 feed
重新排序(⑧),把更好玩的游戏推回到玩家眼前。这条绿色的回流,就是把一条直线弯成飞轮的地方,也是数据护城河的产品载体——第三部分会把它单独放大。</p>
<p>和主链并联的,还有一条钱流:玩家每次试玩都可能触发一次游戏内广告曝光(Ⓐ),经
ad 模块计费落账(Ⓑ),由 trade
按来源对账分账(Ⓒ),最后结进创作者的钱包(Ⓓ)。创作者当天做的游戏,当天有人玩,当天就能看到收益。</p>
<p>判断这样一套系统”有没有缝”,就是看相邻两步的交接对不对得上:出包能不能落成草稿、草稿能不能提审、裁决能不能挡住入流、互动能不能回流成排序。这些交接点全在一条线上,顺着编号走一遍就能核对——这也是这张图对做技术评审的人最大的用处。</p>
<h2 id="六种角色两个入口">六种角色,两个入口</h2>
<p>这套系统服务的”用户”最终收敛成六种角色,分布在两个前端上。最容易混的是”经营”和”运营”:<strong>经营是创作者看自己作品的数据</strong>(留存、完玩、广告转化),<strong>运营是平台管理员</strong>(审核、精选、封禁),两者分属不同的端。</p>
<table>
<colgroup>
<col style="width: 33%" />
<col style="width: 33%" />
<col style="width: 33%" />
</colgroup>
<thead>
<tr>
<th>端</th>
<th>角色</th>
<th>做什么</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>C 端 · game-studio</strong></td>
<td>创作者</td>
<td>一句话生成、预览迭代、发布、看自己的收益(经营)</td>
</tr>
<tr>
<td></td>
<td>玩家</td>
<td>刷游戏流即点即玩、点赞分享、发起”做同款”</td>
</tr>
<tr>
<td></td>
<td>B 端客户(询单侧)</td>
<td>提需求、看 demo、验收</td>
</tr>
<tr>
<td><strong>B 端 · game-admin</strong></td>
<td>运营(平台管理员)</td>
<td>内容审核、精选推荐、封禁处置、经营看板</td>
</tr>
<tr>
<td></td>
<td>管理员</td>
<td>用户与权限管理、合规处置、数据看板</td>
</tr>
<tr>
<td></td>
<td>商务 / BD</td>
<td>B 端定制单据流转、报价、进度、交付</td>
</tr>
</tbody>
</table>
<p>这里藏着两条把平台”转起来”的转化回路:一条是玩家在游戏流里看到一款游戏,直接点”做同款”跳进工作坊,<strong>从玩游戏的人变成做游戏的人</strong>——这是网络效应护城河的产品载体;另一条是
B 端客户的询单,经商务流转成一张定制单据,接上最早回款的那条现金线。</p>
<hr />
<h1 id="第三部分-游戏生成">第三部分 · 游戏生成</h1>
<p>这是护城河的关键路径,也是整套系统里技术含量最高的一块。竞品大多能”生成”,真正难的,是让一个普通模型<strong>稳定地、可维护地、可长期演进地</strong>把一句话变成一款真游戏。绘境AI
解决这个问题的方式可以一句话概括:<strong>它不是一个让强模型自由发挥的编码助手,而是一台被刻意设计成可靠的生成机器。</strong></p>
<p>这台机器立在三个支点上:</p>
<ul>
<li><strong>用便宜的通用模型驱动,而不是训一个昂贵的专用大模型。</strong>
质量缺口不靠把模型做重来补,而靠模板约束和验收门来补。这是成本策略,也是”生成迟早会被追平、护城河不在生成本身”这个判断落到工程上的样子。</li>
<li><strong>用固定的流程图约束控制流,而不是让模型自己决定下一步干什么。</strong>
每一步走到哪、下一步做什么,是预先定好的,不是模型临场发挥的。</li>
<li><strong>用一套硬验收门当地板。</strong>
一款游戏能不能装载、跑不跑帧、响不响应操作、到不到游戏终态,全部由机器确定性地判定。这一层是整套架构最大的工程价值,也是绝不妥协的底座。</li>
</ul>
<h2 id="一句话怎么变成一款游戏">一句话怎么变成一款游戏</h2>
<p>一句话变成游戏,走的是一条固定相位的流水线:先读懂题面,再造出东西,最后反复验收直到合格或放弃。</p>
<div class="hj-diagram" role="img"
aria-label="一句话到游戏的固定相位流水线,带验收回环">
<p class="hj-caption">
生成不是一次性调用模型,而是一条固定相位的流水线。
</p>
<div class="hj-timeline">
<div class="hj-step hj-accent-blue">
<strong>题面</strong><span>一句话 + 选项</span>
</div>
<div class="hj-step hj-accent-blue">
<strong>设计 GDD</strong><span>结构化成待办清单</span>
</div>
<div class="hj-step hj-accent-blue">
<strong>生成</strong><span>便宜模型写真 src/</span>
</div>
<div class="hj-step hj-accent-blue">
<strong>构建</strong><span>确定性打包成产物</span>
</div>
<div class="hj-step hj-accent-amber">
<strong>验收 · 九门</strong><span>机器真玩,判能不能玩</span>
</div>
<div class="hj-step hj-accent-green">
<strong>发布</strong><span>落库,进入上线链</span>
</div>
</div>
<div class="hj-note">
不过门就修复或升档重跑;修不好就显式失败,不交付坏游戏。
</div>
</div>
<p>读这条流水线,抓住两个特征就够了。</p>
<p><strong>它是一条带回环的线,不是一条直线。</strong>
验收这一关最关键:游戏造出来先被机器真玩一遍,过不了就打回去——能确定性修的就修,修不动就换一个更强的模型再试(这是显式的”加钱保质量”),然后重新走生成、构建、验收。这个回环是质量的来源。这里也藏着一条容易被忽略却很要紧的纪律:出题的和被考的绝不能是同一只模型,后面讲验收时会回到这一点。</p>
<p><strong>它有一条绝不含糊的铁律:宁可显式失败,也绝不交付一款坏游戏。</strong>
一款游戏如果反复修、升档都过不了门,系统会显式地放弃它、留下证据,而不是硬着头皮交付一个玩不了的东西糊弄用户。对一个要靠”即点即玩”留住玩家的平台,这条底线比多产几款游戏重要得多。</p>
<h2
id="一套框架三档深度从照模板填到自治创作">一套框架,三档深度:从”照模板填”到”自治创作”</h2>
<p>同样是”一句话生成”,不同的人想要的东西天差地别:有人要一个五秒钟上手的打砖块,有人要一个能经营、能挂机、有养成系统的复杂游戏。绘境AI
用一套框架覆盖这整个跨度,靠的是按 <strong>AI
参与深度</strong>分三档。</p>
<div class="hj-diagram" role="img"
aria-label="三档按 AI 参与深度,统一 AgentScope 框架">
<p class="hj-caption">
三档只按 AI 参与深度划分,引擎只是实现选择。
</p>
<div class="hj-rail">
</div>
<div class="hj-columns">
<div class="hj-card hj-accent-violet">
<strong>Tier 0 · 照模板填</strong><span>AI
填参、配文案、选资产。适合打砖块、合成、答题等轻游戏。</span>
<div class="hj-mini">
<span class="hj-pill">LittleJS</span><span class="hj-pill">&lt; ¥10 /
次</span>
</div>
</div>
<div class="hj-card hj-accent-violet">
<strong>Tier 1 · 受控改码</strong><span>AI
加关卡、改表现、生成资产。适合轻中度成长游戏。</span>
<div class="hj-mini">
<span class="hj-pill">LittleJS</span><span class="hj-pill">&lt; ¥10 /
次</span>
</div>
</div>
<div class="hj-card hj-accent-amber">
<strong>Tier 2 · 自治创作</strong><span>AI
造多系统富交互。适合合成、经营、挂机等复杂游戏。</span>
<div class="hj-mini">
<span class="hj-pill">Phaser</span><span class="hj-pill">&lt; ¥50 /
次</span>
</div>
</div>
</div>
<div class="hj-note">
产物统一是 src/ 多文件源工程,都过同一套九门验收。
</div>
</div>
<p>这张图有两个容易被误解的地方,值得说清。</p>
<p><strong>分档的唯一标准是 AI 参与深度,不是引擎。</strong>
三档全都高度模板化——平台预先备好玩法模板和工程骨架,AI
不从零写,只是在模板上按档位深浅填数值、改逻辑、写表现层。Tier0 让 AI
干得最少(照模板填),Tier2 让 AI
自治地造多系统富游戏。引擎只是按表现复杂度选的实现:轻中档用
LittleJS,最富档用 Phaser。换引擎不改变”这是第几档”,产物也始终是同一种
src/ 源工程、过同一套验收。</p>
<p><strong>每一档都带一条硬性的成本闸。</strong> 便宜档每次生成不超过
¥10,复杂档不超过
¥50(图片和音乐另算)。这不是预估,是焊死的上限,超了就停。一个要规模化生成的平台,如果不把单次成本钉死,很容易在”让
AI 多试几次”里悄悄烧掉利润。这条闸和”便宜模型 +
门兜底”的路线一脉相承:用最省的方式把游戏造出来,把省下的算力留给验收和迭代。</p>
<h2
id="一款游戏不是一坨文件是一个能长期养的项目">一款游戏不是一坨文件,是一个能长期养的项目</h2>
<p>这台生成机器背后,还有一条比任何技术细节都更根本的判断,它决定了”生成质量”到底该怎么定义。</p>
<p>绝大多数生成工具把”生成”理解成:产出一坨能玩的打包文件,存下来。这条路有个致命的死结——用户想改,怎么办?去
diff 那坨打包好的文件,几乎不可行。绘境AI
从根上换了个模型:<strong>一款游戏不是一次性的产物,而是一个长生命周期的软件项目;LLM
扮演的是这个项目的”工作室”。</strong></p>
<div class="hj-diagram" role="img"
aria-label="游戏是长生命周期源项目,LLM 是工作室">
<p class="hj-caption">
平台维护的是源项目,不是一坨一次性的打包文件。
</p>
<div class="hj-flow">
<div class="hj-card hj-accent-violet">
<strong>LLM = 工作室</strong><span>创建并长期维护一个游戏源项目。</span>
</div>
<div class="hj-card hj-accent-cyan">
<strong>一款游戏 = 一个源项目</strong><span>game.json / design.md /
config/ / src/ / assets/ / build.json。</span>
</div>
<div class="hj-card hj-accent-green">
<strong>生命周期操作</strong><span>create、modify、extend、build、maintain
都落在源项目上。</span>
</div>
</div>
<div class="hj-note">
在源项目上演进、再重新构建,才能解决 AI 游戏后续改不动的问题。
</div>
</div>
<p>这个转变带来的好处,恰恰是最能打动人的地方。因为游戏是一个结构化、模块化、数据驱动的源项目,创作者想改的时候,大多数修改根本不需要惊动
AI:换个皮肤、调个难度、加一关,都是确定性地编辑某个文件,秒级完成、零成本;只有要改玩法逻辑,才让工作室回来重新生成那一个模块。而”据玩家反馈回来持续演进”这一步,又把数据闭环接回了护城河——一款游戏可以像一个真实的软件项目那样被长期养着,而不是生成完就扔。</p>
<p>所以在绘境AI
这里,生成质量的真标尺不是”这次能不能玩”,而是”工作室将来能不能维护它”。这条判断直接决定了产物必须是一个真实的、可导航的源码工程,而不是一段没法维护的硬编码——它也是创作者能用一句”把难度调低一点、把主角换成猫”就改动一款游戏的技术根基。</p>
<h2
id="质量从哪来上一个可插拔的平台">质量从哪来(上):一个可插拔的平台</h2>
<p>这套生成能力还有一个对技术尽调很关键的设计:它是一个可插拔的平台,而不是绑死在某一个
agent 框架上。</p>
<p>绘境AI 的做法,是划一条清楚的线,把”谁来生成”(agent
框架)和”生成什么、怎么验收、怎么落库”(平台契约)彻底分开。平台只认一层
adapter,这层 adapter
由三个采自业界主流标准的端点、加两块必须自研的东西组成。</p>
<div class="hj-diagram" role="img"
aria-label="可插拔的 agent 平台:adapter = 采标准 + 两块自研">
<p class="hj-caption">
平台只认 adapter 契约,生成框架可以换,平台约束不能动。
</p>
<div class="hj-grid">
<div class="hj-card hj-accent-blue">
<strong>A2A</strong><span>任务、状态、流式输出、发现。</span>
</div>
<div class="hj-card hj-accent-blue">
<strong>MCP</strong><span>工具调用和能力暴露。</span>
</div>
<div class="hj-card hj-accent-blue">
<strong>OpenTelemetry</strong><span>全链路 trace 与可观测。</span>
</div>
<div class="hj-card hj-accent-violet">
<strong>九门验收</strong><span>平台自研的确定性质量地板。</span>
</div>
<div class="hj-card hj-accent-violet">
<strong>生成断点续跑</strong><span>生成域专属语义,无跨框架标准可直接复用。</span>
</div>
</div>
<div class="hj-note">
AgentScope 当前为主,SAA / dify / coze 只保留远期适配验证位置。
</div>
</div>
<p>任务和状态用 A2A、工具调用用 MCP、全链路追踪用
OpenTelemetry,这三样直接采标准;而确定性验收门和生成断点续跑这两块,业界没有现成对等物,是平台自建的护城河。这条线的意义是:<strong>任何
agent 框架,只要会说这三种标准协议,就能插进这个平台。</strong> 今天主力用
AgentScope,将来要换或要并存别的框架,只是给它接一个新
adapter,不用动上层十三个模块的调用、也不用重写验收和落库。既避免把自己锁死在一套私有框架里,又把真正值钱的两块——怎么判游戏真能玩、怎么让一次生成断了能续上——牢牢攥在自己手里。</p>
<h2
id="质量从哪来下三层兜底谁也替不了谁">质量从哪来(下):三层兜底,谁也替不了谁</h2>
<p>回到最核心的问题:一款 AI
生成的游戏,凭什么敢说它质量过关?答案是三层兜底,各司其职。</p>
<div class="hj-diagram" role="img"
aria-label="质量三层兜底金字塔:九门、视觉模型、人锚">
<p class="hj-caption">
质量不是 LLM 自评,而是三层互补的兜底。
</p>
<div class="hj-stack">
<div class="hj-row hj-accent-violet">
<strong>③
人锚抽检</strong><span>交互手感、节奏和主观体验由人做最终纠偏。</span><em>现阶段不可替代</em>
</div>
<div class="hj-row hj-accent-amber">
<strong>② 便宜
player</strong><span>视觉模型看截图,判断机器规则覆盖不到的主观质量。</span><em>软判断</em>
</div>
<div class="hj-row hj-accent-green">
<strong>① 确定性门 ·
九门</strong><span>真浏览器真玩,判启动、帧、渲染、输入响应、机制进展和终态。</span><em>硬地板</em>
</div>
</div>
<div class="hj-note">
出题的和被考的不能是同一只模型。
</div>
</div>
<p>最底下是确定性门,也就是九门。它把一款游戏放进真实的浏览器环境里真玩一遍,用九道纯代码的检查判定:能不能启动、有没有报错、跑不跑帧、画面有没有真渲染、响不响应操作、机制有没有进展、到不到终态。这一层全是机器的确定性判断,不掺任何模型的主观意见,是挡住坏游戏的硬地板。</p>
<p>往上一层,是便宜的视觉模型看截图,判那些机器判不了的主观问题:好不好看、节奏对不对、是不是用户想要的那个游戏。这一层是软的、会有误差,所以它只做参考,不做放行的最终裁决。</p>
<p>最上面一层是人的抽检。视觉模型有它判不准的死角——比如碰撞手感这类交互问题——现阶段还需要人来做最终纠偏。这一层暂时去不掉,平台也没有假装它已经全自动。</p>
<p>这三层背后,有一条不让步的纪律:<strong>出题的和被考的绝不能是同一只模型。</strong>
让生成游戏的那只模型自己给自己打分,验收就等于没验。所以判”能不能玩”的九门是纯代码、不用模型,判”好不好玩”的视觉模型也独立于生成方。质量是被设计进这套流程里的,不是靠
LLM
自我表扬得来的——这是整条生成线最该记住的一句话,也是”这台机器为什么可靠”的真正答案。</p>
<h2 id="越用越聪明数据飞轮">越用越聪明:数据飞轮</h2>
<p>前两部分都提到过一条回路,这里把它单独放大,因为它是理解绘境AI
为什么”越用越聪明”的关键,也是护城河真正开始成形的地方。</p>
<div class="hj-diagram" role="img"
aria-label="数据飞轮:玩、埋点、聚合、质量分、推荐、重排的闭环">
<p class="hj-caption">
数据飞轮把玩家行为转成推荐和生成的长期优势。
</p>
<div class="hj-timeline">
<div class="hj-step hj-accent-cyan">
<strong>玩 + 互动</strong><span>玩家在游戏流产生行为</span>
</div>
<div class="hj-step hj-accent-cyan">
<strong>埋点上报</strong><span>游戏内 SDK 采集事件</span>
</div>
<div class="hj-step hj-accent-cyan">
<strong>聚合</strong><span>telemetry 幂等入库</span>
</div>
<div class="hj-step hj-accent-green">
<strong>质量分</strong><span>形成 0-100 分</span>
</div>
<div class="hj-step hj-accent-cyan">
<strong>进推荐</strong><span>进入 Redis 候选集</span>
</div>
<div class="hj-step hj-accent-cyan">
<strong>重排下发</strong><span>feed 更新排序</span>
</div>
</div>
<div class="hj-note">
error_rate 是唯一硬降权:能不能玩永远排在好不好玩前面。
</div>
</div>
<p>这条回路转一圈是这样的:玩家在游戏流里玩、互动,游戏内的埋点把这些行为上报,telemetry
逐条幂等地聚合入库,算出每款游戏 0 到 100
的质量分,这个分进入推荐、把游戏流重新排序,更好玩的浮上来、玩不动的沉下去,再推回到玩家眼前。转一圈,平台就更懂一点什么好玩。</p>
<p>这里有一个刻意的设计:唯一的”硬”降权是
error_rate,也就是技术上跑不动的游戏直接沉底。在”好不好玩”之前,先卡住”能不能玩”——这是即点即玩的可玩性底线,也和前面那套九门验收一脉相承:能玩,永远是第一位的。</p>
<p>而这条回路,正是护城河的第一层。它靠的是真实流量一点点喂出来的数据,这种数据买不到、也没法凭空造;飞轮一旦转起来,好游戏自动浮现、创作者和玩家互相吸引,追赶者面对的就是一个指数级增长的差距。</p>
<hr />
<h1 id="收尾-这套技术到底为哪几层护城河服务">收尾 ·
这套技术,到底为哪几层护城河服务</h1>
<p>讲完三大技术部分,把话收回到最开始那句判断:<strong>生成能力本身不是护城河,它是入场券。</strong>
绘境AI
把技术刻意做成”够用、可替换、低成本”,正是为了把省下来的资源,全部投到几样真正搬不走的东西上。</p>
<div class="hj-diagram" role="img" aria-label="四层护城河,及其诚实边界">
<p class="hj-caption">
生成能力是入场券,真正要沉淀的是四层更难搬走的墙。
</p>
<div class="hj-stack">
<div class="hj-row hj-accent-blue">
<strong>①
数据壁垒</strong><span>玩家行为、质量评分、推荐信号由真实流量喂出。</span><em>买不到</em>
</div>
<div class="hj-row hj-accent-cyan">
<strong>②
网络效应</strong><span>创作者和玩家互相拉动,内容越多,分发越强。</span><em>追赶慢</em>
</div>
<div class="hj-row hj-accent-violet">
<strong>③ 资产壁垒</strong><span>模板库、素材市场、IP
合约随时间沉淀。</span><em>搬不走</em>
</div>
<div class="hj-row hj-accent-amber">
<strong>④
合规壁垒</strong><span>ICP、文网文、广告资质和渠道关系。</span><em>6-12
月门槛</em>
</div>
</div>
<div class="hj-note">
现在真正已经接通的优势,是做得出 → 有人玩 → 赚到钱这条闭环。
</div>
</div>
<p>这四层护城河,对应着技术架构里的不同部分。数据壁垒长在那条数据飞轮上;网络效应靠玩家”做同款”、创作者资产沉淀这些产品设计来点燃;资产壁垒是模板库、素材市场、IP
合约随时间的积累;合规壁垒则是一张张要花 6 到 12
个月才能办齐的牌照和渠道关系。</p>
<p>必须诚实地说:这四层墙,现在大多还没砌完。它们是要在窗口期里用融资点燃、用时间长成的东西,不是已经握在手里的。绘境AI
现在真正有的,是一样别人还没有的东西——那条”做得出 → 有人玩 →
赚到钱”的全栈闭环,已经在这套架构上设计成型、跑得通。它给的是一个别人没有的起跑,而不是一道已经砌好的墙。</p>
<p>所以,如果要用一句话收束这套技术的定位:<strong>这不是一套堆满护城河的架构,而是一个懂工程的团队,用最少的钱、最快的速度,把一条别人没接通的闭环扎扎实实跑通了的架构。</strong>
对看技术的人来说,这恰恰是最该考察的东西——不是它宣称了多少壁垒,而是它用什么样的判断力和克制,把每一分资源都花在了刀刃上。</p>
</body>
</html>