XCode 交互模式
与网页版 XCode 不同,XCode CLI 并不是一个单纯的聊天工具,而是一个 具备工程上下文、权限控制和执行能力的开发协作系统。
因此,它在处理任务时,引入了三种核心的 思维模式:
- Ask(询问)
- Plan(规划)
- Edit(编辑)
- 看不懂现有代码
- 刚接手一个新项目
- 想定位 Bug 的原因,但还没想好怎么修
- 想确认某段逻辑是否合理
- XCode 可以读取代码
- 可以进行分析、解释、推理
- 绝对不会修改任何文件
- 不会执行任何 Shell 命令
理解这三种模式的边界与职责,是高效、安全使用 XCode 的关键。
终端执行其实不用手动切换,XCode 会自动切换,在 VS Code 插件中可以手动切换模式。
---
三大交互模式详解
在终端中使用 XCode 时,你 不需要手动切换模式开关,XCode 会根据你的指令内容,自动判断当前应进入哪一种模式。
不过, 作为使用者,你必须在 Prompt 中清楚表达自己的意图,否则 XCode 很容易做出与你预期不一致的行为。
1、Ask 模式:只看不动(只读分析)
Ask 模式是 XCode 的默认安全模式。
#### 使用场景
当你处于以下状态时,应优先使用 Ask 模式:
#### 模式特点
你可以把 Ask 模式理解为:
> 一位经验丰富、但双手放在背后的高级工程师。
#### 示例指令
解释一下 src/auth.ts 里的 JWT 验证流程
在这个项目里,数据库连接是在哪里初始化的?
这段代码为什么在高并发下可能出问题?
> 专业建议: > 不确定要不要改代码时,一律先 Ask。
---
2、Plan 模式:谋定而后动(只规划,不执行)
Plan 模式是 XCode 中最像架构师思维的模式。
#### 使用场景
当你面对的是 复杂或影响范围较大的改动 时,应该使用 Plan 模式,例如:
#### 模式特点
Plan 模式的核心价值在于:
> 把先写代码变成先达成共识。
#### 示例指令
我想给现有的 API 增加一个 Redis 缓存层,请先给我一个实施方案
计划一下如何把这个项目的样式从 CSS 改为 Tailwind CSS
如果要拆分这个模块,合理的步骤应该是什么?
> 实战建议: > Plan 模式用得越多,返工概率就越低。
---
3、Edit 模式:直接执行(可写代码)
Edit 模式是 XCode 真正动手的阶段。
#### 使用场景
当你已经明确知道:
此时就可以直接进入 Edit 模式。
#### 模式特点
Edit 模式下,你的角色是:
> 代码的最终审查者,而不是旁观者。
#### 示例指令
把登录接口的响应码从 200 改为 201
修复 main.py 第 45 行的类型错误
在不改变现有行为的前提下,重构这个函数的可读性
> 专业习惯: > 描述越具体,XCode 改得越安全。
---
核心斜杠命令(/)
斜杠命令用于 控制 XCode 的会话状态和行为,而不是写业务代码。
在终端中输入 / 即可触发。
| 命令 | 用途 | 专家提示 |
|------|------|----------|
| /help | 查看所有命令 | 第一次使用必看 |
| /cost | 查看当前会话消耗 | 防止无意识烧 Token |
| /compact | 压缩上下文 | 对话变长、变慢时使用 |
| /reset | 重置会话 | 切换任务时非常重要 |
| /docs | 索引文档 | 让 XCode 参考指定文档 |
| /review | 代码审查 | 检查 Git 暂存区改动 |
> 建议: > /cost 和 /compact 是长期使用者的高频命令。
---
一个典型的交互流程示例
真实开发中,三种模式往往是 连续使用的。
示例流程
1、Ask
为什么我的注册接口一直返回 400 错误?
_XCode 分析代码和日志,指出是缺少 email 校验。_
2、Plan
我想添加 email 格式校验,并把错误信息规范化,你打算怎么做?
_XCode 给出步骤:修改校验逻辑 → 更新测试 → 调整返回结构。_
3、Edit
按计划执行吧
_XCode 修改文件,并展示 Diff 供你确认。_
> Ask 是搞清楚问题,Plan 是避免走弯路,Edit 是谨慎执行。
---
交互中的权限确认机制
XCode 对系统操作非常克制,任何有风险的行为都会请求你的确认。
常见权限确认
npm test、pnpm build,都会明确询问是否允许> 重要提醒: > 永远不要在没看 Diff 的情况下直接确认。 > XCode 很强,但依然可能产生错误或幻觉。