使用Qwen3.8-27B和Pi构建本地版愤怒的小鸟克隆程序
了解如何使用LM Studio和Pi agent搭建完全本地的AI编程工作流,进而借助Qwen3.8-27B创建可玩的《愤怒的小鸟》关卡。
几周前,有一个小型业余项目试图回答一个略显荒谬的问题:仅使用运行在普通消费级硬件上的本地模型,能否打造出《愤怒的小鸟》中一个可玩的关卡——包括物理引擎、弹弓机制、倒塌的塔楼等所有元素?无需云API密钥,无需按量计费,代码也不得离开该设备。
它确实可行。鸟儿在屏幕上飞过,木块会倒下,猪只会在碰撞时被压碎。驱动这一切的模型是Qwen3.8-27B,它在LM Studio中运行,并由开源的终端式编程助手Pi进行协调。以下是完整的设置流程:介绍该模型以及为何它虽仅运行在单台Mac上却能展现出超越其规格的性能,同时还会详细说明安装LM Studio、安装Pi以及将两者连接起来的步骤,这样Pi就能将请求发送到你的本地模型而非托管服务提供商。
为何要选择本地运行?
最直接的动机是成本和控制力。将所有功能在本地运行可以带来:
- 无论你为业余项目投入多少时间进行迭代,都无需支付任何API费用。
你需要牺牲的是原始生成速度以及传统意义上的输出质量。不过,这一差距的缩小速度比大多数人想象的要快得多,Qwen3.8-27B充分展示了在经过精心训练并针对消费级硬件进行良好量化处理后,约270亿参数的模型能够达到的强大性能。
认识这款模型:Qwen3.8–27B
Qwen3.8-27B由阿里巴巴的Qwen团队开发。它是一款具备视觉处理功能的密集型模型,采用Apache 2.0许可证发布,因此即使用于商业项目也可免费使用。在决定下载16GB以上的文件之前,以下是值得了解的参数信息:
架构
- 270亿个参数,分布在64层中,隐藏状态维度为5,120
- 混合注意力机制:通过重复的模块将线性“Gated DeltaNet”注意力与标准门控注意力层相结合,从而在上下文规模增大时仍保持模型的高效率
- 内置上下文窗口大小为262,144个标记,可扩展至1,000,000个
- 训练过程中采用多标记预测技术,显著提升局部推理速度
基准测试结果(数据来自Qwen,必要时会与Anthropic的Opus 4.6 Max进行对比):
核心结论是,这款270亿参数的模型在编程和智能体测试基准上的表现能够与最先进的封闭权重模型相媲美,甚至更胜一筹,这也解释了为何它能够成为像Pi智能体这类应用中可行的日常选择。这些数据均为厂商自行公布,因此在独立测试结果出来之前还需保持一定的谨慎态度——但后文提到的“愤怒的小鸟”项目实际测试结果与这些宣称是相符的。
需要提前注意的一点是:Qwen3.8-27B 默认开启了扩展的“思考”(推理)功能,其难度级别设置为 xhigh。这对于真正复杂的任务非常有帮助,但这也意味着该模型在处理那些无需过多思考的简单请求时,仍会消耗数千个推理令牌。对于常规的编程任务,可在 LM Studio 的模型设置中将推理难度降至 medium 或 low,这样既能显著提升响应速度,又不会大幅影响质量。只有面对真正需要高强度推理的问题时,才应使用 xhigh 级别。
在本地运行该模型时,可用的量化格式包括 GGUF 和 MLX,这两种格式均提供 4 位、5 位、6 位和 8 位精度版本。MLX 是专为 Apple Silicon 平台设计的格式。
对于 Mac 用户而言,内存需求大致如下,这可帮助您判断何种量化级别适合您的硬件:
作为参考,搭载 M4 芯片且拥有 32 千兆字节共享系统内存的 Mac mini,运行 4 位量化版本时每秒可生成约 5 到 6 个标记。从绝对速度来看不算快,但对于负责编写和编辑代码而非实时流式输出文本的智能体而言已经足够使用。在性能更强的 Apple Silicon 芯片——如 Max 或 Ultra 系列——或功能强大的 Nvidia GPU 上,处理速度会有显著提升;有报告称,在更强的消费级设备上,量化后的性能可达每秒 15 到 30 个标记。
第一步:安装 LM Studio
LM Studio 是一款桌面应用程序,负责在本地加载模型,并通过兼容 OpenAI 的 API 服务器将其暴露出来。Pi 实际上就是与那个服务器进行通信的。
你可以从官方下载页面获取它——提供 macOS、Windows 和 Linux 版本。
像安装其他桌面程序一样安装它,然后启动即可。
步骤 2:在 LM Studio 中下载 Qwen3.8–27B
- 在 LM Studio 中,打开模型搜索/发现面板。
- 查找
qwen/qwen3.8-27b,或者直接访问 LM Studio 网站上的该模型页面。
xhigh调低至medium或low。步骤3:启动LM Studio的本地服务器
很多人都会在这一步遇到问题——将模型加载到聊天界面中并不代表它就能自动作为API使用。
- 在LM Studio中切换到“开发者”标签页。
- 开启“启动服务器”选项。
- 默认情况下,它会在一个兼容OpenAI的端点上提供服务,地址为
http://localhost:1234/v1。
你可以通过终端确认服务器是否正在运行:
curl http://localhost:1234/v1/models
JSON响应中应列出qwen/qwen3.8-27b(或确切的标识符)——请记下这个完整字符串,因为稍后你会需要它。
步骤4:安装Pi系统
Pi 是一款开源的终端式编程工具。它支持用户自行管理密钥,且与具体模型无关,从设计之初就旨在能够同样良好地运行在云服务提供商的平台上,也能在 LM Studio 或 Ollama 等本地兼容 OpenAI 的服务器上运行。
官方安装程序:
curl -fsSL https://pi.dev/install.sh | sh
或者,如果您更愿意使用 npm:
npm install -g @earendil-works/pi-coding-agent
确认安装是否成功:
pi --version
完整文档可在 pi.dev/docs/latest 查阅。
第 5 步:将 Pi 指向您的本地 LM Studio 模型
Pi 会将服务提供商的配置信息保存在 ~/.pi/agent/models.json 文件中。打开该文件(如果尚不存在则创建),然后添加一条指向 LM Studio 本地服务器的记录:
{
"providers": {
"lmstudio": {
"baseUrl": "http://localhost:1234/v1",
"api": "openai-completions",
"apiKey": "lm-studio",
"models": [
{
"id": "qwen/qwen3.8-27b",
"input": ["text"],
"contextWindow": 65536,
"reasoning": true
}
]
}
}
}
这里有一些细节很容易出错:
baseUrl必须与 LM Studio 开发者标签页中显示的地址完全一致,其默认值为http://localhost:1234/v1。apiKey可以填写任何占位文本——LM Studio 的本地服务器不会对其进行验证,但如果不填入该字段,Pi 就不会显示对应模型。models[].id需要与执行curl http://localhost:1234/v1/models后 LM Studio 返回的内容逐字符匹配。细微差异是导致本地模型无法出现在预期位置的最常见原因。contextWindow应该设置为加载模型时实际配置的上下文长度,而非模型的绝对最大值。
你还可以通过编辑 ~/.pi/agent/settings.json 将其设置为默认提供方:
{
"defaultProvider": "lmstudio",
"defaultModel": "qwen/qwen3.8-27b"
}
重启 Pi 后——或在已打开的会话中运行 /model——选择 lmstudio / qwen/qwen3.8-27b。从那时起,Pi 发出的所有请求都会留在您的机器上,不会有任何数据传送到本地网络之外。
构建《愤怒的小鸟》风格的关卡
在所有配置都准备就绪后,接下来的任务是给 Pi 下一个要求较为宽松的指令:用 愤怒的小鸟 的风格制作一个可在浏览器中运行的关卡——包括弹弓机制、抛射物物理效果、可被击碎的积木堆,以及需要推倒的猪角色——所有这些都要整合在一个独立的 HTML/JS/Canvas 页面中。
有趣的是,它并非在首次尝试时就成功生成了可运行的代码——那是在将推理难度降至medium之后才实现的。在xhigh难度下,模型在写出任何一行代码之前就耗费了大量计算资源去反复质疑基础物理常数。一旦调整妥当,它就能合理地处理以下内容:
- 弹弓的拖动发射机制与抛体运动
- 涵盖重力、碰撞以及方块倾倒等要素的基础物理逻辑
- 将整个程序保存为单个整洁的JavaScript文件,以便在多轮迭代中不断修改而不丢失已编写的代码
这正是SWE-bench Pro、Terminal-Bench和LiveCodeBench等评测工具旨在衡量的那种智能编码能力,其表现也与这些评分所反映的情况一致。这并非表面上的聊天机器人把戏——而是一个能够在完全离线状态下,利用你桌上已有的硬件,从头到尾完成多文件、多轮次的编码任务的模型。
如果你打算自行搭建的实用建议
- 默认选择中等推理强度。将
xhigh留到真正复杂的架构或算法难题上使用。在常规的编码智能体循环中,它只会增加延迟而无法提升效果。
models.json中的条目与LM Studio显示的ID不完全匹配。总结
不久前,要让完全本地运行的模型构建出可玩的物理引擎游戏还显得相当雄心勃勃。如今,一个经过量化处理、可在单台Mac上流畅运行的270亿参数模型,再结合一个轻量级的开源终端代理,仅需一个下午就能完成这项任务。如果你拥有24GB或更多统一内存,或是性能尚可但目前处于闲置状态的GPU,那么这种方案确实是一种零边际成本且极其有趣的途径,能让你直观感受到本地AI编程工具的发展程度。
本指南中引用的资源:
LM Studio的下载页面位于lmstudio.ai/download,该模型对应的条目可在lmstudio.ai/models/qwen/qwen3.8-27b下找到。量化后的MLX权重则存储在Hugging Face的lmstudio-community命名空间中,标识名为Qwen3.8-27B-MLX-4bit。Pi编程智能体拥有自己的网站pi.dev,相关文档可在pi.dev/docs/latest查看。
相关阅读
- 使用Next.js和AI SDK构建多步骤AI智能体界面 — 了解如何运用类型化工具、多步骤循环以及Next.js中的流式生成UI组件来设计可投入生产的AI智能体界面。