13:12AI LABS
Log in to leave a comment
No posts yet
在终端运行 Claude Code 确实能显著提升开发速度。然而,给代理(Agent)过高的自由度,往往会导致它乱动配置文件从而搞崩构建,或者在短短几分钟内烧掉数十美元的 API 费用。工具的自主性反而蚕食了开发者的管理精力。如果你正在运营一个小团队或个人项目,就需要一套最起码的“安全装置”来约束代理的手脚。
Claude Code 默认拥有对整个项目的读/写权限。但让代理随意读取 .env 文件或修改根目录下复杂的配置文件是非常危险的。Anthropic 的权限系统遵循“拒绝(Deny)规则优先”的原则,你应该利用这一点物理性地限制代理的活动范围。
.clauderules 文件。Edit(/src/features/**/*.ts) 的正则表达式,将代理允许触碰的目录设为白名单。Deny(Read(./*.env)) 规则,严禁其接近敏感信息。设置完成后,当代理尝试修改未授权路径时,系统会立即拦截。这能从源头上杜绝因误动文件导致的构建错误。
成本爆炸通常始于无节制的文件读取。一旦代理开始读取 node_modules 或 package-lock.json 等巨型文件,数十万个 Token 会在瞬间消失。根据 Anthropic 的数据,仅靠合理的 .claudeignore 设置就能减少 40% 以上的 API 开支。
.claudeignore 文件中添加 dist/、build/ 和 node_modules/。claude select [文件名] 的习惯,精准指定所需文件。最新模型支持提示词缓存(Prompt Caching),缓存后的 Token 比新 Token 便宜 90%。在工作过程中经常输入 /cost 命令查看缓存命中率,就能让月末账单上的数字大不相同。
如果任由代理一次性重构数百行代码,代码审查(Review)将变得几乎不可能。你应该利用 Claude Code 的钩子(Hooks)功能,建立一套当变更量过大时自动拒绝批准的防护栏。
创建一个 .claude/hooks/check-diff-size.sh 脚本。通过 git diff --stat 命令检查修改的行数,如果超过 100 行则返回 exit 2。这种方式能强制中止代理的大规模修改尝试,并引导其进行拆分提交(Partial Commit)。在脚本末尾加入 npm test,还能防止未通过测试的代码进入暂存区。
当人类和 AI 在同一个分支混合协作时,Git 历史记录很快就会变得一团糟。像 Stripe 这样的技术型公司会强制给代理分配专用分支,并要求通过 PR(Pull Request)流程。这一简单规则是既能加快发布周期又能维持代码质量的秘诀。
在 CLAUDE.md 中明确规定:“开始工作前必须创建带有 agent/ 前缀的分支”。要求代理在完成任务后运行 gh pr create --draft 提交草案 PR。由你亲自过目代码、合并后删除分支,这是最安全的架构。这相当于把代理视作同事开发者,但明确最终决策权掌握在你自己手中。