Home

Agent 模式 vs Edit 模式 —— 一键切换的两种工作姿态

Hydite 在编辑器内置两种 AI 工作模式:Agent 自主多步执行,Edit 精准单点修改;右下角一键切换,互不干扰


写代码时你大概会遇到两类 AI 需求:

  • 「帮我把这一整个功能做掉」 —— 需要拆任务、改多文件、跑命令、看测试结果。
  • 「把这一行写得更好一点」 —— 不要 AI 帮我想 100 件事,只要把光标处的代码改对。

把这两种需求塞进同一个对话框里,永远会出 bug:你想要小修小补,AI 给你重写了半个项目;你想让它放手干,它又每改一行都要确认。

Hydite 的解法是把两种姿态做成两个独立模式 —— AgentEdit —— 在编辑器右下角一键切换,互不干扰。

Agent / Edit 模式切换

1. 一句话区分#

维度Agent 模式Edit 模式
定位自主执行精准修改
作用域整个项目 / 多文件 / 终端当前文件 / 当前选区
步数多步循环:思考 → 工具 → 观察 → 继续单步直出:读上下文 → 给出 diff
工具调用全量:读写文件、跑命令、调 MCP、起子 Agent仅读:拿到必要上下文即可
适合的事加功能 / 跨文件重构 / 修一个跨模块的 bug / 跑测试重命名变量 / 优化一个函数 / 补类型 / 写注释
失败成本中(多步可能跑偏)低(diff 摆在面前再 Apply)
隐私模式支持 Hydite 高隐私模式支持 Hydite 高隐私模式

简单记:Agent 是同事,Edit 是结对编程的另一只手。

2. Agent 模式 —— 让 AI 自己干#

适合你愿意把一段时间交给 AI的场景。

它会做什么

  1. 拆任务:先出计划,列出会动的文件、要跑的命令、验收标准。
  2. 多步执行:读项目语义索引、改文件、跑测试、看日志,循环到完成。
  3. 并行 Agent(可选):派出多个 Agent 在独立的 Git Worktree 中同时干活。
  4. 可控停:随时打断 / 回滚 / 让它继续。

典型 prompt#

1
帮我把 src/api/users 这个目录从 callbacks 重构成 async/await,
2
顺手补全 TypeScript 类型,并跑一下相关测试。

Agent 会自动:扫描目录 → 列出待改文件 → 计划 diff → 逐文件改 → pnpm test → 看输出 → 修红 → 报告结果。

什么时候不该用 Agent#

  • 你只想改一行 / 一个函数。Edit 模式更快、更准、token 更省。
  • 你对要改的东西有明确预期,不需要 AI "再想想"。

3. Edit 模式 —— 让 AI 当你的副驾#

适合你已经知道要改什么、想要 AI 把它写好的场景。

它会做什么

  • 只看你当前文件 / 当前选区 + 必要的引用,不会去动其他地方。
  • 一次给出一个 diff 预览,你 Cmd/Ctrl + Enter 接受、Esc 放弃。
  • 没有"我去跑个命令吧"、"我去读 50 个文件吧"的发散。

典型 prompt(在选区上调出 Edit)#

1
把这个函数改成纯函数,避免修改入参。
1
把这段 JSX 抽成一个 <UserCard /> 组件。
1
给这个 hook 加完整的 TS 泛型和 JSDoc。

Edit 模式的纪律#

  • 不写新文件:要新建文件请走 Agent。
  • 不跑命令:要跑测试 / 安装依赖请走 Agent。
  • 不发散:让它做什么它就做什么,避免"顺手"重写一切。

4. 一键切换 —— IDE 左上角#

切换不需要打开命令面板,也不用改设置。IDE 左上角有一个模式切换胶囊(就是本文首图的那个),鼠标点一下、或者 Cmd/Ctrl + . 即可在 Agent / Edit 之间来回翻。

切换是会话级的:

  • 切到 Agent:当前对话进入多步执行;之前 Edit 模式留下的上下文继续保留,Agent 可以接着用。
  • 切到 Edit:当前对话退化为单点 diff;如果当前光标在某个选区上,Edit 直接用这段选区作为目标。

切换胶囊还能改默认行为:默认启动谁、快捷键重绑、每项目记忆 —— A 项目默认 Edit、B 项目默认 Agent,IDE 自动记住。

5. 高隐私模式 —— 输入框左下角的独立开关#

很多 AI 编辑器的"隐私模式"其实只针对补全。Hydite 不一样 —— Agent 与 Edit 两个模式都完整支持高隐私模式

5.1 在哪里切#

高隐私模式是一个独立开关只在 Agent 模式下可见(Edit 模式的作用域太小,默认就不会主动上云)。

切到 Agent 模式后,看输入框的左下角 —— 那个胶囊点击一下即可切入 / 切出高隐私:

输入框左下角 — 高隐私开关

点击后会弹出详细的隐私范围确认面板,你可以逐项可见、逐项勾选:

高隐私模式详情与确认

5.2 高隐私下 Agent 会变成什么样#

隐私维度高隐私模式下的行为
代码出本机❌ 永远不出
项目语义索引全部本地构建、本地存储
模型推理走本地模型(Ollama / vLLM / 自托管 OpenAI 兼容服务)
Agent 工具沙箱命令、文件、网络请求都受本地沙箱限制
终端 / 命令执行可禁用网络、可白名单目录

也就是说:金融 / 政企 / 涉密项目里,Agent 模式照样能多步执行,只是「大脑」全程在你机房里。

开启后,输入框胶囊会出现一个锁形指示,同时状态栏会一直提醒你当前 AI 行为均不出本机。

6. 选模式的决策树#

1
┌──────────────────────────────────────────┐
2
│ 我要改什么? │
3
├──────────────────────────────────────────┤
4
│ 改 1 ~ 2 处、目标明确 → Edit │
5
│ 跨文件 / 跨模块 / 要跑测试 → Agent │
6
│ 我自己也没想清楚,想让 AI 先出方案 → Agent │
7
│ 涉密项目,不能让代码出本机 → 高隐私 + Agent / Edit 任选 │
8
└──────────────────────────────────────────┘

7. 常见问题#

Q:Edit 模式能不能切到 Agent 继续? A:能。点左上角胶囊切到 Agent,Edit 留下的对话上下文会被继承,Agent 接着干。

Q:Agent 跑到一半我后悔了怎么办? A:随时 Esc 中断;它在 Worktree / 临时分支里改的东西可一键回滚。

Q:高隐私模式下 Agent 还能用云端模型吗? A:默认禁用云端。如果你白名单了某些云端模型,会有显式提示让你二次确认。

Q:Edit 模式下为什么看不到高隐私开关? A:高隐私是针对 Agent 多步执行场景设计的。Edit 模式只读当前选区、只返 diff,本身就没有走云的动作;需要本地推理的话在全局设置里打开「仅本地模型」即可。

Q:能不能给某个文件强制用 Edit、不让 Agent 碰? A:可以。把路径加进项目级的 .hydite/agent-deny.glob,Agent 工具沙箱会拒绝读写。

8. 下一步#

  • 想了解 Agent 模式的多 Agent 并行能力 → Agent Hub 指南(即将上线)
  • 想配置高隐私模式 → Privacy & Sandboxing 指南(即将上线)
  • 想看 Edit 模式的快捷键全集 → 键位与快捷键参考(即将上线)