你有没有遇到过这种场景:一个几个月没动的老项目,需求改了又改,文档基本没有,连自己当初写的代码都看着陌生。这时候你想让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 指令。当你进入项目目录并信任文件夹后,输入 /initcc 会:

  1. 扫描整个项目的文件结构和关键代码

  2. 识别技术栈(React/Vue/Node/Python…)

  3. 分析模块依赖关系

  4. 把所有理解写入一个 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 文件,不需要登录,也不需要后台”。于是它给出的计划是:

  1. 在前端表单收集 姓名+需求描述

  2. 用 fetch POST 到 /api/submit

  3. 写一个简单的 Express 服务器,把数据追加到 submissions.json

  4. 提供启动脚本

整个过程没有过度设计,没有多余的依赖,安全落地。

五、日常维护:像带实习生一样和 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 接管旧项目的经历。

 

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐