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

资讯详情

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

WorkBuddy实战:用上下文工程喂好大模型,搭建AI工作台

WorkBuddy实战:用上下文工程喂好大模型,搭建AI工作台 WorkBuddy 这名字最近在圈子里刷屏了。先是拿到数亿融资接着又放出“硬件加强版”的消息很多人的第一反应和我一样这不又是个 AI 编程助手吗但真上手之后我发现它的重点不在“写代码”本身而是把所有精力都砸在了“上下文”这件事上。标题里那句“瞄向你的终极上下文”不是营销话术它其实点出了一个非常根本的问题——大模型不是记忆差而是大家根本不知道怎么把上下文喂好。这篇文章我不想复述新闻而是从实际使用角度拆一拆WorkBuddy 到底解决什么问题、它的上下文工程思路怎么落地、个人工作台怎么搭、有哪些坑需要避。1. 从融资新闻说起为什么大家都在抢“上下文”这块蛋糕1.1 大模型不是变笨了是上下文没喂对先说一个很多人的误区。用 AI 写代码或者做分析时遇到答案飘、逻辑乱第一反应经常是“模型能力不行”。但在真实项目里绝大多数问题出在上下文使用方式上。大模型本身有一个固定的上下文窗口比如 128K、200K甚至现在不少模型做到了 1M。窗口越大能同时参考的信息就越多但“能放的量”和“放什么、怎么放”是两码事。就算窗口有 200K如果你把 150K 都塞进无关日志、重复代码片段剩下 50K 才是真正有用的业务逻辑那模型自然容易被噪声带偏。再加上生成结果时会引入随机性也就是所谓的“温度”参数上下文里信息次序颠倒、关键约束被淹没模型就会产生“幻觉”一本正经地编出根本不存在的接口或配置。这也是为什么现在“上下文工程”这个概念越来越热。提示词工程解决的是“一句话怎么说”而上下文工程解决的是“模型在推理时到底应该看到哪些材料”。WorkBuddy 的核心视角恰好落在后者上面所以资本才会给真金白银——它赌的不是模型本身变强而是模型变强之后谁能帮用户把上下文组织得更好。1.2 WorkBuddy 到底是个什么东西从功能定位看WorkBuddy 可以理解为一个以“上下文资产”为中心的 AI 工作台。它不仅仅是你问一句、模型答一句的聊天窗口更像是一个能帮你筛选、组合、保存和复用上下文的管理系统。它和常见的 CodeBuddy、Cursor 这类工具不太一样。Cursor 的核心是“编辑器 模型”WorkBuddy 给人的感觉是“上下文管道 模型”。也就是说WorkBuddy 更关心你把哪些文件、哪些业务规则、哪些知识片段喂给模型以及这些上下文能不能被沉淀下来反复使用。它甚至提供了 Skill 机制、连接器体系比如把 Obsidian 笔记、钉钉多维表、项目文档这些乱七八糟的信息源统一接进来再按任务需求动态打包成一份干净上下文。而“硬件加强版”这一波从我的理解来看是给本体配了一个本地端侧模块用于做上下文索引、敏感信息过滤和长文本压缩。简单讲它不等同于一个物理设备而是让一部分上下文处理发生在本地硬件上减少云端传输提升隐私性和响应速度。这对于企业级用户和长文档场景来说是个非常实际的增量。2. 核心设计拆解WorkBuddy 的“上下文工程”思路2.1 从“提示词拼接”到“上下文工程”很多人第一次用 AI 工作台习惯性做法是把所有资料往输入框里一贴然后写一句“帮我分析”。这种做法不是错而是太粗糙了。上下文工程的核心在于“结构化”和“顺序化”。结构化是说你要让模型知道哪些是背景、哪些是现状、哪些是目标、哪些是硬约束。顺序化是说模型对上下文不同位置的注意力不同通常开头和结尾的内容更被重视中间容易遗漏。WorkBuddy 的处理方式是把这些规则用可视化的流程固定下来而不是让你每次手动调整。举个例子我在做一个历史代码库的注释生成任务时旧做法是把十几个文件全部丢进去结果模型经常把旧接口和新接口搞混。后来在 WorkBuddy 里我建了一个代码理解工作流结构是第一段放项目 README告诉模型项目是什么第二段放目录树让模型知道有哪些模块第三段放当前文件的核心函数第四段放项目里明确要求的命名规范最后再附加一个输出格式模板。这样模型在生成注释时每一步推理都有对应依据幻觉出现的频率大大降低。2.2 硬件加强版解决的是什么问题硬件加强版在 WorkBuddy 整个产品逻辑里解决的是三个具体痛点。第一个是隐私。企业里很多代码和文档不能直接传云端但 AI 助手如果完全离线模型能力又太弱。WorkBuddy 的本地模块会把上下文进行预处理比如提取摘要、脱敏敏感字段只把必要的片段送进大模型。这相当于在“数据出不去”和“模型必须聪明”之间找平衡。第二个是长文本的效率。一个大项目可能有几万份文件如果每次都要把整个向量索引拉起来响应会非常慢。硬件加强版通过端侧缓存和向量索引让高频上下文留在本地冷门文件走云存储按需调取。我在实测里最明显的感觉是切换多项目时不需要重新加载全部语料速度比纯云端方案快了不少。第三个是“终极上下文”的持续性。普通对话工具换个会话就忘了前因后果WorkBuddy 把上下文作为持久化对象存储下来硬件加强版进一步把这些对象落到本地盘里。你用过的每一个项目、每一条决策记录都可以被复用这才是它敢说“终极上下文”的底气。3. 上手实操5 分钟搭好 WorkBuddy 个人工作台3.1 安装与本地部署WorkBuddy 的安装方式和大多数现代开发工具类似。官方支持 Windows、macOS 和 Linux其中 Linux 版在 Ubuntu 上的表现最稳。我当前用的是硬件加强版拿到手是一个本地服务加上客户端的方式客户端负责交互本地服务负责上下文索引。初次安装时有几点值得注意安装路径尽量不要包含中文和空格虽然软件层面支持但后面配一些运行时环境容易出问题首次启动会要求初始化数据目录默认会在用户主目录下创建一个带点的文件夹通常叫.workbuddy不要手欠去改名字如果在 Linux 上安装需要确保系统已经有 Python 3.9 和 Node.js 16因为某些内置连接器依赖它们。如果你不想用客户端也有网页版。不过网页版和本地版的核心区别在于本地版可以把大体积语料索引放到本机硬件上网页版更轻量但长任务响应稍慢。安装完成后第一件事是检查服务状态。在终端输入workbuddy status如果看到类似“indexer running”的字样就说明基础环境没问题。3.2 工作台目录结构为什么目录前面有个点打开.workbuddy目录后你会看到里面有几个子目录和配置文件。新手最容易迷惑的是为什么项目文件夹的名字前面也有个点比如.workbuddy或者以点开头的项目配置。这个设计其实是 Unix 系统的惯例。以点开头的文件默认是隐藏文件不会出现在普通目录列表里也不容易被误删。WorkBuddy 用这种方式把自己和项目代码分开保持工作区整洁。目录内部通常会分成contexts/、skills/、connectors/、logs/几个部分。contexts/存放你已经保存的上下文项目比如某个技术调研、某次故障分析skills/放自定义指令模板connectors/放各种数据源连接配置logs/则保存操作日志排查问题时主要看这里。我一般会在每个业务项目的根目录下也放一个.workbuddy配置里面用include和ignore指定哪些文件可以被纳入上下文。比如include: - src/** - docs/** ignore: - node_modules/** - dist/** - .git/**这样每次 AI 读取项目时就不会把node_modules里几千个文件全部拖进来既省 token 又减少噪声。3.3 第一个上下文任务搭好工作台后可以用一个最简单的任务来验证流程。假设你有一个 Python 项目想让 AI 帮你生成所有函数的使用说明。在 WorkBuddy 界面里新建一个任务给它命名为“生成模块使用说明”然后选择这个项目的.workbuddy配置作为上下文来源。系统会自动读取配置里包含的目录并生成一份“上下文清单”。接下来你只需要在指令区输入请基于项目代码为每个公开函数生成一份使用说明包含参数类型和返回值含义。只写结论不讨论代码风格。这时你会发现WorkBuddy 并没有直接把所有代码都发给模型而是先展示了一份“将发送给模型的上下文摘要”里面列出了关键文件、函数列表和总字符数。你可以手动勾选哪些文件要进哪些不进。这个步骤特别重要因为它逼着你去思考AI 真正需要的信息是什么。提交后模型生成的说明文件会被存放在contexts/下便于下次直接引用。整个过程不到五分钟但你已经完成了一次完整的“上下文构建 → 模型推理 → 结果沉淀”。4. 把上下文喂给 AI指定、保存、复用4.1 上下文指定给 AI 划定作业范围“指定上下文”听起来很抽象但在 WorkBuddy 里就是一套非常具体的操作。你可以通过三种方式指定上下文基于目录让 AI 读取某个项目目录下的所有允许文件基于规则通过 glob 表达式匹配文件类型比如**/*.md只看文档基于连接器从 Obsidian 某个笔记本或钉钉某张多维表拉取内容。这三种方式可以叠加。我经常做的是先选项目目录再排除测试文件再挂上一份公司规范文档。这样模型既有代码上下文又有业务约束。要注意的是上下文指定不等于全部塞进去。WorkBuddy 还有一个“关键信息抽取”的预处理步骤它会先扫描所有候选文件提取出与任务最相关的段落。这个设计很实用因为很多文件虽然存在但真正有信息价值的可能就那么几行。在实际操作中我建议每个任务指定上下文时都要问自己三个“为什么”为什么模型需要这个文件这个文件里哪部分和当前目标强相关有没有可能用摘要替代原文带着这三个问题做筛选上下文质量会高很多。4.2 Skill 机制与自定义指令Skill 是 WorkBuddy 最有可玩性的部分。简单理解它就是把一套“指令 上下文逻辑”打包成一个可供复用的按钮。比如我经常写技术周报以前需要手动告诉 AI我的项目背景是什么、这周做了什么、遇到什么风险。有了 Skill 之后我把这些规则写进skills/report.st.md文件里里面定义了输入变量、输出模板和上下文来源。--- name: 技术周报生成 description: 根据本周提交记录生成结构化周报 input: week: 本周日期 context: - repo: workspace/my-project - doc: docs/team-notes.md --- 请基于 {{week}} 的 git 提交记录生成一份技术周报包含 1. 本周核心进展 2. 研发重点 3. 风险与建议 输出格式使用 Markdown并从团队文档中补充背景信息。每次要生成周报时直接调用这个 SkillWorkBuddy 会自动拉取对应项目的 git log 和团队文档把它们拼成上下文再交给模型。也就是说你不再重复告诉 AI“背景是什么”因为 Skill 已经把背景固化了。自定义指令的核心理念是把“你经常说的话”变成“一个命令”。那些写得很好的规则保存下来就是你自己的知识资产。4.3 连接器打通 Obsidian、钉钉、多维表连接器是我认为 WorkBuddy 从“好用”到“不可或缺”的关键因素。没有连接器之前我的个人知识分散在 Obsidian 笔记、飞书文档、代码仓库和本地备忘录里每次让 AI 参考资料都要手动导出流程极其痛苦。WorkBuddy 的连接器体系类似数据管道。我在本地配置了一个 Obsidian 连接器指定了一个笔记目录作为知识源。之后每次创建任务时我可以直接引用这个连接器WorkBuddy 会自动同步笔记内容并做向量化。同步频率可以设置我一般设置 15 分钟增量同步避免每次读取都全量扫一遍。如果是钉钉多维表则适合放那些需要实时更新的业务数据比如任务状态、排期。连接器配置界面很简单本质上是让你填写源的访问地址和认证 token。但有一个坑认证字段一定要单独保存不要直接写进.workbuddy/config.yml里否则代码仓库共享时会泄露密钥。WorkBuddy 支持环境变量引用建议用${DINGTALK_TOKEN}这种方式。在实际使用中我的推荐是“最小连接原则”不要一次接七八个数据源。因为每多一个源模型要处理的候选上下文就多一层反而容易干扰推理。把最常用的两三个源接好比全量接入更有价值。5. 实战案例用 WorkBuddy 完成 UI 自动化任务5.1 任务准备拆解需求与收集上下文纸上谈兵不如跑一个完整例子。我最近接了一个内部系统的 UI 自动化任务需求是在某个 Web 管理后台自动完成用户创建、权限赋值、登录验证三个流程。这个需求不复杂但涉及的元素定位、业务步骤和测试账号信息分散在不同文档里。第一步是在 WorkBuddy 里创建一个新任务命名为“后台 UI 自动化脚本”。然后我用连接器拉取了项目文档、前端页面目录和历史测试脚本三个上下文来源。这里要注意历史测试脚本非常关键因为它的写法能代表团队既有风格让 AI 生成的脚本更容易合入代码库。第二步是人工把关。WorkBuddy 会列出将要发送给模型的上下文清单我发现其中一个文档是最早期的过期版本里面很多字段名已经改了于是手动取消勾选。这个动作虽然小但避免了模型基于过时接口生成代码。第三步是编写指令。我用的指令比较具体请根据提供的页面目录和测试文档用 Playwright 写一个 Python 自动化脚本。 要求 1. 使用 fixture 风格管理登录态 2. 对每个关键操作加上显式等待 3. 用户创建和权限赋值步骤拆成独立函数 4. 脚本最后输出执行结果到 reports/ui.log。5.2 从需求到可执行脚本的完整过程提交后WorkBuddy 先将上下文里的页面目录、文档摘要和历史代码风格分析结果发给模型。模型生成的初版 script 结构基本符合要求但在权限赋值那一步它选了旧版的role_id字段。因为我在上下文里保留了一个旧文档的摘要模型被误导了。这时候我没有直接改代码而是在 WorkBuddy 里追加了一条指令“权限赋值请参考最新版本的用户管理接口定义具体连接器为 docs/latest-api.md”。系统会重新检索到更新后的文件然后替换掉旧上下文再让模型重新生成那一段逻辑。整个过程的亮点在于我不需要重开对话也不需要丢弃已有上下文WorkBuddy 可以对上下文进行“局部替换”。这比普通对话工具先进不少。最终生成的脚本只有两百多行加上自己微调的两个等待时间参数就直接跑通了。整个过程包括准备材料大约花了四十分钟。如果用纯手写的方式至少要一个半天。这里我总结几条实战经验旧的接口文档宁可不要也不要留在上下文里模型会被文档的语气带偏页面目录最好以树状图形式传入比上传一张截图更有效务必让模型生成“输出报告”步骤否则自动化脚本跑完你连失败在哪都不知道。6. 常见问题与避坑实录6.1 上下文超限怎么处理尽管窗口很大但上下文超限依然会发生尤其是当你把大文件、图片、PDF 全部塞进去时。WorkBuddy 会有一个“上下文进度条”提示当前任务已使用的字符比例。一旦超过阈值优先做三件事切换为“摘要模式”让系统先压缩长文档删掉不再需要的中间分析结果把一些原始数据放到本地索引中只让模型读取索引结果。如果已经报错最简单的方法是拆分任务。比如原来要同时分析十个文件改成三个任务让每次推理只聚焦一个文件组。WorkBuddy 的上下文是可以保存为资产的拆出来的任务结果可以合并到最终输出里并不会浪费之前的工作。6.2 WorkBuddy 和 CodeBuddy 怎么选这可能是很多人最纠结的问题。从命名和功能看两者确实有重叠都支持代码生成、仓库问答。但我做过一段时间对比后有比较明显的倾向如果你只想在一个编辑器里无缝写代码、快速补全CodeBuddy 的编辑器集成体验更顺手如果你更关心跨工具的资料整合、知识库同步、长链路的上下文管理WorkBuddy 更强。换句话说CodeBuddy 是“帮你写代码”WorkBuddy 是“帮你想清楚让 AI 看什么”。两者不冲突我现在的方案是编辑器里用 CodeBuddy 做快速补全遇到复杂任务、跨文档调研时切到 WorkBuddy。6.3 其他容易踩的坑再分享几个我实际遇到的细节问题。第一目录前面有个点的问题。如果你在某个项目根目录里建了.workbuddy配置但 Git 仓库的.gitignore没放行这个文件提交代码时配置不会同步给同事会造成别人拉下来后上下文规则对不上。解决办法是在.gitignore里加入!.workbuddy。第二连接器同步失败经常是 token 过期引起的但日志里不会直接显示“token expired”而是显示“connection reset”。遇到这种情况先检查连接器的认证信息再检查网络代理设置不要盲目重装。第三模型生成的内容如果一直偏长往往不是模型问题而是你的指令里没有限定“输出长度”。在 Skill 模板里加一行“输出不超过 500 字”能省很多事。第四Linux 版如果遇到权限问题不要直接用sudo运行 WorkBuddy 客户端。正确做法是把数据目录的所有权改回当前用户sudo chown -R $USER .workbuddy不然会留下很多奇怪的文件权限错误。第五硬件加强版的本地索引不要在低电量状态下强制关机。如果索引文件损坏下次启动会重新全量构建非常耗时。正常退出客户端等索引任务结束再关机是最稳妥的。我个人在实际操作中的体会是WorkBuddy 真正有价值的地方不在于它有多聪明的模型接入而在于它逼着你把“AI 需要什么信息”这个问题想清楚。以前我在对话框里来回调试浪费了大量 token现在先把上下文梳理干净一次成功率反而高了很多。最后再分享一个小技巧每周抽十分钟回顾一下.workbuddy/contexts里保存的历史任务把还能复用的上下文整理成新的 Skill长期积累下来你的个人工作台会比任何别人的模板都好用。
返回列表