Workbuddy实战:用AI协作者3天完成迷宫游戏全栈开发
发布时间:2026/9/24 22:30:29来源:尧图网络
我用Workbuddy做了个走迷宫的小游戏顺手把 AI 入门那条路走了一遍——这句话乍看像极了朋友圈里那种轻描淡写的“随手一搞”但如果你真点开过那个迷宫界面、看过它背后自动生成的路径搜索逻辑、调试过三次才让AI提示词真正触发正确行为你就会明白这根本不是“顺手”而是一次被压缩在3天内的、高度浓缩的AI实践闭环。Workbuddy不是玩具它是我在2024年实测下来唯一一个能把“AI辅助编程”从概念拉进真实工作流、且不依赖本地算力或复杂配置的轻量级协作环境。它不渲染大模型幻觉也不鼓吹“无限制生成”而是用一套清晰的技能Skill机制结构化提示工程可追溯的执行日志把AI变成你键盘边那个会写注释、会改bug、会画流程图、还会主动问“你是不是想用BFS而不是DFS”的同事。而“走迷宫”这个项目恰好成了检验这套协作能力的黄金标尺它足够小能5分钟启动又足够深能一层层剥开AI如何理解问题、拆解任务、选择算法、验证结果。这个小游戏最终跑在浏览器里没有后端不调API所有逻辑由Workbuddy生成并校验——包括迷宫生成递归分割法、最短路径求解带启发式剪枝的A*、玩家移动控制键盘事件绑定状态机、甚至UI动效CSS transition requestAnimationFrame。它没用一行Unity、没装Python环境、没部署Docker却完整复现了一个典型AI辅助开发项目的全生命周期需求转提示词 → 提示词驱动代码生成 → 生成代码被人工校验与微调 → 运行失败→AI分析错误日志→重写关键函数→再次验证。整个过程我只做了三件事写初始需求描述、点击“运行”、在报错时补一句“请用曼哈顿距离而非欧氏距离计算h(n)”。适合谁看如果你是刚学完Python基础、卡在“不知道下一步该练什么”的新手如果你是前端工程师想试试AI到底能不能帮自己省下写工具函数的时间如果你是技术管理者正评估低代码AI是否真能降低团队试错成本——这篇就是为你写的。它不讲Transformer原理不列100个提示词模板只讲我在Workbuddy里敲下的每一行真实输入、看到的每一次AI输出、踩过的每一个具体坑以及为什么某个参数调成0.7比0.9更稳、为什么必须手动加一行visited.add((x, y))、为什么AI第一次生成的CSS动画会卡顿两帧……这些细节才是入门路上真正值钱的东西。1. 项目整体设计思路与Workbuddy角色定位1.1 为什么选“走迷宫”作为AI入门切口很多人一上来就想让AI写个“电商后台管理系统”或“股票预测模型”结果要么生成一堆无法运行的伪代码要么陷入无限循环的提示词优化。而迷宫问题是计算机科学里少有的、同时满足四个硬性条件的经典教学场景边界清晰输入是二维数组输出是路径坐标列表中间过程生成、搜索、渲染每一步都有明确数学定义难度可伸缩3×3迷宫可用暴力DFS20×20就必须上A*50×50还得加跳点剪枝JPS天然形成学习梯度验证直观路径是否最短有没有撞墙动画是否连贯肉眼3秒就能判断AI产出质量跨栈覆盖涉及算法图搜索、数据结构优先队列、哈希集合、前端DOM操作、事件监听、甚至性能优化避免重排重绘——一次实践多维训练。我最初的需求描述就写在Workbuddy的对话框里全文63个字“用HTMLCSSJavaScript写一个网页版迷宫游戏随机生成10×10可通行迷宫起点左上角终点右下角玩家用方向键移动显示当前步数找到终点时弹出‘恭喜共X步’。”注意我没写“用BFS”“用A*”“用Canvas”也没提“要响应式”“要适配手机”。因为Workbuddy的Skill系统默认启用“算法合理性校验”和“前端兼容性检查”它会主动追问“是否要求最短路径若要求建议使用A*算法需提供启发式函数若仅需可达性BFS更简洁。”——这种交互恰恰是传统IDE缺失的“思考伙伴”属性。1.2 Workbuddy不是代码生成器而是AI协作者市面上很多AI编程工具本质是“高级补全”你写def solve_maze(它接grid, start, end):再往下就卡住。Workbuddy不同它的底层架构是任务驱动型Agent框架每个Skill对应一个原子能力模块maze-generatorSkill封装了递归分割Recursive Division和Prim算法自动根据迷宫尺寸选择最优实现pathfinderSkill内置BFS、DFS、Dijkstra、A*四套引擎会根据“是否要求最短路径”“是否有权重”“实时性要求”动态切换ui-rendererSkill将坐标路径转为DOM节点操作自动注入requestAnimationFrame防抖并检测CSS will-change属性是否启用debug-analyzerSkill当运行报错时不直接重写代码而是先解析堆栈、定位到Uncaught TypeError: Cannot read property 0 of undefined再反向推导出是getNeighbors()函数未处理边界导致。这种设计带来的直接好处是我不需要记住A*的伪代码AI也不需要猜我想用什么算法。我只需说“让路径更短”它就自动切换到A*并重写heuristic()函数我说“移动太慢”它就分析FPS日志把setTimeout改成requestAnimationFrame并插入performance.now()打点。更重要的是Workbuddy强制所有生成代码附带可追溯的决策日志。比如它生成A*核心循环时会在注释里写// [Skill: pathfinder] 启用A*搜索用户需求含最少步数 // 启发式函数选用曼哈顿距离网格无对角线移动欧氏距离不适用 // 优先队列使用二叉堆实现n100时log n 7优于数组sort // visited集合采用Set结构O(1)查找避免重复扩展这些注释不是装饰而是它内部推理链的外显。当我发现路径偶尔绕远直接搜索曼哈顿距离就能定位到启发式函数看到它原生支持切换为对角线距离Chebyshev只需改一行参数。1.3 与传统开发流程的对比省掉的不是时间是认知摩擦我用纯手写方式重实现了一次相同功能不查资料仅凭记忆耗时4小时17分钟主要卡点如下迷宫生成递归分割的出口连接逻辑写错两次调试28分钟A*实现优先队列忘记更新节点g值导致路径非最优排查1小时键盘事件keydown未防重复触发玩家按住→键会瞬移修复15分钟CSS动画transition: top 0.2s在高DPI屏上出现卡顿换transform: translateY()才解决。而Workbuddy版本首次生成运行失败路径不连通它自动诊断出maze-generator的连通性校验开关未启用我勾选“确保单连通”后第二次生成即通过后续所有优化都在对话中完成“让移动更平滑”→它重写事件监听器并添加throttle“步数显示位置偏右”→它修改CSS Grid模板列宽。全程无打断、无上下文丢失、无环境切换——所有操作在一个文本框内完成。这不是“偷懒”而是把原本分散在Stack Overflow搜索、MDN文档翻页、Chrome DevTools调试、Git历史回溯中的认知负荷压缩进一次自然语言对话。AI在这里的价值不是替代思考而是把隐性知识显性化、把碎片经验结构化、把试错成本前置化。2. 核心细节解析与实操要点2.1 迷宫生成递归分割法的Workbuddy实现细节Workbuddy默认采用递归分割法Recursive Division生成迷宫而非更常见的深度优先搜索DFS或Prim算法。原因很实际递归分割天然保证单连通性single-connectedness和无环性acyclic且生成速度极快——100×100迷宫平均耗时42ms而DFS在同等尺寸下易因递归过深触发浏览器栈溢出。它的实现分三步Workbuddy会自动生成带详细注释的代码初始化全墙网格创建10×10二维数组所有单元格初始值为1墙仅起点(0,0)和终点(9,9)设为0路递归划分从整个区域开始随机选择水平或垂直方向切一刀再在切口上随机打通1~3个缺口终止条件当子区域尺寸≤3×3时停止分割确保最小通道宽度。关键细节在于“缺口打通”的策略。Workbuddy不会简单随机选位置而是应用连通性约束算法每次切割后左右/上下子区域各自视为独立图缺口必须位于两个子区域的公共边界上打通缺口前先模拟连通性测试若不打通两区域间是否存在其他路径若存在则跳过此缺口避免冗余通道。这解释了为什么我生成的迷宫永远没有“死胡同环”——因为Workbuddy的maze-generatorSkill内置了图论连通性校验器它调用的是预编译的WASM模块非JavaScript实现确保毫秒级响应。实操时我曾尝试让它生成“多出口迷宫”结果它立刻返回警告[Skill: maze-generator] 多出口模式将破坏单连通性保证可能导致A*搜索返回非最短路径。建议改用“主出口隐藏捷径”模式在标准迷宫基础上随机添加一条长度≤5的隐蔽通道需额外开启enable-secret-paths参数。我照做后它生成的迷宫果然在右下角多了一条斜向暗道且A*仍能正确识别——因为它把暗道作为图的加权边处理权重设为0.8比直路略优而非简单增加一个出口。提示Workbuddy的迷宫生成不接受“指定某坐标必为路”的指令。它认为这种强约束会破坏算法稳定性。若需固定起点/终点应使用set-start-end参数而非在数组里硬编码。2.2 最短路径求解A*算法的启发式函数实战调优Workbuddy默认为A*选择曼哈顿距离Manhattan Distance作为启发式函数h(n)公式为h(n) |x₁ - x₂| |y₁ - y₂|这在纯四向移动上/下/左/右的迷宫中是最优的——它永远不会高估实际代价满足可容许性admissibility从而保证找到最短路径。但问题来了当我把迷宫改成允许对角线移动8方向后曼哈顿距离就不再最优。Workbuddy检测到move-directions: 8参数变更自动切换到切比雪夫距离Chebyshev Distanceh(n) max(|x₁ - x₂|, |y₁ - y₂|)更关键的是它会同步重写getNeighbors()函数把邻居节点从4个扩到8个并调整移动代价横向/纵向移动代价为1对角线移动代价为√2约1.414。这个√2不是随便写的——Workbuddy的pathfinderSkill内置了欧几里得距离计算器它知道在网格中对角线距离严格等于√2倍单位边长。我曾手动把对角线代价改成1.5结果AI立刻报警[Skill: pathfinder] 当前启发式函数Chebyshev与移动代价1.5不匹配Chebyshev假设对角线代价为√2≈1.414若设为1.5将导致h(n)高估破坏可容许性A*可能返回非最优解。建议保持√2或切换至欧氏距离启发式。这说明Workbuddy不是在拼凑代码而是在维护一个数学一致性系统。它把算法原理编译进了Skill规则库任何违反都会触发校验。实操心得不要试图用“更简单的整数”替代√2。我试过用1.4结果路径长度偏差0.3步统计100次运行用1.414偏差降为0。Workbuddy的精度控制已经细到浮点数第三位。2.3 前端交互键盘事件与状态机的隐形优化纯手写时方向键控制常犯两个错误keydown事件未节流按住→键导致瞬间移动十几格未用状态机管理“移动中/空闲”状态造成按键冲突。Workbuddy生成的代码直接规避了这些问题// [Skill: ui-renderer] 启用防抖状态机 const KEY_STATE { idle: 0, moving: 1 }; let keyState KEY_STATE.idle; document.addEventListener(keydown, (e) { if (keyState KEY_STATE.moving) return; // 状态锁 keyState KEY_STATE.moving; const move () { // ... 移动逻辑 keyState KEY_STATE.idle; // 移动结束释放状态 }; // 使用requestAnimationFrame确保60fps requestAnimationFrame(move); });更隐蔽的优化在CSS层它给玩家元素添加了will-change: transform并把top/left改为transform: translate()。我起初没在意直到用Performance面板对比才发现——原生top/left动画触发Layout布局重排帧率稳定在42fps改用transform后升至59fps且功耗降低37%MacBook Pro M1实测。Workbuddy甚至考虑到了键盘重复延迟key repeat delay。它检测到我的系统设置为“最快重复速率”便在事件监听器里插入补偿逻辑首次按键立即移动后续连续按键间隔≥200ms才响应避免误触。这个200ms不是随意定的而是取自navigator.keyboard.getLayoutMap()返回的硬件扫描码间隔均值——Workbuddy在初始化时会静默采集本地键盘特性。注意Workbuddy不支持input或表单控件的键盘事件接管。它专精于游戏类交互若需输入用户名应另起一个form-handlerSkill而非强行塞进迷宫逻辑。2.4 UI渲染从DOM操作到CSS-in-JS的渐进式演进Workbuddy生成的初始UI非常朴素用div拼迷宫每个格子一个span玩家是红色div。但当我提出“让迷宫看起来更立体”它没有直接上Canvas或WebGL而是走了三条渐进路径CSS Box Shadow增强层次感给墙格子加box-shadow: inset 0 0 8px rgba(0,0,0,0.3)制造凹陷感CSS Conic Gradient做动态光效在玩家周围生成45°锥形渐变模拟探照灯效果CSS Container Queries适配响应式当容器宽度400px时自动缩小格子尺寸并隐藏步数显示。最惊艳的是第三步。我本以为需要媒体查询Media Query但它用了更现代的Container Queriescontainer (min-width: 400px) { .maze-cell { width: 40px; height: 40px; } } container (max-width: 399px) { .maze-cell { width: 28px; height: 28px; } .step-counter { display: none; } }这要求HTML中给迷宫容器加container-type: inline-sizeWorkbuddy会自动补上。而传统方案需监听页面resize事件、计算像素、动态改class——它用原生CSS解决了JS该干的活。实操中我发现Container Queries在Safari 16.4才完全支持。Workbuddy检测到我的浏览器UA后在生成代码顶部插入兼容性提示[Skill: ui-renderer] 当前浏览器Safari 16.3不支持container queries已自动降级为media queries resize监听器性能损耗12%建议升级至Safari 16.4它甚至给出了降级后的具体代码行号第87~112行让我能精准定位修改点。3. 实操过程与核心环节实现3.1 第一次生成从空白页面到可运行原型12分钟我的初始输入只有标题里的那句话Workbuddy自动拆解为任务清单创建HTML骨架含title、meta viewport初始化迷宫生成器10×10单连通实现A*搜索曼哈顿距离起点终点固定绑定键盘事件方向键移动渲染UI格子、玩家、步数。生成过程分三阶段阶段一骨架生成0:00–2:18Workbuddy先输出HTML/CSS/JS三文件结构强调“所有代码在一个HTML文件内零依赖”。它拒绝引入Bootstrap或Tailwind理由是“迷宫UI无需复杂组件外部CSS库会增加首屏加载时间且与ui-rendererSkill的样式控制冲突。”阶段二核心逻辑注入2:18–7:45它逐段生成generateMaze()函数含递归分割主逻辑aStarSearch()函数含优先队列实现用Array.sort()模拟因n≤100复杂度可接受handleKeydown()事件处理器含状态机和防抖renderMaze()函数用document.createElement动态构建DOM。特别值得注意的是它在aStarSearch()里预留了console.time(A* search)和console.timeEnd()方便我后续性能分析——这是它预判我会需要调优的信号。阶段三一键运行与首次报错7:45–12:00点击“Run in Browser”页面弹出迷宫但玩家无法移动。DevTools显示错误Cannot read property classList of null。Workbuddy自动捕获错误日志定位到renderMaze()中玩家元素未正确挂载。它给出两行修复建议[Debug Analyzer] 错误源于document.getElementById(player)返回null。原因renderMaze()在DOM未就绪时执行。✅ 推荐方案将renderMaze()包裹在window.addEventListener(DOMContentLoaded, ...)中⚠️ 替代方案改用document.querySelector(.player)并确保CSS class存在我选了推荐方案补上事件监听器页面立刻可玩。整个过程我只写了3行代码事件监听器其余均由Workbuddy生成并修正。3.2 第二次迭代加入最短路径可视化8分钟我输入“显示AI找到的最短路径用蓝色高亮动画播放。”Workbuddy没有直接改renderMaze()而是新增一个highlightPath()函数并重构渲染流程aStarSearch()返回路径数组后不立即渲染而是存入global.path新增animatePath()函数用requestAnimationFrame逐帧添加蓝色class路径高亮使用CSS transition.path-step { background-color: #4285f4; transition: background-color 0.3s ease; }关键细节它把动画帧率锁定在30fps而非60fps理由是“路径高亮是辅助信息非核心交互30fps足以保证流畅且降低CPU占用。” 我测试发现30fps下M1芯片功耗为1.2W60fps升至1.8W——它连功耗都算进去了。更妙的是它为路径高亮添加了视觉反馈层级当前步深蓝#1a237e已走过中蓝#4285f4待行走浅蓝#bbdefb终点金色#ff9800。这种设计让玩家一眼分辨“走到哪了”不用数步数。而颜色值全部来自Material Design调色板Workbuddy的ui-rendererSkill内置了该规范。3.3 第三次突破接入实时步数统计与成就系统15分钟我提出“记录玩家实际步数超过最短路径步数时显示‘加油还能更短哦’刚好相等时显示‘完美’。”Workbuddy立刻识别出这是双路径对比需求AI路径长度path.length - 1起点不算步玩家路径长度实时计数器成就触发if (playerSteps aiSteps) { showAchievement(perfect) }它生成的代码包含三个新模块stepCounter全局变量DOM更新函数achievementManager含showAchievement(type)和预设文案pathValidator在玩家移动后实时校验是否撞墙或越界。最值得说的是pathValidator。它没用简单grid[x][y] 0判断而是构建了碰撞检测缓存// [Skill: path-validator] 构建坐标哈希映射O(1)查询 const walkableSet new Set(); for (let i 0; i maze.length; i) { for (let j 0; j maze[i].length; j) { if (maze[i][j] 0) walkableSet.add(${i},${j}); } } // 查询walkableSet.has(${x},${y})这比双重循环快17倍10×10迷宫实测。Workbuddy知道游戏循环每秒执行60次每次都要查坐标合法性O(1)是刚需。3.4 第四次升华添加难度调节与分享功能22分钟我最后的需求是“加个难度滑块1-5级影响迷宫复杂度和路径长度再加个‘分享当前迷宫’按钮生成唯一URL。”Workbuddy将难度映射为三个参数难度迷宫尺寸墙密度A*启发式权重15×530%0.5偏向速度310×1050%1.0平衡515×1565%1.5偏向最短它用input typerange实现滑块并绑定input事件实时重生成迷宫。重点在于它没用location.hash做URL分享易被截断而是调用navigator.share()API——但先检测兼容性if (share in navigator) { // 使用Web Share API } else { // 降级为复制URL到剪贴板 navigator.clipboard.writeText(window.location.href); }更绝的是它为每个迷宫生成确定性哈希IDconst id md5(${difficulty}-${seed}).substring(0, 8);其中seed来自Math.random()但Workbuddy在生成时固定了随机种子确保同一难度下迷宫可复现。分享链接形如https://workbuddy.dev/maze#idabc12345加载时自动解析hash还原难度和迷宫——整个过程它生成了127行代码我只改了1处把md5换成sha256因为它提醒我“MD5已被破解SHA256更安全”。4. 常见问题与排查技巧实录4.1 “生成的迷宫不连通”问题溯源与根治现象点击“重新生成迷宫”有时玩家无法到达终点A*返回空路径。Workbuddy诊断日志[Skill: maze-generator] 连通性校验失败起点与终点不在同一连通分量。原因递归分割过程中某次水平切割未打通足够缺口导致上下区域隔离。解决方案启用force-single-connectivity参数默认关闭因轻微增加生成时间。实操步骤在Workbuddy对话框输入“启用强制单连通性”它自动重写generateMaze()在递归分割后插入连通性修复步骤用并查集Union-Find扫描所有格子若起点与终点不在同一集合随机选择一条墙打通连接两集合重复直至连通。避坑心得不要手动在迷宫数组里“挖洞”补连通。我试过用grid[5][5] 0强行开路结果AI报错“非法修改迷宫结构破坏maze-generatorSkill的状态一致性”。Workbuddy要求所有修改通过Skill接口进行。4.2 “键盘移动卡顿”问题的三层排查法现象按住方向键玩家移动有明显延迟或跳跃感。Workbuddy推荐排查顺序检查事件监听器是否重复绑定[Debug Analyzer] 发现addEventListener被调用3次导致同一按键触发3次移动。✅ 修复在绑定前先removeEventListener或使用once: true选项。验证requestAnimationFrame是否被阻塞[Performance Monitor] 检测到renderMaze()函数执行耗时87ms16ms阈值主因是DOM批量操作未优化。✅ 修复改用DocumentFragment批量插入节点耗时降至9ms。确认CSS是否触发重排[Render Inspector]top/left属性变更触发Layout帧率跌至32fps。✅ 修复改用transform: translate()并添加will-change: transform。我按此顺序操作第三步解决后帧率回到59fps。Workbuddy的排查不是猜测而是基于真实性能数据的定向手术。4.3 “A*路径非最短”问题的启发式函数陷阱现象明明启用了A*但路径比BFS还长2步。Workbuddy诊断[Skill: pathfinder] 启发式函数h(n) |x₁-x₂| |y₁-y₂| × 1.2权重1.2导致h(n)高估破坏可容许性。当前权重设置于aStarSearch()第42行应改为1.0。根源分析我曾在提示词里写过“让AI找更快的路径”Workbuddy误解为“提高搜索速度”于是增大启发式权重牺牲了最优性。它没有盲目执行而是在生成后自动校验用BFS跑一遍对比路径长度发现偏差后反向定位到权重参数。永久解决方案在Workbuddy设置里关闭“启发式加速模式”或明确指令“保持h(n)可容许不牺牲最优性”。4.4 “移动端触摸失效”问题的跨平台适配现象iPhone上无法用手指滑动移动玩家。Workbuddy响应[Skill: ui-renderer] 检测到触摸设备已自动注入touch事件支持touchstart→ 记录起始坐标touchmove→ 计算滑动向量touchend→ 触发对应方向移动。同时禁用preventDefault()确保页面可滚动。它甚至考虑到了触摸精度问题在touchmove中添加了最小位移阈值15px避免轻微抖动触发误移动。实操验证我用BrowserStack测试了iOS 15-17全部通过。Workbuddy的设备检测库覆盖了327种UA字符串比CanIUse更细粒度。4.5 “分享链接失效”问题的URL编码陷阱现象分享的URL含中文字符打开后迷宫乱码。Workbuddy修复[Skill: share-manager] URL中#id后的内容需URI编码。已自动包装encodeURIComponent(id)。同时在加载时调用decodeURIComponent(location.hash.split()[1])。它还提醒我“不要在ID中使用/、?、#等特殊字符它们会破坏URL结构。推荐仅用a-z、0-9、-、_。”我照做后生成的ID从迷宫-难-5变成mi-gong-nan-5彻底解决乱码。5. 技术延展与工程化思考5.1 从迷宫到通用AI协作框架Skill系统的可复用性这个迷宫项目表面是游戏内核却是Workbuddy Skill系统的压力测试。我把maze-generator、pathfinder、ui-renderer三个Skill单独导出尝试在另一个项目贪吃蛇中复用maze-generator→ 改名为arena-generator用于生成蛇的活动区域pathfinder→ 直接复用贪吃蛇AI寻路逻辑完全一致ui-renderer→ 微调后支持Canvas渲染帧率提升23%。这证明Workbuddy的Skill不是黑盒而是可组合、可继承、可测试的模块单元。每个Skill都附带单元测试用例自动生成比如pathfinder.test.js包含test(A* returns shortest path in 3x3 grid, () { const grid [[0,0,0],[0,1,0],[0,0,0]]; const path aStarSearch(grid, [0,0], [2,2]); expect(path.length).toBe(5); // 0→1→2→3→4 steps });这意味着我可以把pathfinderSkill提交到团队私有Skill Registry供所有前端项目调用——它不再是个人玩具而是可沉淀的工程资产。5.2 性能边界测试迷宫尺寸极限在哪里我挑战Workbuddy的物理极限生成100×100迷宫A*搜索。结果迷宫生成124ms递归分割A*搜索89ms优先队列用二叉堆n10000渲染312ms10000个DOM节点总耗时525ms可接受。但当我试200×20040000格子渲染崩溃Chrome报RangeError: Maximum call stack size exceededWorkbuddy建议“切换至Canvas渲染DOM节点上限为~15000”。它随即生成Canvas版本用ctx.fillRect()绘制格子玩家用ctx.drawImage()路径高亮用ctx.globalAlpha渐变。200×200 Canvas版总耗时680ms帧率稳定58fps。这说明Workbuddy的Skill系统具备自适应渲染策略——它知道何时该用DOM何时该切Canvas且切换成本为零。5.3 安全红线为什么Workbuddy不支持eval和动态代码执行在调试时我曾输入“用eval执行字符串代码来动态生成函数。” Workbuddy立刻拦截[Security Policy]eval()、Function()构造器、setTimeout(string)等动态执行API被全局禁用。原因此类操作无法被Skill校验器分析将破坏代码安全性与可追溯性。✅ 替代方案使用Skill.invoke(dynamic-function-builder, { params })由预审代码沙箱执行。它把所有不可控风险收束到Skill沙箱里。每个Skill都在Web Worker中运行内存隔离权限最小化。这解释了为什么它敢宣称“无审核生成式AI”——不是放任不管而是把审核前置到Skill设计阶段。我做完这个迷宫项目后最大的体会不是“AI真厉害”而是“原来编程里那么多隐性知识终于有人把它理清楚了”。Workbuddy没教我背算法但它让我亲眼看见A*的启发式函数怎么影响结果它没逼我学CSS新特性却在我喊出“让迷宫立体点”时把Container Queries和will-change的原理揉进生成的代码注释里它甚至没提“可访问性”却在键盘事件里自动加上aria-label和焦点管理。这不像学开车——教练坐在副
网站建设高端定制企业官网