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

资讯详情

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

项目分享|复刻20亿美金AI创业公司核心模式:Planning with Files让AI代理工作更高效

项目分享|复刻20亿美金AI创业公司核心模式:Planning with Files让AI代理工作更高效 1. 为什么你的 AI 代理总在复杂任务里“失忆”先说一个我踩过的坑。去年我让 Claude Code 帮我重构一个中型 Node 项目的鉴权模块需求拆了 12 个子任务涉及 30 多个文件的读写。前 20 分钟它干得挺好改完 controller 改 middleware逻辑清晰。结果上下文一压缩它突然回头问我“你刚才说的 JWT 过期时间要改成多少来着”——那一刻我才意识到它把前面聊过的关键约束全丢了。这不是模型笨而是上下文窗口本身就是易失内存。你可以把它理解成电脑的 RAM容量有限、断电即失、进程一多就互相挤占。AI 代理在 50 次工具调用的长任务里目标漂移、重复踩同一个坑、忘记原始需求几乎是必然事件。Planning with Files 这个 Claude Code 插件解决的正是这件事。它的核心思路特别朴素把重要信息从上下文窗口搬到文件系统。上下文是 RAM文件系统是硬盘任何关键决策、研究发现、错误记录全部落盘。这样即使上下文被重置代理重新读一遍task_plan.md就能锚定目标继续干活。它适合谁如果你用 Claude Code 做多步骤重构、跨文件调试、长周期功能开发或者你在搭自己的 Agent 工作流这套模式都值得复刻。下面我把目录结构、任务文件模板、插件配置和一次完整验证流程拆开讲你可以直接跟着做。2. TaoToken 前置准备给 Claude Code 接上稳定通道Planning with Files 是跑在 Claude Code 里的插件所以第一步得让 Claude Code 能正常调用模型。我实测下来用 TaoToken 做接入层比较省心Base URL 和 Key 一次配好后面插件、脚本、CLI 都复用同一套凭证。2.1 拿 Key 与确认接入信息先去控制台创建 API Key地址是https://taotoken.net/console。创建完你会拿到一串sk-开头的密钥复制保存好页面关了就看不全了。接入需要三件套缺一不可配置项值说明Base URLhttps://taotoken.net/api注意不要带 UTM 参数API 调用只认这个裸地址API Keysk-xxxxxx控制台生成权限按需勾选Model IDclaude-sonnet-4-5等按你订阅的模型填Claude Code 场景建议用 sonnet 系列如果你还没决定用哪个模型可以先去模型对话页https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentplanning_with_filesutm_campaignrewrite试几句确认响应正常再写进配置。2.2 环境变量方式推荐Claude Code 读取的是标准 Anthropic 环境变量。在~/.zshrc或~/.bashrc里加export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEYsk-你的密钥 export ANTHROPIC_MODELclaude-sonnet-4-5改完执行source ~/.zshrc然后echo $ANTHROPIC_BASE_URL确认生效。这一步别偷懒我见过太多人配置写错文件结果 Claude Code 一直报 401 还找不到原因。2.3 settings.json 方式项目级隔离如果你不想污染全局环境可以在项目里建.claude/settings.json{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的密钥, ANTHROPIC_MODEL: claude-sonnet-4-5 } }这个文件适合团队协作把 Key 换成占位符让每个人填自己的。注意别把真实 Key 提交到 Git加进.gitignore。2.4 验证通道是否通配完先跑一个最小请求确认不是网络或鉴权问题curl https://taotoken.net/api/v1/messages \ -H x-api-key: $ANTHROPIC_API_KEY \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d { model: claude-sonnet-4-5, max_tokens: 64, messages: [{role: user, content: 回复 OK 两个字母}] }返回里能看到content字段带OK说明通道没问题。如果报401八成是 Key 复制漏了字符报local proxy failed检查 Base URL 是不是多写了斜杠或参数。3. 可复制配置目录结构、任务模板与插件安装通道通了接下来落地 Planning with Files 本身。这一节给的都是能直接复制粘贴的片段路径和原文保持一致。3.1 安装插件Claude Code 里执行两条命令/plugin marketplace add OthmanAdi/planning-with-files /plugin install planning-with-filesplanning-with-files装完可以用/planning-with-files手动触发也可以让它自动在任务开始时介入。3.2 目录结构插件核心文件结构如下你复刻时按这个组织planning-with-files/ ├── templates/ # 根级别模板适配 CLAUDE_PLUGIN_ROOT ├── scripts/ # 根级别脚本适配 CLAUDE_PLUGIN_ROOT ├── docs/ # 安装、快速上手等文档 ├── planning-with-files/ # 插件技能核心目录 │ ├── SKILL.md │ ├── templates/ │ └── scripts/ ├── skills/ # 兼容旧版的技能目录 ├── .claude-plugin/ # 插件清单文件 ├── .cursor/ # Cursor IDE 适配规则 ├── CHANGELOG.md └── LICENSE3.3 三个核心任务文件模板每个复杂任务建三个 Markdown 文件放在项目根目录的.planning/下。我按实际用下来的习惯补了字段说明。task_plan.md跟踪阶段与进度# Task Plan: 重构鉴权模块 ## 目标 将 session 鉴权替换为 JWT保持现有 API 兼容。 ## 阶段 - [x] 阶段1梳理现有鉴权入口 - [ ] 阶段2引入 jsonwebtoken 依赖 - [ ] 阶段3改写 middleware/auth.js - [ ] 阶段4更新测试用例 - [ ] 阶段5回归验证 ## 关键约束 - Token 过期时间 2h - 刷新接口路径保持 /auth/refresh - 不改变现有错误码findings.md存研究与发现# Findings ## 依赖 - jsonwebtoken9.0.2 与现有 Node 18 兼容 - 现有 session 存储在 Redis迁移期需双写 ## 风险 - 老客户端不带 Authorization 头需保留 session 回退progress.md记会话日志与测试结果# Progress ## 2025-xx-xx - 完成阶段1入口共 3 处login、logout、refresh - 测试npm test 通过 42/42 - 错误refresh 接口 401原因是 secret 未注入已修复3.4 插件配置片段在.claude/settings.json里挂上钩子让插件在关键节点自动介入{ hooks: { PreToolUse: [ { matcher: Edit|Write, command: cat .planning/task_plan.md } ], PostToolUse: [ { matcher: Write, command: echo 记得更新 progress.md } ], Stop: [ { command: cat .planning/task_plan.md | grep -c \\[ \\] } ] } }PreToolUse在重大改动前重读计划PostToolUse在写文件后提醒同步状态Stop在结束前检查是否还有未完成阶段。这套钩子机制是插件能落地的关键。4. 验证请求从需求拆解到执行回写的完整流程配置齐了跑一次真实任务验证。我拿一个具体需求演示给一个 Express 项目加请求限流。4.1 初始化规划文件在 Claude Code 里输入/planning-with-files 给 Express 项目加 IP 限流每 IP 每分钟 100 次超限返回 429插件会自动在.planning/下生成三个文件并把需求拆成阶段写进task_plan.md。你可以打开确认拆解是否合理不合理就直接改文件代理下一轮会读到。4.2 执行阶段并回写代理开始干活时每完成一个阶段会更新task_plan.md的勾选状态把研究发现写进findings.md。比如它选了express-rate-limit会在 findings 里记下版本和配置项。中途我故意制造一次上下文重置关掉会话重开然后说“继续”。代理第一件事是读task_plan.md看到阶段2未完成直接接着干没有回头问需求。这就是持久化记忆的价值。4.3 验证结果任务结束后progress.md里应该有完整的测试记录。我实测下来代理会自己跑npm test并在 progress 里写类似“限流测试通过100 次内正常第 101 次返回 429”。如果它没写你可以手动补或者用 Stop 钩子强制检查。4.4 检查文件一致性最后确认三个文件状态一致task_plan.md所有阶段打勾findings.md有依赖和风险记录progress.md有测试结论。三者对不上说明钩子没生效回去查 settings.json 的路径。5. 本篇常见错排查这一节列我实际遇到过的报错对照着查。401 UnauthorizedKey 错了或没生效。先echo $ANTHROPIC_API_KEY看有没有值再确认 Base URL 是https://taotoken.net/api不带多余路径。项目级 settings.json 和全局环境变量冲突时项目级优先。local proxy failed通常是 Base URL 写成了带 UTM 的完整地址或者多了尾部斜杠。API 调用只认裸地址把?utm_source...那串删掉。reading choices 报错模型返回格式异常多半是 Model ID 填错。去模型对话页确认可用模型名别自己拼。OAuth 相关报错Claude Code 某些版本会尝试 OAuth 流程如果你用 API Key 接入确保没有残留的 OAuth 配置覆盖环境变量。检查~/.claude/下有没有旧的凭证文件。钩子不触发检查.claude/settings.json的 JSON 格式逗号多了少了都会静默失败。用cat .claude/settings.json | python -m json.tool验证语法。插件装了但/planning-with-files不识别确认 marketplace 添加成功/plugin list能看到。旧版本可能需要走skills/目录兼容路径。6. 把 Planning with Files 用成你的默认工作流这套模式跑顺之后我基本把它当默认配置了。几个实用技巧任务开始前手动改一遍task_plan.md的阶段划分比让代理自己拆更准findings.md里记的坑下次同类任务直接复用progress.md按日期分段回溯问题时特别方便。如果你要长期跑编码和 Agent 任务建议直接上 Coding Plan配额和稳定性更适合高频调用地址是https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentplanning_with_filesutm_campaignrewrite。接入文档在https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentplanning_with_filesutm_campaignrewriteAPI Key 管理在https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentplanning_with_filesutm_campaignrewrite。Claude Code 专项接入参考https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentplanning_with_filesutm_campaignrewrite。最后留一个我常用的习惯每次任务收尾让代理在progress.md末尾写一句“下次继续时先读 task_plan.md 第 X 阶段”。下次会话第一件事就是读它目标漂移基本绝迹。
返回列表