如何使用 AI Agent 做一個前端小游戲(從提示詞到可運行Demo)

最近 AI 編程很火,但只說“AI Agent 很強”其實沒什么意思。
這篇文章我們換個玩法:直接用 AI Agent 的思路,做一個能運行的前端小游戲。
不講太重的模型原理,重點就三個字:能跑通。
文章亮點
- 有完整 HTML/CSS/JS 代碼,復(fù)制即可運行
- 有提示詞模板,適合直接改成自己的 Demo
- 有 AI Agent 工作流,幫你理解它和普通 ChatGPT 的區(qū)別
- 適合前端初學(xué)者、CSDN 技術(shù)號重新發(fā)文、小游戲教程選題
先看最終效果
我們要做的是一個 30 秒反應(yīng)力挑戰(zhàn)小游戲:

玩法很簡單:
- 頁面里隨機出現(xiàn)一個黃色圓點
- 點中一次加 1 分
- 每局 30 秒
- 時間結(jié)束顯示最終分數(shù)
- 可以重新開始
這個 Demo 不復(fù)雜,但剛好覆蓋了前端小游戲最常見的幾個點:DOM 操作、狀態(tài)管理、倒計時、隨機位置、移動端適配。
一、為什么前端開發(fā)者要關(guān)注 AI Agent
以前我們用 ChatGPT 寫代碼,常見方式是:
幫我寫一個按鈕組件。 幫我解釋這段 JS。 幫我優(yōu)化一下 CSS。
這類用法當(dāng)然有幫助,但它更像“問一句,答一句”。
AI Agent 更像一個能持續(xù)推進任務(wù)的開發(fā)助手。你給它一個目標(biāo),它會嘗試拆步驟、寫代碼、檢查問題、繼續(xù)迭代。

簡單說:
| 對比項 | 普通 ChatGPT | AI Agent |
|---|---|---|
| 工作方式 | 一問一答 | 圍繞目標(biāo)連續(xù)推進 |
| 適合任務(wù) | 解釋代碼、生成片段 | 做 Demo、修 bug、整理項目 |
| 輸出結(jié)果 | 偏答案 | 偏可交付成果 |
| 前端場景 | 寫一個函數(shù) | 做一個能玩的小游戲 |
如果再結(jié)合 MCP 這類協(xié)議,AI 工具還能接入更多上下文,比如項目文件、文檔、瀏覽器、數(shù)據(jù)庫等。對前端來說,這意味著以后很多“從想法到 Demo”的過程會明顯變快。
二、給 AI Agent 的提示詞怎么寫
很多人覺得 AI 寫代碼不好用,問題往往不是 AI 不行,而是需求太模糊。
不推薦這樣寫:
幫我寫一個小游戲。
更推薦這樣寫:
請用 HTML、CSS、JavaScript 寫一個單文件前端小游戲。 游戲名:反應(yīng)力挑戰(zhàn) 功能要求: 1. 頁面中隨機出現(xiàn)一個黃色圓點 2. 玩家點擊圓點得分 3. 游戲總時長 30 秒 4. 頁面顯示當(dāng)前分數(shù)和剩余時間 5. 時間結(jié)束后顯示最終分數(shù) 6. 支持重新開始 7. 適配手機端 8. 所有代碼寫在一個 index.html 中,方便直接復(fù)制運行
這個提示詞的關(guān)鍵是:技術(shù)棧、交付形式、規(guī)則、狀態(tài)、體驗要求都說清楚了。
AI Agent 最怕“你也不知道自己要什么”。需求越清楚,生成結(jié)果越接近可用 Demo。
三、完整代碼:復(fù)制就能跑
新建一個 index.html 文件,把下面代碼復(fù)制進去,用瀏覽器打開即可。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>反應(yīng)力挑戰(zhàn)</title>
<style>
* {
box-sizing: border-box;
}
body {
margin: 0;
min-height: 100vh;
font-family: Arial, "Microsoft YaHei", sans-serif;
background: #101820;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
}
.game {
width: min(92vw, 520px);
padding: 20px;
}
.top {
display: flex;
justify-content: space-between;
gap: 12px;
margin-bottom: 14px;
font-size: 18px;
font-weight: 700;
}
.board {
position: relative;
width: 100%;
aspect-ratio: 1 / 1;
background: #1f2a33;
border: 2px solid #3f5668;
border-radius: 12px;
overflow: hidden;
touch-action: manipulation;
}
.target {
position: absolute;
width: 58px;
height: 58px;
border: none;
border-radius: 50%;
background: #ffcc33;
box-shadow: 0 0 18px rgba(255, 204, 51, 0.75);
cursor: pointer;
transform: translate(-50%, -50%);
transition: left 0.12s ease, top 0.12s ease, transform 0.08s ease;
}
.target:active {
transform: translate(-50%, -50%) scale(0.88);
}
.panel {
margin-top: 14px;
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
}
.message {
min-height: 24px;
color: #d8e3ea;
}
.start {
border: 0;
border-radius: 8px;
padding: 10px 16px;
background: #00a884;
color: white;
font-size: 16px;
font-weight: 700;
cursor: pointer;
}
.start:hover {
background: #00bd95;
}
@media (max-width: 420px) {
.top {
font-size: 16px;
}
.target {
width: 50px;
height: 50px;
}
}
</style>
</head>
<body>
<main class="game">
<div class="top">
<div>分數(shù):<span id="score">0</span></div>
<div>剩余:<span id="time">30</span>s</div>
</div>
<section class="board" id="board" aria-label="游戲區(qū)域">
<button class="target" id="target" aria-label="點擊得分"></button>
</section>
<div class="panel">
<div class="message" id="message">點擊開始,測試你的反應(yīng)速度。</div>
<button class="start" id="start">開始游戲</button>
</div>
</main>
<script>
const board = document.querySelector("#board");
const target = document.querySelector("#target");
const scoreEl = document.querySelector("#score");
const timeEl = document.querySelector("#time");
const messageEl = document.querySelector("#message");
const startBtn = document.querySelector("#start");
let score = 0;
let timeLeft = 30;
let timer = null;
let playing = false;
function random(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function moveTarget() {
const boardRect = board.getBoundingClientRect();
const targetSize = target.offsetWidth;
const padding = targetSize / 2 + 8;
const x = random(padding, boardRect.width - padding);
const y = random(padding, boardRect.height - padding);
target.style.left = `${x}px`;
target.style.top = `${y}px`;
}
function startGame() {
score = 0;
timeLeft = 30;
playing = true;
scoreEl.textContent = score;
timeEl.textContent = timeLeft;
messageEl.textContent = "快點擊黃色圓點!";
startBtn.textContent = "重新開始";
moveTarget();
clearInterval(timer);
timer = setInterval(() => {
timeLeft -= 1;
timeEl.textContent = timeLeft;
if (timeLeft <= 0) {
endGame();
}
}, 1000);
}
function endGame() {
playing = false;
clearInterval(timer);
messageEl.textContent = `游戲結(jié)束,你的最終分數(shù)是 ${score} 分。`;
}
target.addEventListener("click", () => {
if (!playing) return;
score += 1;
scoreEl.textContent = score;
moveTarget();
});
startBtn.addEventListener("click", startGame);
window.addEventListener("resize", () => {
if (playing) moveTarget();
});
moveTarget();
</script>
</body>
</html>四、這段代碼里最值得看的 3 個點
1. 游戲狀態(tài)
let score = 0; let timeLeft = 30; let timer = null; let playing = false;
小游戲不一定需要復(fù)雜框架,但一定要有清晰的狀態(tài)。
這里的 score、timeLeft、playing 就是最核心的游戲狀態(tài)。
2. 隨機位置
const x = random(padding, boardRect.width - padding); const y = random(padding, boardRect.height - padding);
這里加了 padding,是為了避免圓點貼邊導(dǎo)致不好點。
這個細節(jié)很小,但會明顯影響游戲體驗。
3. 重新開始
clearInterval(timer);
timer = setInterval(() => {
timeLeft -= 1;
timeEl.textContent = timeLeft;
}, 1000);
重新開始前先清掉舊定時器,否則多點幾次開始按鈕,倒計時可能會加速。
這類小 bug,正是讓 AI Agent 反復(fù)檢查時很容易發(fā)現(xiàn)的點。
五、讓文章更有收藏價值:繼續(xù)讓 AI 優(yōu)化
第一版能跑之后,可以繼續(xù)給 AI Agent 下第二輪任務(wù):
請基于當(dāng)前小游戲繼續(xù)優(yōu)化: 1. 增加最高分記錄,使用 localStorage 保存 2. 分數(shù)越高,圓點越小 3. 增加連擊提示 4. 點擊空白區(qū)域扣 1 分 5. 游戲結(jié)束后顯示評級,例如 S、A、B、C 6. 增加簡單動畫,讓圓點出現(xiàn)時更有反饋
這樣文章也能繼續(xù)拆成系列:
- 第 1 篇:AI Agent 做小游戲基礎(chǔ)版
- 第 2 篇:加最高分和難度系統(tǒng)
- 第 3 篇:把原生 JS 版本改成 Vue/React
- 第 4 篇:用 AI 優(yōu)化 UI 和動畫
對長期沒更新的賬號來說,系列文章比單篇文章更容易形成連續(xù)曝光。
六、前端開發(fā)者怎么真正用好 AI Agent
我的建議是:不要只讓 AI 寫一小段代碼,而是把它當(dāng)成“Demo 搭建助手”。
適合交給 AI Agent 的任務(wù):
- 快速做一個小游戲原型
- 寫一個后臺頁面初版
- 把普通 JS 代碼拆成模塊
- 根據(jù)報錯信息定位 bug
- 把一個 Demo 改成 Vue/React 版本
- 給技術(shù)文章補充代碼解釋和標(biāo)題結(jié)構(gòu)
但最后一定要自己檢查三件事:
- 代碼能不能跑
- 交互順不順
- 邏輯有沒有邊界 bug
AI 負責(zé)提速,人負責(zé)把關(guān)。這個組合目前最實用。
七、總結(jié)
AI Agent 不是魔法按鈕,但它確實能把前端開發(fā)里“從 0 到 1”的速度拉快很多。
這篇文章我們用一個反應(yīng)力小游戲跑了一遍完整流程:
寫清需求 -> 生成代碼 -> 瀏覽器運行 -> 檢查問題 -> 繼續(xù)優(yōu)化
如果你是前端初學(xué)者,可以從這種小游戲開始練習(xí);如果你已經(jīng)有項目經(jīng)驗,也可以把 AI Agent 當(dāng)作項目原型工具。
技術(shù)一直在變,但核心能力沒變:看懂需求、判斷代碼、優(yōu)化體驗。AI 會讓寫代碼更快,而真正拉開差距的,還是你對細節(jié)的把控。
發(fā)布小建議
- 封面圖可以用本文第一張圖
- 標(biāo)題可選:
2026 前端新玩法:用 AI Agent 做一個能運行的小游戲 - 標(biāo)簽建議:
AI Agent、前端、JavaScript、小游戲、ChatGPT
參考資料
到此這篇關(guān)于如何使用 AI Agent 做一個前端小游戲(從提示詞到可運行Demo)的文章就介紹到這了,更多相關(guān)AI Agent 前端小游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章

CI/CD中的AI如何用Agent自動生成Release Note
這篇教程教你如何使用GitHub Actions和AI工具daily-report-agent自動生成ReleaseNote,省時,提高效率,本文介紹的非常詳細,感興趣的朋友一起看看吧2026-06-23
深度對比OpenClaw,Claude Code與Hermes Agent的AI Agent記憶系統(tǒng)架構(gòu)設(shè)計
本文將深入對比三個代表性項目的記憶系統(tǒng)設(shè)計,OpenClaw(通用 Agent 框架)、Claude Code(編程 Agent)和 Hermes Agent(自進化 Agent),它們分別代表了三種不同的設(shè)計哲2026-05-30
Hermes Agent(愛馬仕)AI智能體框架部署的完整指南
Hermes Agent(開發(fā)者社區(qū)俗稱"愛馬仕") 是 2026 年 2 月正式開源的新一代 AI 智能體(Agent)框架,本文從框架原理、核心技術(shù)架構(gòu),與主流框架的橫向?qū)Ρ龋?W2026-05-26
Hermes Agent 是 Nous Research 開源的自進化 AI Agent,支持 CLI、Telegram、Discord 等多端使用,但默認只能接一個模型提供商,本文手把手教你通過 OpenAI 兼容網(wǎng)關(guān),一鍵2026-05-21
OpenClaw vs Hermes Agent:2026年AI智能體雙雄深度對比
在2026年的AI Agent浪潮中,OpenClaw(昵稱"龍蝦")和 Hermes Agent 迅速成為兩大最熱門的開源項目,兩者都是自托管、本地運行的自主AI Agent,下面我們就來深度2026-05-20
Hermes Agent 安裝部署攻略60秒入門這個可成長的AI助手
HermesAgent是一個自主運行的的A自主學(xué)習(xí)的AI代理,支持多多平臺,具有自主成長、跨會話會議和記憶的特點,文章介紹安裝和配置過程,,及使用、技能管理和定時任務(wù)的簡要使用,2026-05-19
2026年最新Hermes Agent部署教程:從零開始搭建你的自進化AI助手
Hermes Agent 是由 Nous Research 開源的一款自進化 AI Agent,它是目前唯一內(nèi)置學(xué)習(xí)循環(huán)的 Agent 系統(tǒng),能夠從經(jīng)驗中創(chuàng)建技能、在使用過程中持續(xù)改進、主動持久化知識,并2026-05-17
Hermes Agent Windows Docker 部署完全指南如何從零開始搭建你的自我進化AI 智能體
HermesAgent是NousResearch開發(fā)的開源自我進化型AI智能體,支持多模型、多平臺網(wǎng)關(guān)和持久化記憶,文章詳細介紹了環(huán)境準(zhǔn)備、Docker鏡像拉取、初始化配置、接入LLM模型、啟動運2026-05-13
Hermes Agent vs OpenClaw:2026年兩大AI Agent框架深度對比分析
OpenClaw作為開源社區(qū)寵兒,Hermes Agent作為企業(yè)級解決方案,兩者在設(shè)計理念、架構(gòu)實現(xiàn)和適用場景上存在根本性差異,本文就對二者進行了深度的對比分析,需要的朋友可以參考2026-04-21
Hermes Agent工具集大全:20+工具讓你的AI無所不能
工具集是Hermes Agent區(qū)別于普通AI聊天工具的關(guān)鍵,通過調(diào)用各種工具,Hermes Agent不僅僅是一個對話伙伴,而是一個能夠?qū)嶋H操作系統(tǒng)的智能代理,本文整理了20+個工具集,覆2026-04-20











