外观
🎈 想读易懂版?
本章有易懂版(大白话讲重点,10 分钟读完):[第 3 章 我的工作方式:文件、命令与工具(易懂版)](../../easy/第3章 我的工作方式:文件、命令与工具(易懂版).md)
第 3 章 我的工作方式:文件、命令与工具
本章目标:完整认识我的"工具箱"——每件工具干什么、什么时候用、安全边界在哪。学完本章,你会知道什么任务能放心交给我,什么操作我会先问你。
3.1 我的工具箱全景
我执行任务靠的不是"魔法",而是一组明确的工具。知道有什么工具,你才知道能让我干什么,这是人机协作的基础。
3.1.1 工具清单
| 工具 | 干什么 | 什么时候用 | 对应人类动作 |
|---|---|---|---|
| Read | 读文件内容(带行号) | 看源码、查日志、读配置 | 打开文件阅读 |
| Write | 创建/覆写文件 | 新建文档、生成代码 | 新建文件 |
| Edit | 精确替换文件片段 | 改一行配置、修一个 bug | 打开编辑器改几行 |
| Glob | 按文件名/扩展名找文件 | 找 **/*.md、*.rs | 按名字搜文件 |
| Grep | 按内容搜索(支持正则) | 搜报错、找函数定义 | 全文搜索关键词 |
| ExecCommand | 执行 shell 命令 | 跑测试、装依赖、批量操作 | 打开终端敲命令 |
| Skill | 调用预设专业技能 | 提交 commit、评审 PR | 按 SOP 完成专业动作 |
| Spawn | 开子代理并行干活 | 并行调研、分块生成 | 叫同事帮忙 |
| Team | 组建多智能体团队 | 大项目多角色协作 | 组建项目组 |
| ToolSearch | 按需加载工具说明 | 需要不常用的工具时 | 查工具手册 |
3.1.2 工具分工的第一原则
有专用工具就不用裸命令。 找文件用 Glob,搜内容用 Grep,改文件用 Edit——而不是让我用命令行绕一圈。这既快又安全。
为什么?因为专用工具是"受控的":
- Glob/Grep 只读不改,不会误伤文件;
- Edit 只改你指定的片段,不会整文件重写;
- 而 shell 命令威力大,误操作代价也大。
3.2 我生活在工作目录里
3.2.1 工作目录是什么
我的一切文件操作,都发生在当前工作目录内(以及你明确指定的路径)。你给我的相对路径,都基于这个目录解析。
powershell
# 示例工作目录(MomaWork 会话目录)
C:\Users\86175\AppData\Roaming\MomaWork\MomaWork\conversations\momawork-rs-ebf4db3a3.2.2 目录访问规则
| 场景 | 做法 | 示例 |
|---|---|---|
| 访问当前目录内文件 | 直接用相对路径 | docs/report.md |
| 访问目录外路径 | 给绝对路径 | D:\项目\data\sales.csv |
| 需要跨多个目录 | 说明目录结构再动手 | "项目在 D:\proj,输出放这里" |
重要认知
我看不到你的整个硬盘。 如果你希望我处理某个文件,但它不在工作目录里,请先把它放进工作目录,或告诉我绝对路径。
3.3 命令执行:安全铁律
我能执行命令,但这不代表我会乱来。有三条铁律:
3.3.1 铁律一:先读后改
编辑文件之前,我一定会先 Read,绝不盲改。 就像医生开刀前必须先看 CT 片:
❌ 直接改:你都没看内容就改?风险不可控
✅ 标准流程:Read → 理解 → Edit → 展示 diff → 让你检查3.3.2 铁律二:危险操作先确认
以下操作,我会先征得你同意再执行:
| 危险等级 | 操作类型 | 我的做法 |
|---|---|---|
| 🔴 不可逆 | 删除文件、覆盖已有文件、git push --force | 必先确认 |
| 🟡 影响大 | 批量改名、大规模重构、安装依赖 | 先展示计划 |
| 🟢 安全 | 读文件、搜索、跑只读命令 | 直接执行 |
如何配合确认机制
当收到我的确认询问时,请看清再回答。 特别是涉及"删除""覆盖""推送"的确认——回答"是"之前,确认那确实是你想要的操作。
3.3.3 铁律三:优先专用工具
能用工具库解决的,不绕 shell。这既是效率,也是安全。
3.4 一个完整示例:改 bug 的七步流程
把前面所有规则串起来,看一次真实的 bug 修复:
你:"src/app.py 第 42 行报 KeyError,帮我看看"
我:
① Read src/app.py ← 先看现场(先读后改)
② Grep 搜索 key 相关代码 ← 定位问题根源(专用工具)
③ Read 关联文件 config ← 确认数据结构
④ Edit 精确修复 ← 最小改动,只改出问题的地方
⑤ 展示 diff 给你看 ← 中间产物可检查
⑥ 你确认无误
⑦ 执行一条命令验证 ← 运行测试确认修复生效每一步都有中间产物,你可以随时叫停、检查、回退。这就是"可检查的 AI"。
3.5 工具组合模式
单工具解决小问题,工具组合解决真问题。以下是三种高频组合:
3.5.1 组合一:查找定位模式
问题:找不到某段逻辑
解法:Grep 搜关键词 → Read 定位文件 → Read 上下文 → 汇报结论3.5.2 组合二:批量处理模式
问题:把 20 个文件统一改格式
解法:Glob 列出目标 → Read 抽查几个 → 批量处理(Write/Edit)→ 抽查验证3.5.3 组合三:项目交付模式
问题:完成一个完整小任务
解法:Read 需求 → Glob/Grep 盘点资源 → Write 产出 → 验证 → 汇报交付3.6 练习
- 实操:让我用 Glob 找出当前目录下所有
.md文件,并统计数量。 - 实操:让我用 Grep 搜一个词(比如你的名字),看看搜出什么。
- 实操:给我写一个小文件,然后让我用 Edit 改其中一行,观察我先 Read 再改的流程。
- 思考:以下哪个操作我会先确认?A. 读取配置文件 B. 删除整个 build 目录 C. 搜索报错日志(答案:B)
小结:我的工作方式 = 一组受控工具 + 三条安全铁律 + 可检查的中间产物。我越透明,你越放心;你越了解我的工具,越知道什么任务能交给我。 下一章,我们完成你的第一个真实任务。