尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

用wayfinder skill实现跨会话规划:AI编程实战教程

用wayfinder skill实现跨会话规划:AI编程实战教程 这次我们来看一个很有意思的方向用 wayfinder 这类 skill 思路让 AI 在跨会话场景下继续执行同一份工作计划。标题里带“实战教程”“任意规模工作”还有一个关键人物 Matt Pocock长期做 TypeScript 教学和技术实战内容熟悉前端工具链的同学应该不陌生。skill 是当前 AI 编程工具里非常热的关键词从 Claude Code、Codex 到各类开源 Agent 框架都在强调 skill 机制。你可以在热词列表里看到大量相关问题skill 是什么、skill 和 agent 的区别、skill 是不是高级 prompt、怎么编写 skill、skill 和 tool 怎么选。这说明大家已经不只是追概念而是真的想把它用进日常开发。这篇博客会围绕 wayfinder 这个跨会话规划类 skill把 skill 的基本理解、跨会话规划的价值、学习路径、自建模板和测试流程一次讲清楚。先说结论如果你经常遇到“AI 聊天窗口一关上下文就全没了”或者“同一个项目要分好几天做每次都要给 AI 重新交代背景”那么跨会话规划类 skill 值得投入时间研究。wayfinder 的核心思路是用一份持久化的规划文档把工作目标、任务拆分、当前进度和下一步动作固定下来让 AI 在每次新会话里都能快速恢复上下文继续推进而不是从头开始。1. 核心能力速览能力项说明面向问题AI 跨会话上下文丢失、大型任务无法在单次会话内完成核心思路用规划文档/任务清单作为持久化状态跨会话恢复上下文使用形态以 skill / 插件形式集成到 AI 编程工具或 Agent 工作流适用对象前端、后端、全栈开发者以及需要 AI 分阶段完成复杂任务的技术团队与 prompt 的关系不止是提示词模板而是包含触发逻辑、执行步骤、输入输出协议的完整工作流是否需要 GPU不涉及本地模型推理主要为工具链和流程设计运行依赖具体 AI 工具启动方式随 AI 工具加载 skill再按约定触发规划流程API 接口取决于所在工具平台一般以工具调用/插件接口形式暴露批量任务可以配合脚本或 CI 流程做任务队列但需要按实际工具能力设计学习成本中低会写 Markdown 和 JSON/YAML 配置就能上手说明一下wayfinder 的具体实现细节会因为教程版本和所在平台而不同所以上面这张表是按“跨会话规划类 skill”的通用能力整理的。真实部署时要以你安装的 skill 版本和宿主工具的实际文档为准。2. 为什么“跨会话规划”是 AI 编程里绕不开的问题当前主流 AI 编程助手普遍存在一个限制上下文窗口再大也不可能无限保存。你开一个新会话AI 就只知道你这次粘贴进去的内容。对于写一个函数、改一个样式这种小任务问题不大但遇到“给整个项目加上权限系统”“把旧接口迁移到新服务”“重构一个大型模块”这种需要多天完成的工作问题就很明显了。典型场景是这样的第一天你让 AI 分析项目结构产出了一份重构方案AI 明确了要改哪几个文件、先做哪一步、后做哪一步。第二天你继续打开编辑器新会话想让它开始实施第一步结果 AI 完全不知道昨天聊了什么。你又得把项目背景、技术栈、目标、约束条件重新讲一遍讲完可能对话轮次也差不多了根本没干多少活。跨会话规划就是来解决这个问题的。它不再把上下文寄托在聊天记录里而是把关键信息外置成一份文件。每次新会话开始时AI 先读取这份文件恢复“我在哪里、要去哪里、已经走到哪里、下一步做什么”然后继续执行。这么做的好处很直接不依赖单次会话长度不依赖聊天记录保存多个会话之间可以接力。从项目管理的角度看这其实就是把“需求文档 任务拆解 进度追踪”沉淀成了 AI 可读的格式。人需要项目文档代码需要 READMEAI 的跨会话工作也需要一份自己的“状态文件”。3. 理解 skill它不是高级 prompt而是一套可复用工作流热词里很多人在问“skill 是不是就是高级版的 prompt”。应该说skill 确实包含 prompt但远不止是 prompt。一个普通的 prompt 是“你是一个前端工程师请帮我优化下面这段代码”。它一次性使用依赖用户每次把上下文讲清楚。而一个 skill 是一套完整的可复用流程通常包含几个组成部分组成部分作用举例描述信息说明这个 skill 在什么场景下使用、解决什么问题用于跨会话项目规划适合多天开发任务触发条件什么时候激活这个 skill用户说“开始新任务”或“读取当前计划”执行步骤按什么顺序做什么事读取计划 - 检查目标 - 执行下一步 - 更新进度输入格式需要接收哪些参数项目路径、任务 ID、目标描述输出协议结果以什么格式返回输出计划文档、更新任务状态、生成小结持久化存储把状态存到哪里项目目录下的 .wayfinder/ 规划文件所以 skill 相当于给 AI 装了一个“工作方法包”。你告诉 AI“用这套流程来处理任务”它就不再是自由发挥而是按照固定步骤把结果存成固定格式。这种方式的好处是可复用、可调试、可分享。你写了一个好 skill换一个项目也能用团队里其他人也能用。3.1 skill 和 agent 的区别热词里也有人问“skill 和 agent 的区别”。一个更直观的理解方式agent 是执行者skill 是执行者手里的方法包。Agent 负责感知环境、做出决策、调用工具、执行动作。Skill 则是 agent 可以调用的能力模块。同一个 agent 可以挂载多个 skill比如一个负责代码生成一个负责代码审查一个负责跨会话规划。Skill 不决定 agent 的整体行为逻辑它只提供某个特定任务的执行流程。举个例子agent 接到任务“给项目增加登录功能”它先调用项目规划 skill 分析任务再调用数据库设计 skill 建表再调用代码生成 skill 写接口最后调用测试 skill 补用例。每个 skill 负责一个环节agent 负责调度。3.2 skill 和 tool 的边界另一个常见问题用知识库到底应该用 skill 还是 tool。Tool 更偏向“单项工具能力”比如执行 Shell 命令、读写文件、调用搜索引擎、调用外部 API。Skill 则偏向“多步骤工作流程”内部可能组合多个 tool。你可以在 skill 里定义“先读文件再分析代码结构最后写规划文档”每一步都是 tool 调用但串起来就成了 skill。判断标准很简单如果任务是单一动作用 tool如果任务是“按固定流程完成一件事”用 skill。跨会话规划明显属于后者。4. 从标题推演 wayfinder skill 的定位与工作方式从“wayfinder”这个名字来看它在英文里是“寻路者”的意思。结合“跨会话规划任意规模的工作”这个描述可以合理推断它的定位是充当 AI 的工作路径导航器。导航不是一次性给你一个答案而是持续告诉你下一步往哪走。更稳妥的判断是wayfinder 的典型工作方式大概包含这样几个环节初始化用户向 AI 描述最终目标AI 把它拆解成可执行的任务清单写入规划文件。持续跟踪每次会话中AI 读取当前进度执行计划中的下一个任务。状态更新完成一个任务后AI 更新规划文件把状态从“待处理”改为“已完成”并记录产出。复盘与重规划遇到阻塞或需求变化AI 根据新信息调整任务顺序和优先级。跨会话恢复新会话里AI 通过读取规划文件快速恢复上下文。这套机制的好处是任务的规模可以从一个很小的 bug 修复扩展到多模块重构、版本迁移、新功能开发。小任务只需要几步大任务则需要把规划文件里塞进更多任务节点。实际效果如何需要你在本地跑一遍教程里的示例才能确认。但从设计思路上看这种“以文件为状态中枢”的跨会话方案比依赖聊天窗口翻历史纪要可靠得多。5. 跟着教程落地的学习路径《Matt Pocock 实战教程用 wayfinder skill 跨会话规划任意规模的工作》是一个偏实战的教程而且标注了中英字幕。这意味着它的受众不只是英文流利的开发者中文开发者同样可以跟学。我的建议是不要直接从头到尾看一遍就完事而是按下面的路径走。5.1 第一遍先看演示建立整体认知第一遍可以快速浏览重点看作者在演示时处理了哪几个阶段。一般实战教程会演示一个完整流程从创建任务、初始化规划到逐步执行再到新会话恢复。你要记录的是作者在哪个工具里使用 wayfinder。作者用什么命令或自然语言触发 skill。规划文件被存在哪里。每个阶段 AI 做了什么、输出了什么。如果中途出错作者怎么处理。这里不需要记代码细节只需要知道整个工作流长什么样。5.2 第二遍跟着操作逐行复现第二遍要停下来跟着敲。准备好一个测试项目最好是一个你熟悉的小项目这样你能判断 AI 生成的规划是否合理。如果教程里给了完整的 skill 文件或配置就原样复制到本地先跑通再谈优化。实操时重点关注skill 文件放在哪个目录。需要在配置里注册什么。首次运行是否有依赖下载。你的工具版本和作者是否一致。中文字段和英文字段混用会不会导致解析问题。5.3 第三遍把 demo 改造成自己的流程跑通之后把示例里的规划字段改成适合自己的。比如你的项目需要“接口清单”“数据库变更记录”“测试计划”这些额外信息就在规划文档模板里加上对应段落。这一步才是真正把教程变成你自己的技能。6. 自建跨会话规划 skill 的通用模板如果你跟着教程跑完后想自己写一套类似的 skill下面这个通用模板可以当作起点。它不是 wayfinder 的官方实现而是一个结构示例你需要按实际工具平台的 skill 规范调整。6.1 skill 元信息配置name: cross-session-planner description: 跨会话任务规划器用于将大型开发任务拆解为可追踪的步骤并在多次会话之间保持进度一致。 version: 0.1.0 trigger: - 开始新任务 - 读取当前计划 - 更新进度 inputs: - name: goal description: 任务目标描述 required: true - name: project_dir description: 项目目录路径 required: true - name: scope description: 任务规模可选 small / medium / large required: false default: medium outputs: - name: plan_file description: 规划文档路径 path: .wayfinder/PLAN.md steps: - init_plan - execute_next - update_progress - restore_context6.2 规划文档模板# 项目规划 ## 目标 描述最终要达成的结果。 ## 全局约束 - 技术栈 - 不允许改动的模块 - 性能指标 ## 任务列表 ### [ ] 任务 1任务名称 - 状态待处理 / 进行中 / 已完成 - 前置条件 - 具体步骤 1. 2. - 产出物 - 阻塞项 ### [ ] 任务 2任务名称 - 状态待处理 - 依赖任务任务 1 ## 当前进度 - 上次会话结束位置 - 下一步动作 - 风险与决定记录6.3 最小可执行流程示意import os import json PLAN_PATH .wayfinder/PLAN.md def load_plan(project_dir): plan_file os.path.join(project_dir, PLAN_PATH) if not os.path.exists(plan_file): return None with open(plan_file, r, encodingutf-8) as f: return f.read() def init_plan(project_dir, goal): os.makedirs(os.path.join(project_dir, .wayfinder), exist_okTrue) plan f# 项目规划 ## 目标 {goal} ## 任务列表 待 AI 拆解后填充 ## 当前进度 - 刚刚创建规划。 with open(os.path.join(project_dir, PLAN_PATH), w, encodingutf-8) as f: f.write(plan) print(规划文档已创建)这个脚本只演示了“读取规划”和“初始化规划”两个动作。真实 skill 里AI 还需要按任务列表逐个执行、标记状态、生成小结。6.4 测试自建 skill 的检查清单检查项测试方法通过标准触发识别输入触发词看 AI 是否调用该 skill正确激活而不是自由发挥初始化规划给出目标和项目路径执行初始化规划文件生成内容包含目标任务拆解质量让 AI 拆解一个中等规模任务任务粒度适中不琐碎也不笼统状态更新完成一个任务后执行更新文档中状态被正确修改跨会话恢复新开会话请求读取当前计划AI 能正确汇报进度和下一步异常输入输入不完整参数给出友好提示不崩溃7. 跨会话规划工作流的工程化实现看教程的时候不能只停留在“AI 能读计划”这个层面。真正要落地还要把规划文件当成项目里的一等公民来管理。7.1 把规划文件纳入版本管理规划文件不只是给 AI 看的也是给人看的。把它纳入 Git 之后团队成员都能看到当前任务进展Review 时也更有依据。规划文件变更时应该和代码变更一并提交这样以后回溯“这个功能为什么这么做”就有据可查。7.2 用目录结构隔离任务上下文如果项目同时推进多个独立任务可以在 .wayfinder 下按任务分目录避免多个任务互相污染。.wayfinder/ current/ PLAN.md archive/ task-2024-01-15-auth-system.md tasks/ auth-system.md api-migration.md每个任务有自己的规划文档完成后归档。current 始终指向当前正在推进的任务AI 新会话只需要读取 current 下的文件不会读到一堆过期上下文。7.3 定义清晰的会话交接动作每次会话结束时给 AI 一个固定指令更新当前进度明确下一步。比如请总结本次会话完成的内容更新当前规划中的“当前进度”段落并说明下一次会话应该从哪个任务继续。这个动作看起来简单但非常重要。它是跨会话规划能持续跑起来的关键闭环。没有这个闭环规划文档会在第一会话之后逐渐失真。7.4 允许人工干预重规划AI 的规划可能考虑不周。遇到需求变化人应该直接修改规划文档而不是让 AI 继续按旧计划执行。规划文档是“人机协作的协议”不是 AI 的单方面输出。8. 常见问题与排查方法问题现象可能原因排查方式解决方案skill 未被触发触发词与描述不匹配检查触发条件和 skill 描述调整触发词或直接手动指定使用某 skill新会话无法恢复进度规划文件路径不固定或未被读取检查项目目录下是否有完整规划文件统一规划文件路径并给 AI 明确读取指令任务拆解过粗或过细缺少任务粒度的约束说明查看规划文档中的任务数量在 skill 描述中补充“任务应拆解到可在一个会话内完成”中文内容识别异常工具编码设置或模型分词差异检查规划文件编码和工具版本统一使用 UTF-8必要时在文件中附带英文关键词多个任务相互覆盖所有任务写同一个规划文件查看 .wayfinder 目录结构按任务分目录或增加任务 ID 隔离规划文件与代码脱节计划更新不及时对比代码变更和规划文件更新时间在会话结束前强制执行状态更新接口调用失败工具权限或网络问题查看宿主工具日志按工具文档检查权限配置和网络连通性AI 不按计划执行skill 执行步骤定义不清晰查看 AI 实际回复内容细化执行步骤增加每一步的预期输出要求这些排查思路不只适用于 wayfinder也适用于任何跨会话规划类 skill。核心原则是先看文件有没有写对再看 AI 有没有读到最后看执行是否按流程推进。9. 最佳实践与合规建议跨会话规划 skill 用起来有几个工程化习惯值得提前养成。第一第一次使用先在测试项目里跑通。不要上来就拿生产环境的大型仓库做实验。先在小项目里验证 skill 的触发、规划文件读写、跨会话恢复这三个核心环节都正常再逐渐增加任务规模。第二规划文件里不要写入敏感信息。如果你在规划文档里记录了数据库密码、API Key、内网地址而项目仓库又被同步到远端就会造成信息泄露。规划文件可以提交到仓库但内容必须经过脱敏。密码和密钥放到环境变量或密钥管理服务里而不是写进给 AI 看的文档。第三AI 生成的代码要人工审查。跨会话规划可以帮助 AI 更连贯地完成代码生成但不要让它在没有 review 的情况下自动合入主干。尤其是涉及权限、支付、用户数据的模块必须有人工复核步骤。第四版权和授权意识。如果你的项目使用了第三方组件或模型确保它们的许可证允许你当前的使用方式。若是公司项目还要遵循公司对 AI 辅助编码的合规要求不要随意把私有代码发送到未授权的外部服务。第五规划文档不是越细越好。任务拆到这个会话能完成、下一个会话能接上即可。拆得过细会增加维护成本AI 更新状态的时间甚至可能超过实际写代码的时间。第六定期人工 review 规划文件。AI 的状态更新有时会失真比如它认为自己完成了但实际上代码并没有提交。每隔几天检查一次规划文件与代码仓库的实际差异避免“文档很漂亮代码很混乱”的情况。10. 总结与下一步这次围绕 wayfinder 跨会话规划 skill 和大家聊完了技能背景、核心概念、学习路径、自建模板和排查方法。最值得动手做的一件事是把跨会话规划的思路落实到自己的 AI 工作流里哪怕不用 wayfinder只用一份 Markdown 规划文件加固定的收尾指令也能明显改善“新会话丢上下文”的问题。建议的第一步验证也很简单新建一个测试项目让 AI 写一个包含 5 到 8 个小任务的实施计划然后第一次会话只执行前 1 到 2 个任务更新状态后关掉会话重新打开新会话尝试让 AI 读取规划并继续。如果这次它能准确说出“当前完成了什么、下一步做什么”那么这个方向就值得深入。最容易踩的坑是规划文件写了但没做状态更新闭环。记住跨会话规划靠的是文件状态不是聊天记录。每天晚上或每个任务节点花一分钟让 AI 同步进度后续会省下大量重复沟通的时间。后续可以扩展的方向也很多把规划结果接入 CI、用脚本自动生成进度报告、让多个 AI Agent 各负责一个子任务并共享同一份规划、把成功项目的规划文档沉淀为模板库。这个领域的工具迭代很快但核心方法论是稳定的让 AI 的工作状态可以被持久化、可恢复、可追踪。这不只是一项操作技巧更是一种把 AI 从“问答工具”升级为“长期协作者”的思维方式。
返回列表