尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

WorkBuddy实战:从大模型到AI Agent,四十分钟完成网站发布

WorkBuddy实战:从大模型到AI Agent,四十分钟完成网站发布 这两年我明显感觉到一个变化大家不再问“AI 能不能写代码”而是问“AI 能不能把一件完整的事做完”。如果你现在还觉得 AI Agent 只是“更聪明的聊天机器人”那 2026 年的效率红利基本和你没什么关系。最近我把一套“从需求到发布”的流程全部丢给 WorkBuddy 托管一个包含二十多个文件的小型官网从零到上线只花了不到四十分钟中间还经历了一次需求返工。这篇内容就是围绕 WorkBuddy 展开的实操笔记适合两类人一类是还没搞清 Agent 和大模型区别的观望者另一类是已经装了 WorkBuddy、但只用它写单文件脚本、没发挥出真正实力的用户。读完你至少能明白三件事Agent 在整个技术栈里处在什么位置、WorkBuddy 该怎么用才不浪费、以及想自己从 0 到 1 搭一个 Agent 需要补哪些课。1. 先把概念捋清楚AI Agent、大模型、WorkBuddy 各是什么角色热搜里天天有人问“agent 和 llm 和 ai模型 有什么区别”还有人问“deepseek 属于哪个”。这两个问题必须放在最前面说因为很多人从一开始就把工具层级搞混了。1.1 为什么 2026 年了还是要聊“模型和 Agent 的区别”先说结论大模型只会“想”AI Agent 才会“做”。大模型LLM的本质是一个文本输入、文本输出的概率模型。你给它一段 Prompt它给你一段回复。即使是 DeepSeek、GPT-4o、Claude 这类顶尖模型也只是在“生成内容”这个层面做得更好并没有自带“操作电脑文件、执行命令、调用接口、持续跟踪多步任务”的能力。DeepSeek 属于典型的推理模型擅长把逻辑链捋清楚但它本身不会替你打开编辑器、不会替你把文件写到磁盘上、更不会替你执行一条构建命令。网上很多教程把这类模型包装成“Agent”严格来说是错误的——模型是引擎Agent 是把引擎装上去的车。为什么这个区分在 2026 年尤其重要因为模型层的差距正在肉眼可见地缩小真正拉开生产力差距的是模型外围那层编排逻辑。同样是调用 DeepSeek 或者某个开源模型有人能得到一份不错的代码有人能让 Agent 自动拆任务、写代码、跑测试、修 bug、直到完成发布。差别不在模型而在 Agent 层的设计。我见过太多人花大量时间在“换更强的模型”上却忽略了自己根本没有给模型接上“手脚”。模型再聪明如果你没有工具调用和任务编排的壳它也只是一个很贵的聊天窗口。另一个常见的认知误区是“把 Agent 当成一个更大的上下文窗口”。AI Agent 的意义不只是“能记住更多内容”而是具备了一个循环拆解目标、调用工具、观察结果、修正策略、继续执行。这个循环才是 Agent 的核心。你用普通聊天模式让模型写完一个函数然后自己手动复制、保存、测试那模型的角色还只是“代码生成器”。但如果你让 WorkBuddy 这类 Agent 平台自己决定写哪个文件、用什么依赖、跑什么命令、看到报错后怎么改这才是真正的 Agent 工作方式。1.2 WorkBuddy 的真实定位不是聊天框是能干活的工作台WorkBuddy 是 CodeBuddy 的兄弟产品。两者的关系我用一句话概括CodeBuddy 解决“帮我写代码”的局部问题WorkBuddy 解决“帮我把事情做完”的完整问题。CodeBuddy 更多是编码场景的单点辅助WorkBuddy 则把任务拆解、Skill 调用、文件系统访问、会话管理、构建发布这些动作统一到一张工作台里。我最早用 WorkBuddy 的时候也犯过蠢拿它当普通 AI 对话框用问一句、答一句、复制粘贴。后来才发现它的核心抽象是四个东西Workspace工作目录Agent 的活动边界、Session会话上下文隔离的单位、Skill可插拔的技能包、Task Graph任务图长任务被拆成可断点续跑的节点。理解了这四个词你才算真正开始用 WorkBuddy。用一张表来对比常见的工具形态会更直观工具形态典型代表核心能力适合场景对话式模型DeepSeek、Claude、GPT生成文本、推理、问答概念解释、文案、单次代码生成代码助手CodeBuddy、Codex代码补全、局部代码生成在 IDE 里辅助写码工作流 AgentWorkBuddy多步任务编排、工具调用、文件操作从需求到发布的全流程自动化自建 AgentSpring AI 模型 API完全可控的定制编排企业级复杂业务现在网上搜“workbuddy 网页版”“workbuddy linux 版本”的人不少说明很多用户已经从“有没有”过渡到“怎么用好”。WorkBuddy 有桌面客户端也有网页版还有对应 Linux 和 Ubuntu 的安装包。网页版的好处是零安装任务默认跑在云端的服务端工作区适合临时验证本地版的好处是工作目录在自己机器上代码和中间产物不出内网。我自己是本地版为主、网页版为辅原因很简单涉及敏感代码时我至少知道所有文件写在哪里。2. 装对 WorkBuddy一台 Linux 机器和一个正确的工作目录安装这个过程看着简单但“装完不知道往哪儿开工”的人特别多。这章节把最容易踩的几个坑一次说清楚。2.1 从桌面端到网页版账号与工作区别搞混先讲安装渠道。WorkBuddy 的官方下载渠道会提供 Windows、macOS、Linux 三个平台的安装包Linux 下同时提供 deb 和 tar 包覆盖 Ubuntu、Debian 等常见发行版。我这台 Ubuntu 机器上用的就是官方 tar 包解压后直接运行的版本因为不用带 sudo解压到用户目录就行。之所以不推荐从第三方网盘搬运是因为这类工具包里含有执行环境渠道不干净等于把执行权交给陌生人风险不值得冒。安装完成后的第一件事不是急着对话而是把“网页版账号”和“本地版账号”的关系理清。如果你同时用网页版和桌面版注意本地版默认连接的是你当前登录的账号海外版则是另一套独立的账号体系和数据存储区域两边的积分、Skill、历史会话不通用。我自己的经验是本地项目一律用本地账号只有临时演示才会切到网页版避免工作目录里的会话跨端混乱。很多人在本地版里找不到网页版创建的 Session就是因为没搞清这两套环境的边界。另外无论是哪个版本安装包本身只占几十 MB 的空间真正占磁盘的是后面慢慢积累的模型缓存和每个 Workspace 的中间文件。所以安装目录最好选在剩余空间充足的磁盘不要默认装到系统保留分区。2.2 第一次动手前先把这三件事办好装好之后不要急着问“帮我写个 XXX”先花五分钟把工作区结构搭好。我推荐的初始动作是mkdir -p ~/workspaces/demo/.workbuddy/skills cd ~/workspaces/demo这个.workbuddy/skills目录是给 Agent 用的本地 Skill 存放点重要性后面专门讲。现在先把目录建好然后再做三件事第一设置你的默认工作目录。不要在“当前目录就是我的用户主目录”的情况下直接开跑否则 Agent 的权力边界会很大它可能在你主目录里到处建文件回头清理极其痛苦。把每个项目放进独立的~/workspaces/项目名Agent 的所有文件操作都会限制在这个项目目录内权限边界就是安全边界。第二坚持“一个新项目一个新 Session”。Session 承载的是上下文记忆如果上一单的上下文串到下一个项目轻则回答错乱重则 Agent 会把上一个项目里已经废弃的文件结构当作当前项目的依据。我习惯在一个项目完成到阶段性里程碑后主动开新 Session同时在工作目录里保留一份“决策记录.md”这样即使换了 SessionAgent 依然能通过文件找回上下文。第三把 Skill 目录写进全局配置。不同版本的配置路径略有不同但思路一致让 WorkBuddy 知道你期望它优先去哪个目录加载 Skill。不配置的话它只会加载内置 Skill你自己写的那些手艺包就永远处于“不被发现”的状态。2.3 Ubuntu 上的经典报错502 write eacces 到底是谁的问题我猜不少搜“workbuddy 502 write eacces”的人是带着一肚子火来的。这个报错首次出现时很容易让人误以为是网络问题——名字里有个“502”下意识就觉得是服务端网关错误。但我实际排查下来这个报错十有八九和网络一点关系都没有它的真实含义是Agent 进程尝试往某个路径写入文件时被操作系统拒绝了权限不足也就是 EACCES。一次典型的排查链路是这样的Agent 任务跑到第 N 步突然打印出一段502 write eacces后面跟着一段路径。这时你先别重新发起任务而是先看路径ls -ld /path/to/target如果这个目录的属主是 root而你当前用户是普通用户那问题就清楚了——Agent 试图在你的项目目录之外写文件或者你的项目目录本身落在了系统保护目录里。最典型的坑是把 WorkBuddy 的工作目录建在了/var或/opt下面然后又不用 sudo 启动Agent 想写日志和中间产物时直接被权限挡住。解决办法有两种# 方案A把工作目录迁移到用户目录下 mv /var/projects/demo ~/workspaces/demo # 方案B给当前用户授权仅在确认安全时使用 sudo chown -R $USER:$USER /path/to/project我个人推荐方案 A。因为给系统目录授权属于治标不治本下次装系统或换机器时你又得处理一遍。另外还有一个隐蔽点如果你是通过 snap 安装的版本默认的数据目录可能在/root/snap或类似路径下普通用户根本没有写权限这个情况同样会让 EACCES 反复出现。给一张快速自查表方便你对症下药报错现象常见原因处理动作502 write eacces工作目录无写权限chown 或迁移到 ~/workspacessession expired登录态过期重新登录检查账号环境skill not foundSkill 目录未配置确认 .workbuddy/skills 路径任务卡住不输出长任务未设置 checkpoint改用 Task Graph 分节点执行3. 从入门到上手Skill、自定义指令与积分机制一条龙安装只是开始把 WorkBuddy 的能力真正变成自己的靠的是 Skill、自定义指令和积分机制的配合。3.1 Skill 是 Agent 的手艺包先写一个最小可用的 Skill先说一个我反复看到的误区很多人把 Skill 理解成“一段更长的 Prompt”。不是的。Prompt 是一次性口头交代Skill 是把“怎么做一件事”固化成 Agent 可以随时调用的手艺包。它的价值在于可复用、可组合、可版本管理。一个最小的 WorkBuddy Skill 通常包含两部分一个SKILL.md文件说明这个技能什么时候用、按什么步骤执行一个scripts/目录存放实际干活用的脚本。SKILL.md的开头是 YAML frontmatter字段包括 name 和 description正文部分就是操作步骤。举个例子我写了一个非常简单的“生成静态站点”Skill--- name: generate_static_site description: 生成一个无依赖的静态站点包含 HTML/CSS/JS适合作品集或落地页。 --- 1. 在工作目录下创建 site/ 子目录 2. 生成 index.html包含页面结构和导航 3. 生成 styles.css使用深色主题 4. 生成 app.js处理简单的交互和表单校验 5. 执行 python3 -m http.server 8080 验证页面可访问 6. 输出 site/ 目录的完整文件列表description字段为什么要写清楚因为 WorkBuddy 是通过描述来匹配“什么时候调用哪个 Skill”的。你写得越具体它就越容易在合适的任务里主动加载。如果描述是“用来生成网站”那 Agent 就可能在任何提到网页的任务里都尝试调用反而添乱。Skills 的代码目录里我会放一些幂等脚本——所谓幂等就是无论执行多少次结果都一样。这点对 Agent 特别重要因为它的执行路径不是每次都会按顺序完整走完中途如果断点重跑不幂等的脚本会留下重复文件。3.2 自定义指令推荐把长期经验写进规则WorkBuddy 支持自定义指令相当于给 Agent 设置一套长期生效的“工作纪律”。有了这个你就不用每次都在 Prompt 里重复“别动无关文件”之类的叮嘱。我整理过一组比较通用的配置可以直接抄# 工作规范 - 每次任务开始前先输出不超过 10 行的执行计划再开始动手 - 只修改当前项目工作目录内的文件严禁修改项目目录之外的任何内容 - 写代码时给关键函数加中文注释说明用途、参数、返回值 - 遇到报错先把完整错误日志贴出来再讨论修复方案不要猜测原因 - 任务完成后输出一份变更清单列出新增、修改、删除的文件路径这几条看着普通实际效果立竿见影。我此前最头疼的问题是 Agent 遇到报错就“糊弄”——它会在不确认原因的情况下换个写法重试虽然有时候能蒙对但更多时候是把问题往更深处带。加入“先贴日志再讨论”这条规则后它至少会把真实错误信息亮出来我能在关键节点判断是否该介入。自定义指令的配置位置不同版本略有差异但一般都在用户配置目录下。配置完以后记得在 Web UI 里或命令行确认它已经被加载否则你以为启用了实际没生效。判断方法很简单随便让它执行一个任务看它开头有没有按你的规则输出执行计划。3.3 积分、签到与配额免费额度怎么撑住日常实验WorkBuddy 有积分机制这一点很多新手是在任务跑到一半被弹窗提示“积分不足”时才知道的。积分消耗和任务复杂度、执行的步骤数量、是否调用外部服务都有关系不是简单按条数算。好消息是积分获取途径不止一种其中每天签到是覆盖面最广的。如果你只是轻度使用签到攒下来的积分足够日常实验用。我看到很多人在搜“workbuddy 自动签到”说明大家都知道日积月累也是一笔不小的额度。如果平台规则允许自动签到可以通过官方公开接口写一个简单的定时脚本来完成比如用 Python 定时请求每日签到接口import requests import os # 从环境变量读取凭证不要硬编码进脚本 token os.environ.get(WORKBUDDY_TOKEN) resp requests.post( https://api.workbuddy.example.com/v1/checkin, headers{Authorization: fBearer {token}}, timeout30, ) if resp.status_code 200: print(resp.json().get(message, ok)) else: print(fcheckin failed: {resp.status_code} {resp.text})需要提醒的是任何自动化脚本都要先确认平台协议允许。如果官方明确禁止脚本签到那就老老实实手动点别因为这点积分把账号搭进去。另外一个经验是积分消耗最快的场景并不是代码量而是“长任务反复重试”。如果你发现积分消耗速度异常回头看是不是某个任务在同一个错误上反复横跳。与其让它瞎试不如在自定义指令里加一条“同一问题重试超过 3 次必须停下询问用户”能省很多配额。4. 实战让 WorkBuddy 从零生成并发布一个小型站点理论讲再多不如跑一遍真实案例。下面这个流程我最近刚走过完全可复现强烈建议你自己试一次。4.1 一句话需求是怎么变成任务图的我的需求一句话做一个极简作品集站点单页深色主题包含联系方式表单并发布到托管平台。因为前面已经配好了自定义指令WorkBuddy 没有直接甩给我一段代码而是先给出任务图也就是它打算怎么拆解这件事。它拆成了六个节点确认站点结构和内容区块生成 index.html 主页面生成 CSS 深色主题样式生成 JS 表单校验和简单交互本地预览验证构建并发布到托管平台。这就是“一句话需求变成任务图”的过程。任务图的意义在于如果第三步出了问题它不需要从头再来而是可以只重新执行失败的那一个节点。以前用普通对话方式让 AI 写网站一旦中途改需求整个上下文都乱了现在它只会重跑受影响的部分。4.2 提示词示例与执行过程我的实际 Prompt 比那句需求多了一点约束因为我不想手动给它铺路。完整版本大概是这样帮我在当前工作目录里生成一个单页作品集站点深色主题区块包含首页大标题、关于、作品展示、联系方式表单。 技术栈只用原生 HTML/CSS/JS不要引入构建工具。 表单不需要真实后端但要写明集成提示。 完成本地预览后构建产物放到 dist/ 目录。 全部完成后输出变更清单。执行过程大致分四轮。第一轮它先写了页面结构和 CSS 框架第二轮补了 JS 交互和表单第三轮我要求它把作品展示的占位图换成可配置的数据数组它自动把数据结构抽到data.js第四轮跑了本地预览、确认页面可访问然后生成了dist/目录。整个过程大概二十多分钟。过程中我发现一个值得分享的点我让它“引入一个 JSON 数据文件”时它拒绝了我最初“把数据写在 HTML 里”的表述主动指出数据与结构分离更利于后续维护。这说明自带的执行计划和自定义指令起作用了它在按“工程化思考”而不是“按字面意思执行”。4.3 到“生成网站发布”这一步最容易翻车的三个检查点发布之前有三个检查点是我踩过坑之后总结出来的。第一密钥和敏感信息。如果站点要调用外部 APIAgent 有可能把 Token 直接写进前端代码。我遇到过一次它把地图服务的 Key 硬编码到了 JS 里幸好发布前被我发现。现在我的自定义指令里加了一条硬规则所有密钥一律从环境变量读取禁止硬编码到页面代码中。这条建议真的别省。第二产物目录权限。发布动作通常发生在构建之后如果dist/目录对 Agent 的进程不可写发布就会卡在最后一步。前面讲的502 write eacces在这里会再次出现。确保整个项目目录属于当前用户是最省心的办法。第三回滚策略。发布前让它保留上一份构建产物的备份比如把旧dist/复制为dist_bak/。这样万一新页面有问题你能立刻切回旧版本而不是着急忙慌地重新生成。WorkBuddy 的本地预览端口会在发布前自动打开这个环节别跳过点开看一眼页面再决定是否真的发布。我见过有人图省事直接跳到发布结果发布出去是白屏——原因只是某个 JS 文件路径引用错了。预览这一步能挡住大部分低级错误。5. 进阶玩法会话共享、多智能体协作和自建 Agent用熟基本功能之后很多人会自然往更深的地方走能不能让不同 Agent 工具共享上下文多个 Agent 角色怎么配合实在不行能不能自己搭一个5.1 不同 Agent 之间的会话能不能互通经常有人问“Codex 可以直接读取其他 AI Agent 会话内容吗”答案是默认不可以。Codex 有自己的会话存储WorkBuddy 也有自己的 Session 体系它们之间没有透明的“记忆共享协议”。不同工具的会话数据存在各自的沙箱里互相读取既涉及格式不兼容也涉及权限问题。跨 Agent 的上下文传递我目前的实践是依赖文件而不是依赖会话。具体做法在工作目录下维护一个decisions.md记录每个关键决策的背景、结论、后续影响。WorkBuddy 每次开工都会先读这个文件如果需要把信息传递给 Codex我直接把文件丢给它就行。文件是天然的传输介质比“复制粘贴聊天记录”可靠得多。WorkBuddy 本身也支持 Session 导出导入这算是一个半官方的互通方式。但我的体会是与其费劲去保留完整会话不如把“决策”和“产物”结构化地沉淀到工作目录里。这才是能被多个 Agent 消费的长期记忆。5.2 从单个 Agent 到多智能体planner、coder、reviewer 怎么搭单 Agent 的局限在于一个会话里的上下文窗口有限而且一个角色既要拆任务又要写代码还要检查质量很容易“一条道走到黑”。当你开始追求更稳的产出质量时多智能体协作几乎是必然方向。我在 WorkBuddy 里搭过一个简单的角色分工用 Skill 来固化角色行为planner负责把目标拆成任务列表输出执行计划coder负责按计划生成和修改代码但不对整体方向负责reviewer负责审查代码检查是否有越权操作、是否有明显 bug、是否满足任务目标。用 Skill 配置的话大致是在planner的 SKILL.md 里写明“只负责拆解任务不写代码”在reviewer里写明“只审查不直接修改发现问题返回给 coder”。这样角色之间自然形成了“计划—执行—审查”的闭环。企业里做多智能体协作还有一些基建层面的问题要提前定好命名规范每个 Agent 产出的文件前缀或目录怎么定、权限边界哪些目录只有特定角色可写、日志审计每个 Agent 做了什么要留痕。这些听起来是管理问题但如果不提前约束Agent 多起来之后排查问题会非常痛苦。顺便说一句热搜里的“Jenkins AI Agent”和这里讨论的 AI Agent 不是同一个东西。Jenkins Agent 是 CI/CD 里用来执行构建任务的节点本质是分布式构建的执行单元AI Agent 则是具备认知和决策能力的智能体。两者可以结合但概念别混。5.3 想从 0 到 1 自建 Agent先把这四个组件想清楚如果你不想被某个平台绑定想从 0 到 1 搭自己的 AI Agent我的建议是先别急着写代码先把四个组件想清楚。第一模型底座。你需要确定用哪个大模型作为推理引擎。DeepSeek、Claude、GPT 都是选项选型的核心指标是“目标场景下谁更稳”而不是“谁的跑分高”。第二工具注册。Agent 不能空手干活它需要能调用函数、执行命令、读写文件。这一层就是“Agent 的手脚”。在 WorkBuddy 里对应的就是 Skill 和内置工具自建时你需要自己设计工具列表和调用协议。第三记忆存储。Agent 需要能记住对话历史、任务状态和决策过程。最简单的方案是文件系统加数据库但复杂场景需要向量检索。没有记忆层Agent 就成了金鱼。第四编排逻辑。这是最容易被新手低估的部分。任务是串行还是并行失败后重试还是中断改需求了怎么调整任务图这些都要在代码里明确定义。Java 技术栈的项目可以关注一下 Spring AI它把模型调用、工具注册这些基础能力封装得比较规整适合有一定后端基础的人快速起一个内部 Agent 原型。但我仍然建议先用 WorkBuddy 这类成熟工具跑通一个业务场景积累了对“任务编排”的真实感知后再决定要不要自建。直接上手自建你会发现大部分时间都花在基础设施上业务价值反而不高。如果已经有清晰的定制需求把 WorkBuddy 当作参照系在它跑通的流程上做起重构会是更务实的路径。最后分享一个我自己的习惯每次让 Agent 完成一个有复用价值的流程我都会顺手把它沉淀成一个 Skill。一次性的 Prompt 用完就散了只有固化成 Skill下次才能一键复用。再就是每周把工作目录里的decisions.md归档一次保持它的精简这样 Agent 的长期记忆就有锚点后续任务不会反复推翻前面的决定。
返回列表