你有没有遇到过这种场景:一个几个月没动的老项目,需求改了又改,文档基本没有,连自己当初写的代码都看着陌生。这时候你想让AI帮忙,但又怕它乱改你的系统、乱跑命令、乱删文件……
最近我用 Anthropic 的 Claude Code(简称cc)接手了一个遗留项目,踩了不少坑,也摸索出一套安全又高效的工作流。今天分享给你。
一、第一原则:给AI一张“门禁卡”,而不是万能钥匙
很多人在终端里给AI权限时,要么直接sudo要么给整个项目根目录。这其实很危险——AI不知道哪些是你的个人配置、哪些是生产环境敏感文件。
Claude Code 的设计哲学很明确:最小权限 + 安全边界。
就像你请了一个程序员来帮忙,你得先把办公室门禁卡给他,他才能进去看代码、改文件、跑命令。但权限只限你授权的那个文件夹。
实操上,你只需要在项目目录下运行cc,它会询问你是否信任该文件夹。一旦确认,cc就能读写该目录下的代码、执行构建命令,但无法访问你的系统文件、~/.ssh、/etc等敏感位置。
这一点在 Anthropic 的文档里反复强调——AI 默认不乱碰你的系统,只有明确授权,他才能干活。就像一台 Mac mini 涨价了,你买回来也只给它一个专用账号和目录,而不是 root 权限。
二、第一次接手项目:用/init生成项目地图
拿到一个陌生的代码库,你会怎么做?先看README?没有的话就翻一遍目录结构?太慢了。
Claude Code 提供了一个/init指令。当你进入项目目录并信任文件夹后,输入/init,cc会:
扫描整个项目的文件结构和关键代码
识别技术栈(React/Vue/Node/Python…)
分析模块依赖关系
把所有理解写入一个
CLAUDE.md文件
这个CLAUDE.md就像是 AI 自己写的“项目地图+笔记”。里面记录了:
项目整体目的(从代码注释和命名推断)
主要模块和职责
常用命令(启动、测试、构建)
已知的坑和注意事项
之后你再问cc任何问题,它都会先参考CLAUDE.md,而不是每次都重新扫一遍代码。这相当于给AI建立了长期记忆。
三、规划模式:再也不怕AI“一拍脑袋就开干”
普通模式下,你问“帮我给电商系统加一个购物车功能”,AI 可能直接就开始改代码——而且往往是改它看到的第一个文件,完全不考虑后端表结构、前端组件复用、登录状态兼容。
规划模式(/plan)就是为了解决这个问题。
你输入/plan后,cc不会立即动手。它会反过来问你一系列问题:
“购物车数据存储在哪里?LocalStorage 还是后端数据库?”
“是否需要未登录用户也能添加商品?”
“商品库存检查和价格实时更新怎么做?”
“与现有的订单模块、优惠券模块如何衔接?”
你回答完这些问题(甚至不用很完整),cc就会生成一份结构化的实施计划,分步骤列出:
后端:新增
cart表、API 接口设计(加入/删除/查询/结算)前端:购物车组件、状态管理、与商品页/订单页的联动
兼容性:未登录用户使用 LocalStorage,登录后同步到后端
你确认计划后,它才会开始写代码。而且每个步骤都会引用计划中的章节,让重构变得可追踪、可回滚。
这个功能极大降低了 Prompt 的门槛。你不需要一次性写出完美的需求文档,只需要通过对话让 AI 帮你把模糊的想法整理成清晰的行动方案。
四、实战:一个真实的“吉马程序员”宣传页
我用普通模式试了一下:“帮我制作一个网页,用来宣传吉马程序员”。
cc立刻生成了一个带有酷炫动画、课程列表、报名按钮的响应式页面。大概 200 行 HTML/CSS/JS,效果还不错。
但如果我想加一个“需求提交表单”并且把数据存到后端呢?普通模式下它会直接开始写 Express 接口和 MongoDB 连接——完全不管我的服务器环境有没有 Node、数据库是不是允许外连。
换成/plan模式后,它先问了我三个问题:
“数据存在哪?(JSON 文件 / SQLite / 云数据库)”
“需要用户登录吗?”
“是否需要管理员后台查看提交?”
我回答“存 JSON 文件,不需要登录,也不需要后台”。于是它给出的计划是:
在前端表单收集
姓名+需求描述用
fetchPOST 到/api/submit写一个简单的 Express 服务器,把数据追加到
submissions.json提供启动脚本
整个过程没有过度设计,没有多余的依赖,安全落地。
五、日常维护:像带实习生一样和cc协作
一旦你建立了CLAUDE.md,日常的维护对话会变得非常自然:
“帮我把用户认证从 JWT 改成 session,注意更新所有中间件”
“这个
calculatePrice函数有 bug,当优惠券为负数时报错,修一下,并补上单元测试”“解释一下这个项目的部署流程,我想改成 Docker 化”
cc会先读取CLAUDE.md理解上下文,然后给出修改建议或者直接改动代码。它还会在关键改动前询问你:“这个变更会影响order模块,需要我同步更新那里的依赖吗?”
你可以随时用/init刷新文档——当项目架构变化后,让cc重新扫描并更新CLAUDE.md。
六、总结:一张表看懂三种模式的定位
| 模式 | 触发指令 | 适用场景 | 优点 |
|---|---|---|---|
| 普通模式 | 直接问 | 小修改、添加独立组件、写脚本 | 快速响应,适合明确小需求 |
| 规划模式 | /plan | 多模块改动、架构调整、新功能集成 | 结构化方案,避免返工 |
| 初始化模式 | /init | 第一次接手项目、重大重构后 | 生成项目文档,建立AI长期记忆 |
写在最后
Claude Code 把“AI 作为员工”这个比喻做得很实在。你不能指望一个员工第一天上班就拥有整个公司的最高权限,也不能让他只凭一句话就去改核心交易系统。
给一张门禁卡,让他先看文档(/init),复杂需求先写方案(/plan),确认后再动手。
现在,我已经习惯了在每个项目的根目录放一个CLAUDE.md——不管是人写的还是 AI 生成的,它都成了团队(包括 AI 同事)理解项目的最佳入口。
如果你也想试试,可以这样开始:
bash
# 安装 Claude Code(需要 Anthropic 的 CLI 工具) npm install -g @anthropic-ai/claude-code # 进入你的项目目录 cd your-legacy-project # 开始对话 cc # 输入 /init 生成项目地图 > /init # 然后输入你的真实需求,比如... > 帮我分析一下这个项目的技术债,并给出重构计划
记住:AI 不乱动你的东西,只要你也不乱给权限。希望这篇分享对你有帮助,欢迎在评论区聊聊你用 AI 接管旧项目的经历。