Pro Workflow:让AI编程助手拥有持久记忆,告别重复纠正
1. 项目概述:从重复纠正到智能协作的进化
如果你用过Claude Code、Cursor这类AI编程助手超过一周,大概率会和我有同样的感受:它确实能帮你写代码,但你也得像个复读机一样,一遍又一遍地纠正它。周一你刚说完“测试里别用Mock数据库,用内存数据库”,周五它又给你生成了一堆Mock。你每次开启新会话,都得重新解释一遍项目的命名规范、代码风格、甚至是你个人的编码偏好。这种“金鱼记忆”式的交互,让AI助手本该带来的效率提升大打折扣,大量时间被浪费在重复沟通上。
这正是我深度使用AI编程助手几个月后遇到的核心瓶颈。直到我发现了 Pro Workflow ,一个开源的Claude Code插件,它彻底改变了我和AI协作的模式。它的核心思想很简单,却极其强大: 让AI助手拥有“记忆” 。它通过一个本地的SQLite数据库,记录下你每一次的纠正、每一次的解释、每一次的规则。当下一次会话开始时,这些“记忆”会被自动加载,AI助手会基于你过去的指导来生成代码。这意味着,你的每一次纠正都不是徒劳的,而是在为未来的高效协作“投资”。
想象一下,经过50次会话后,Claude已经熟知了你项目的技术栈、代码规范、甚至是你对特定问题的处理习惯。它不再需要你反复提醒,生成的代码越来越贴合你的预期,你的角色从“监工”逐渐转变为“架构师”和“审核者”。Pro Workflow通过一套精密的技能、代理、命令和钩子脚本体系,将这种“自我纠正循环”变成了现实。它不仅仅是一个插件,更像是一个为你和AI助手量身定制的“协作操作系统”,涵盖了从任务拆解、并行开发、代码审查到成本监控的完整开发生命周期。
2. 核心设计理念:构建可积累的智能工作流
Pro Workflow的设计哲学深深植根于对AI辅助编程痛点的深刻洞察。它不是简单地将一堆功能堆砌在一起,而是围绕几个核心原则构建了一个有机的、可进化的系统。
2.1 核心理念:从“纠正”到“规则”的转化
传统AI编程助手的交互是线性的、无状态的。你输入指令,它生成代码,你纠正错误,然后循环往复。Pro Workflow引入了一个关键的中间层: 规则引擎 。它的核心工作流可以概括为“观察-学习-应用”的闭环。
- 观察与捕获 :当你使用
/learn-rule命令,或在日常对话中用特定格式(如[LEARN]块)指出一个错误时,Pro Workflow的钩子脚本会捕获这个交互。 - 学习与抽象 :系统(或由你确认)会将这个具体的纠正案例,抽象成一条可复用的规则。例如,从“这次别用
console.log”抽象为“生产代码中禁止使用console.log,应使用日志库”。 - 存储与索引 :这条规则会被结构化地存入SQLite数据库,并利用FTS5(全文搜索)建立索引。这意味着规则可以通过关键词(如“测试”、“数据库”、“日志”)被快速检索。
- 应用与预防 :在每次会话开始时,
SessionStart钩子会自动加载所有相关的、或全局的规则,并将其作为上下文的一部分提供给Claude。这样,在Claude生成代码之前,它就已经“知道”了你的偏好和禁忌。
这个过程的威力在于 复合效应 。初期你可能需要手动创建几条核心规则,但随着使用,系统会自动建议从常见纠正中提取规则。几十个会话后,你的规则库已经相当丰富,Claude犯重复错误的概率会急剧下降。这就像是为AI助手编写了一本不断完善的、专属项目的“编码规范手册”。
2.2 架构解析:模块化与事件驱动
Pro Workflow的架构清晰地区分了“做什么”和“怎么做”,采用了高度模块化的设计。
- 技能 :这是“做什么”的原子能力。例如,“自我纠正循环”是一个技能,“智能提交”是另一个技能。每个技能都是独立的、可复用的逻辑单元,描述了要完成的一项具体任务或要遵循的一种模式。
- 代理 :这是“谁来做”。代理是拥有特定角色和权限的AI实例。例如,
planner代理负责拆解任务(只读模式,防止它直接修改代码),reviewer代理负责代码审查(自带检查清单)。你可以将不同的技能分配给最适合的代理来执行。 - 命令 :这是用户与系统交互的入口。例如,
/develop命令触发一个多阶段开发流程,/wrap-up命令启动会话收尾程序。命令通常是一个复杂工作流的快捷方式,背后会调用一个或多个代理和技能。 - 钩子脚本 :这是“在什么时候做”。Pro Workflow定义了24个关键事件,如
SessionStart、PreToolUse、PostToolUse、PermissionDenied等。在这些事件触发时,对应的钩子脚本会执行。这是实现自动化、无感化集成的关键。例如,PostToolUse (Edit)钩子会在每次编辑后自动检查代码中是否遗留了console.log或明文密码。
这种架构的优势在于极强的可扩展性和灵活性。你可以像搭积木一样,组合不同的技能和代理,通过命令来触发,并由事件系统在恰当的时机自动执行相关逻辑。它把零散的、手动的操作,编织成了一个自动化的、智能的工作流网络。
2.3 上下文工程:在有限的“记忆”里做文章
所有AI模型都有上下文窗口限制。Pro Workflow的“上下文工程”技能提供了一套系统的方法来管理这个宝贵资源,其核心是 Write/Select/Compress/Isolate 四步法。
- Write :有策略地向上下文中写入内容。不是一股脑塞进所有文件,而是优先写入架构图、核心接口、当前任务相关的规则。
- Select :在需要引用时,精准选择相关的代码片段或文档部分,而不是整个文件。Pro Workflow的搜索和规则加载机制帮助实现了这一点。
- Compress :当上下文接近饱和时,对非核心但仍有用的信息进行压缩。例如,将一段复杂的业务逻辑总结成几句话的描述。
- Isolate :将探索性、实验性的工作隔离到并行的Git工作树中,避免其污染主会话的上下文。这通过
/parallel命令和worktree代理来实现。
更重要的是,Pro Workflow v3.2 引入了 Compact Guard 功能。Claude Code在上下文过长时会自动进行“压缩”,这可能导致关键信息丢失。Compact Guard 会在压缩前( PreCompact 钩子)主动将最重要的状态信息(如当前任务目标、已加载的核心规则)保存起来,并在压缩后( PostCompact 钩子)重新注入一个精简的摘要,从而在压缩周期中保护了工作流的连续性。
3. 核心功能深度解析与实战配置
Pro Workflow的功能集非常庞大,但我们可以将其核心价值归纳为几个关键场景。理解这些场景下的功能如何协同工作,比单纯记忆命令列表更重要。
3.1 自我纠正与持久化记忆
这是Pro Workflow的基石。实现它主要依靠两个部分:数据库和钩子。
数据库层 :项目使用SQLite,这是轻量级、零配置的完美选择。它本地存储,无需网络,速度极快。 src/ 目录下的TypeScript代码负责与数据库交互,定义了“学习记录”的数据结构,通常包含规则内容、创建时间、相关关键词、触发次数等字段。FTS5全文搜索扩展使得 /search testing 这样的模糊查询变得高效。
钩子层 :多个钩子共同构建了学习循环。
UserPromptSubmit钩子:分析你的提示,如果检测到纠正性语言(如“不要”、“应该”、“错误”),会提示你是否将其保存为规则。PostToolUseFailure钩子:当工具调用失败(如测试运行失败)时,自动分析失败原因,并建议创建一条防止此类失败的规则。Stop钩子:在会话结束时,会自动扫描会话记录,提取所有被[LEARN]标记的文本块,并将其存入数据库。
实操配置心得 :
初期不要贪多。建议先从最让你头疼的3-5个重复问题开始。例如,为你的项目创建第一条规则:
在编写单元测试时,使用内存数据库(如SQLite :memory: 或测试容器),禁止使用Mock模拟数据库连接。将这条规则通过/learn-rule命令保存。你会立即在接下来的测试编写任务中看到效果。规则描述要具体、可操作,避免模糊的“写好代码”这类表述。
3.2 智能多阶段开发流程
/develop 命令是Pro Workflow的旗舰功能,它将一个复杂的特性开发分解为有门控的多个阶段,通常由 orchestrator 代理来协调。
- 研究阶段 :
orchestrator会调用scout代理(在独立工作树中)去探索可行性、调研库的API、评估不同方案。scout是“信心门控”的,只有它认为方案可行时,才会将研究报告提交回来。 - 计划阶段 :基于研究报告,
orchestrator会与planner代理协作,将特性拆解成具体的、可执行的任务清单,并估算每个任务所需的上下文和可能的风险。 - 实施阶段 :
orchestrator根据任务清单,在主线或新的并行工作树中逐步实施。PreToolUse钩子会在此阶段检查质量门禁(如是否有足够的测试)。 - 审查阶段 :实现完成后,
orchestrator将代码交给reviewer代理进行审查。reviewer会依据内置的检查清单(安全性、性能、代码风格)和已加载的项目规则提出修改意见。
关键技巧 :
使用
/parallel命令在“研究”或“实施”大型模块时创建并行工作树。这能让你的主会话上下文保持干净,专注于当前的核心任务。orchestrator可以同时管理多个工作树中的代理进度。记住,工作树是廉价的,混乱的上下文是昂贵的。
3.3 成本感知与优化
随着AI编码的深入,token消耗成本不容忽视。Pro Workflow的 Cost Tracker 和 MCP Audit 功能提供了清晰的洞察。
- Cost Tracker :它并非直接调用计费API,而是通过估算上下文窗口使用量、输入/输出token数量(基于模型上下文长度和消息历史进行启发式估算),来提供相对的成本趋势和对比。例如,它会告诉你“本次会话的估算token消耗比平均高30%,主要原因是引入了三个大型的第三方库API文档”。
- MCP Audit :这是很多用户忽略的“隐形成本”。每个MCP服务器在每次请求时都可能产生大量的token开销(用于构造工具调用参数和解析结果)。MCP Audit功能会分析你已配置的MCP服务器,评估其token效率,并提示冗余或低效的配置。它的核心建议是: 从3个最核心的MCP开始(如
context7查文档、playwright做浏览器测试、GitHub管理仓库),仅在有明确、频繁需求时才添加新的 。
配置建议 :
定期运行
/mcp-audit。我发现自己曾同时加载了filesystem、github和git三个与代码仓库相关的MCP,它们功能重叠,造成了不必要的开销。审计后,我移除了filesystem,因为githubMCP在大多数场景下已足够。这个简单的调整,让我的平均会话token使用下降了约15%。
3.4 权限调优与安全防护
频繁弹出的权限请求(“是否允许运行此命令?”)会严重打断心流。Pro Workflow的 Permission Tuner 通过分析 PermissionDenied 钩子记录的历史拒绝模式,来帮你优化权限规则。
例如,如果你多次拒绝过 rm -rf node_modules 这类危险命令,但经常允许 rm -rf dist 或 rm -rf .next (构建输出目录),Permission Tuner 就会学习到模式,并建议生成一条更智能的规则: 允许删除以 dist , .next , .nuxt , build 结尾的目录,但拒绝删除 node_modules , .git 等核心目录 。你可以将这些建议规则整合进 settings.json 的 permissionRules 部分,从而实现更精细、更自动化的安全控制。
安全模式 : /safe-mode 命令是一个总开关。开启后,它会强化所有破坏性操作的确认步骤,并为 planner 、 scout 等代理施加更严格的“只读”或“需批准”限制,非常适合在探索未知代码库或进行重大重构时使用。
4. 从零开始:安装、配置与核心工作流实战
4.1 环境准备与安装
Pro Workflow的安装非常灵活,支持多种AI编码环境。
对于Claude Code用户(推荐) : 这是最原生的体验。在Claude Code的聊天窗口中直接输入插件安装命令即可。
/plugin marketplace add rohitg00/pro-workflow
/plugin install pro-workflow@pro-workflow
安装完成后,Claude Code会自动识别并加载插件。你可以在设置中看到 pro-workflow 的相关配置项。
对于Cursor用户 : Cursor同样支持类似的插件系统。
/add-plugin pro-workflow
跨平台支持(通过SkillKit) : 如果你使用其他AI编码代理(如Windsurf、Codex CLI等),可以通过SkillKit这个通用CLI工具来安装和适配。
# 安装SkillKit(如果尚未安装)
npm install -g skillkit
# 通过SkillKit安装Pro Workflow
npx skillkit install pro-workflow
# 为特定代理(如Cursor)翻译配置
npx skillkit translate pro-workflow --agent cursor
SkillKit就像一个“适配器”,它会将Pro Workflow的技能和配置转换成目标代理能理解的格式。
手动安装(高级用户) : 如果你想深入了解其结构或进行定制,可以克隆仓库并手动复制模板。
git clone https://github.com/rohitg00/pro-workflow.git /tmp/pw
cp -r /tmp/pw/templates/split-claude-md/* ./.claude/
cd ~/.claude/plugins/*/pro-workflow
npm install
npm run build
手动安装能让你接触到最原始的技能、钩子脚本和配置模板,适合深度定制。
4.2 初始配置与核心设置
安装后,首要任务是配置 settings.json 。项目根目录下的 settings.example.json 是一个功能齐全的模板。我建议先复制一份,然后根据你的需求调整。
关键配置项解析 :
-
permissionRules(权限规则) :这是保障安全的核心。模板中已经预置了一些明智的规则。你需要根据你的工作习惯增删。例如,如果你经常需要清理Docker,可以添加"allow": ["docker system prune -f"]。规则支持通配符和正则表达式,可以实现非常精细的控制。 -
outputStyle(输出风格) :定义Claude回复的格式。你可以设置为"concise"(简洁)、"detailed"(详细)或"educational"(教育性,会解释原因)。初期建议用"detailed",熟悉后切换到"concise"以节省上下文。 -
autoCompact(自动压缩) :设置上下文长度阈值。例如,“threshold”: 120000表示当上下文token数超过12万时,触发压缩提醒。配合compactGuard使用,可以平衡上下文容量和信息保留。 -
spinnerVerbs(等待动词) :这是一个有趣的个性化设置。它定义了Claude在“思考”时显示的动态动词。你可以把它改成任何你喜欢的词数组,比如["正在构思", "努力编码", "检查规范", "优化逻辑"],让交互更有趣。
MCP服务器配置 : mcp-config.example.json 提供了推荐的MCP服务器列表。我强烈建议遵循 “从3个开始” 的原则。我的基础配置是:
context7: 用于实时查询项目文档、库API,不可或缺。playwright: 进行端到端测试,比用文字描述浏览器行为高效得多。github: 管理Issue、查看PR、搜索代码历史。
只有在需要执行特定任务时(比如需要连接Jira),才临时添加对应的MCP,任务完成后记得注释掉或移除,以保持上下文清洁。
4.3 核心工作流实战演练
假设我们现在要为一个Node.js后端项目添加用户认证功能。让我们用Pro Workflow来走一遍标准流程。
第1步:启动智能开发流程 在项目根目录,输入:
/develop add user authentication with JWT and role-based access control
orchestrator 代理会被触发。它会首先进入 研究阶段 ,自动创建一个并行工作树,派遣 scout 代理去调研Node.js下常用的JWT库(如 jsonwebtoken 、 passport-jwt )、密码哈希库(如 bcrypt )、以及RBAC的实现模式。几分钟后,它会带回一份简洁的报告,比较不同方案的优劣。
第2步:审查计划并实施 研究阶段结束后, orchestrator 会生成一个详细的 实施计划 ,可能包括:
- 安装必要的依赖包。
- 创建用户模型和数据库迁移。
- 实现注册、登录、JWT签发与验证的中间件。
- 实现基于角色的权限检查中间件。
- 为以上功能编写单元和集成测试。
这个计划会呈现在你面前等待确认。确认后,进入 实施阶段 。 orchestrator 会按部就班地执行每个子任务。在此过程中, PreToolUse (Bash) 钩子会在运行 npm install 前检查 package.json 变更; PostToolUse (Edit) 钩子会在每次编辑后扫描是否有硬编码的密钥(通过LLM Gate的Secret Detection)。
第3步:代码审查与提交 所有代码生成完毕后,进入 审查阶段 。 reviewer 代理会运行代码,检查安全漏洞(如JWT密钥强度、密码哈希次数)、代码风格一致性,并运行测试套件。它会生成一个审查报告。
通过审查后,使用 /commit 命令。这是一个“智能提交”流程:
- 质量门禁 :自动运行测试、lint检查。如果失败,提交会被阻止。
- 暂存区审查 :Claude会展示diff,并建议将一些自动生成的样板代码(如多余的注释、临时日志)从提交中移除(
/deslop技能在此发挥作用)。 - 生成提交信息 :基于改动内容,自动生成符合Conventional Commits规范(如
feat(auth): add JWT-based authentication and RBAC)的提交信息。
第4步:会话收尾与学习 功能完成并提交后,运行:
/wrap-up
这个命令会执行“收尾仪式”:
- 总结本次会话的变更。
- 提示你从本次会话中提取1-2条最重要的经验作为规则保存(例如:“在JWT中间件中,必须从HTTP头
Authorization: Bearer <token>中提取令牌”)。 - 将本次会话的统计数据(用时、编辑次数、规则触发次数)存入数据库。
- 生成一个简短的“交接文档”,便于你或你的队友下次接手。
至此,一个完整的、由AI辅助但由你掌控的闭环开发流程就结束了。你不仅完成了功能,还让AI助手变得更了解你的项目。
5. 高级技巧、问题排查与社区智慧
5.1 高级使用模式
- 代理团队协同 :对于极其复杂的任务,可以手动组建“代理团队”。例如,你可以同时启动一个
planner、一个implementor和一个reviewer,让它们通过共享的任务列表和消息通道进行协作。这模拟了一个微型的开发团队,适合模块边界清晰的大型项目。 - 上下文分割 :对于大型单体仓库,可以使用“分割内存”模式。在项目根目录创建
CLAUDE.md定义全局规则,在子目录(如frontend/、backend/)创建各自的CLAUDE_SUBDIR.md,存放目录特定的规则和上下文。Pro Workflow的ContextLoading技能会智能地合并这些文件。 - 利用LLM Gates进行自动化审查 :v3.2引入的
type: "prompt"钩子是游戏规则改变者。例如,你可以配置一个PreToolUse (Bash)钩子,在git commit前,将暂存区的diff发送给一个小型LLM(或Claude自身)进行快速审查,询问“这次提交是否引入了任何明显的安全漏洞或逻辑错误?”,根据回答决定是否阻断提交。
5.2 常见问题与解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 安装后命令不生效 | 插件未正确加载或权限问题 | 1. 在Claude Code中检查插件列表,确认 pro-workflow 已启用。 2. 运行 /doctor 命令进行健康检查,它会诊断常见配置问题。 3. 检查 ~/.claude 目录的权限,确保Claude有读写权限。 |
/search 找不到已保存的规则 |
数据库文件路径错误或损坏 | 1. 默认数据库通常在 ~/.claude/pro-workflow/learnings.db 。确认文件存在。 2. 尝试运行 /list 命令,如果也没输出,可能是数据库连接问题。可以尝试重启Claude Code。 3. 极端情况下,可以删除数据库文件(先备份),插件会在下次启动时重建。 |
| 钩子脚本没有执行 | 钩子事件未注册或脚本有错误 | 1. 检查 config.json 中钩子事件的绑定是否正确。 2. 查看Claude Code的开发者控制台(如果有)或日志文件,寻找钩子执行时的错误信息。 3. 确保钩子脚本文件具有可执行权限( chmod +x )。 |
| 权限弹窗过于频繁 | 默认权限规则太严格,或 permissionRules 配置不匹配 |
1. 运行 /permission-tuner ,分析最近的拒绝记录,采纳其生成的优化建议。 2. 仔细审查 settings.json 中的 permissionRules ,根据你的工作流放宽对常用安全命令的限制(如对 rm -rf dist/* 的允许)。 |
| 并行工作树混乱 | 多个工作树未妥善管理 | 1. 使用 git worktree list 查看所有工作树。 2. Pro Workflow的钩子会跟踪工作树创建和删除,但手动创建的工作树需要手动清理。 3. 养成使用 /wrap-up 的习惯,它有助于理清会话边界。 |
| Token消耗估算不准 | Cost Tracker是启发式估算,非精确计量 | Cost Tracker的目的是提供 相对趋势 和 优化提示 ,而非精确账单。关注它提示的“比平均高XX%”以及“主要开销来自MCP: XXX”这类信息,用于优化工作习惯,不要纠结于绝对数值。 |
5.3 来自社区的实践真知
Pro Workflow的文档和社区讨论中散落着许多宝贵的经验,我将其总结为几条最高原则:
- 规则的质量高于数量 :十条精准、具体的规则,胜过一百条模糊的规则。规则应描述“做什么”和“为什么”,而不仅仅是“不要做什么”。例如,“使用
const声明不会重新赋值的变量,以提高代码可读性和防止意外修改”比“多用const”要好得多。 - 信任检查点,而非每一行代码 :不要试图监控AI生成的每一行代码,这会让你精疲力尽。设定好质量门禁(测试、lint、审查),然后在检查点进行集中审查。Pro Workflow的
/commit前的门禁和reviewer代理就是为此而生。 - 将AI视为初级开发者 :给它清晰、无歧义的任务描述(像写PRD一样),提供充足的上下文(规则、架构图),并定义明确的完成标准。你越是能像对待一位聪明但缺乏经验的同事那样与它协作,效果就越好。
- 定期“修剪”规则库 :随着项目演进,一些早期规则可能过时或矛盾。每隔一段时间,使用
/search浏览规则,合并相似的,删除过时的,保持规则库的简洁和一致。 - 从社区获取灵感 :关注项目GitHub的Issues和Discussions,以及SkillKit官网。其他开发者分享的规则模板、技能组合和配置技巧,常常能给你带来意想不到的启发。
Pro Workflow的本质,是将人类开发者的 意图 和 经验 ,通过一种机器可理解、可持久化的方式,注入到AI协作的循环中。它没有取代开发者,而是放大了开发者的杠杆。你不再是在重复地纠正错误,而是在系统地培训一个越来越懂你的合作伙伴。这种从“即时对话”到“持续关系”的转变,才是AI编程助手进入生产力深水区的关键一步。开始积累你的第一条规则吧,五十个会话后,你会回来感谢这个决定。
更多推荐



所有评论(0)