跳到主要内容

本地编码智能体(以及它们如何与 Claude 搭配)

进阶

本地编码智能体是一个运行在你自己机器上的程序,它读取你的仓库,并替你编辑文件。你用自然语言描述一处改动;智能体规划它、跨多个文件编写代码、运行你的测试、读取失败信息,然后再试一次 —— 这是一个循环,而不是一次性的回答。浏览器标签页里的聊天助手递给你一段代码让你粘贴;而编码智能体会在你的仓库内部自己完成粘贴、运行和修复。

让本页值得一读的关键洞见:几乎所有这些工具都是模型无关的(model-agnostic)。智能体(触碰你文件的那个循环)与模型(决定写什么的大脑)是分离的。所以同一个工具既可以指向 Claude 以获得最佳的代码质量,也可以指向通过 Ollama 运行的本地开放权重模型,让你的代码永不离开你的笔记本电脑。你根据工具与工作流的契合度来挑选智能体,根据质量与隐私的权衡来挑选模型 —— 两者互相独立。

What you'll learn
  • 理解编码智能体这一原型:一个读取你仓库、规划、编辑文件、运行测试并迭代的智能体循环
  • 了解真正的开源工具 —— Aider、Cline、Continue、OpenHands —— 以及 Anthropic 自家的 Claude Code 如何定位
  • 把握“模型无关”为什么重要:把一个智能体指向 Claude 以追求质量,或指向本地模型以保护隐私
  • 理解隐私维度 —— 本地模型意味着你的代码永不离开你的机器
  • 沿两条轴做选择:IDE 集成 vs CLI vs 自主,以及 Claude 驱动 vs 完全本地

原型:一个智能体循环,而非聊天框

本页上的每个工具都是同一个循环的变体。一旦你看清这个循环,每个工具就只是围绕它的不同形态:

  1. 读取(Read) —— 智能体收集上下文:你指给它的文件、仓库结构,有时还有测试输出或错误日志。
  2. 规划(Plan) —— 它决定改什么、在哪些文件里改,通常会在动手之前先提出一个计划。
  3. 编辑(Edit) —— 它把改动写入磁盘上真实的文件(通常以一个由你批准的 diff 形式展示)。
  4. 运行(Run) —— 它执行命令:你的测试套件、构建、linter、脚本。
  5. 观察并迭代(Observe and iterate) —— 它读取发生了什么(测试通过了?还是一个堆栈跟踪?),然后回到第 2 步继续循环,直到任务完成,或它把控制权交还给你。

这与智能体式的 tool use 是同一种形态:模型被赋予工具(读文件、编辑文件、运行命令),并自行决定何时调用它们。工具之间的差别,主要在于这个循环拥有多大的自主权,以及它生活在哪里 —— 你的终端、你的编辑器,或一个自行运行的沙箱环境。

那个循环中间的模型是可替换的。这正是单个智能体能服务两类截然不同用户的全部原因:想要尽可能最强代码的人(把它指向 Claude),以及在法律上不能让代码离开自己网络的人(把它指向本地模型)。

为什么“模型无关”是头条特性

智能体与模型是分离的两块。智能体拥有循环 —— 读取文件、应用 diff、运行测试。模型拥有判断力 —— 写什么、为什么写、何时停止。把它们解耦,就给了你两个独立的旋钮:

  • **质量旋钮 → Claude。**对于困难的推理、多文件重构和长上下文工作,像 Claude 这样的前沿模型能产出明显更好的编辑,并更可靠地从失败中恢复。这些工具中的大多数都把 Claude 列为推荐或默认选择。(该选哪个 Claude 档位是另一个决定 —— 见选择模型。)
  • **隐私旋钮 → 本地模型。**把同一个智能体指向一个运行在 Ollama 下的开放权重模型,你的代码、提示词和 diff 就永不离开你的机器 —— 没有 API 调用,没有第三方,线路上什么都没有。对于受监管的、气隙隔离的或机密的代码库,这就是决定性因素。诚实的权衡是:一个小到能在笔记本电脑上运行的模型,在最困难的任务上与前沿模型不在同一个量级。你是在用一部分能力换取对数据的完全掌控。
What you'll learn
  • 模型无关并不意味着每个模型都一样好。循环运行方式相同,但弱模型会做出更糟的编辑、误读测试失败、并在无效循环中打转。隐私与能力确实此消彼长 —— 按任务选择,而不是一次定终身。

真正的工具(已验证)

五个值得了解的工具。前四个是开源且模型无关的;第五个是 Anthropic 自家的智能体,收录进来是为了让你看到 Claude 原生体验的定位。

Aider —— CLI 结对程序员

Aider 运行在你的终端里,围绕 git 构建:它编辑你仓库中的文件,并为每次改动自动提交一条合理的提交信息,所以每一次 AI 编辑都是一个你可以审查、撤销或回退的 diff。它是模型无关的 —— 它与像 Claude 这样的前沿模型配合最佳,也能通过 Ollama 连接本地模型aider --model ollama_chat/<model>)。如果你活在终端里、又想要严格的 git 卫生,Aider 是标准的 CLI 之选。

Cline —— 你 IDE 里的智能体

Cline 是一个开源编码智能体,生活在你的编辑器里(VS Code 和 JetBrains),同时也提供一个终端/CLI 界面。它创建文件、运行命令、使用工具,并带有人类在环审批 —— 你会看到并批准每一步。它是模型无关的,并明确支持 Claude 以及通过 Ollama 或 LM Studio 运行的本地模型。当你想要一个不用离开编辑器的、有点自主性的智能体时,就选 Cline。

Roo Code 是 Cline 一个广为人知的分支,加入了自定义“模式”(例如用于规划的 Architect 模式,用于编辑的 Coder 模式)。它同样是模型无关的。请注意下面它的状态 —— 它已不再是曾经那个安全的默认选择。

Continue —— 开源 IDE 助手

Continue 是一个面向 VS Code 和 JetBrains(外加一个 CLI)的开源助手,涵盖聊天、编辑、自动补全和一个智能体模式。它是彻底模型无关的:其文档列出了 Anthropic(Claude)、用于本地模型的 Ollama,以及许多其他提供商,还可以为不同角色(聊天、编辑、自动补全)指定不同的模型。如果你想要一个可配置的助手,并亲手接线决定哪个模型做什么,它是一个强力之选。

OpenHands —— 自主智能体

OpenHands前身为 OpenDevin)是这四者中最自主的:一个面向 AI 软件开发智能体的平台,它们在沙箱环境中工作,把一个任务(例如一个 GitHub issue)拆解开来,并以更少的逐步审批将其端到端地完成。它是模型无关的 —— “与任何 LLM 一起使用”,Claude 也在其中 —— 并且可以自托管。当你想把一整个任务交出去、稍后再回来查看,而不是逐个批准每次编辑时,就选 OpenHands。

Claude Code —— Anthropic 自家的智能体

Claude Code 是 Anthropic 官方的智能体式编码工具:它读取你的代码库、编辑文件、运行命令和测试,并跨越你的终端、IDE、桌面应用和网页工作。与上面四者不同,它不是“把它指向任何模型” —— 它围绕 Claude 构建并为之调优,这正是为什么它的循环感觉更紧凑、在困难任务上编辑更常一次到位。如果你的首要目标是最佳的 Claude 驱动编码体验,而非最大的模型可替换性,这就是那条原生路径。完整细节见 什么是 Claude Code

如何选择

两条轴决定了几乎一切:

轴 1 —— 智能体生活在哪里:

  • CLI / 终端(Aider、Claude Code)—— 可脚本化、对 git 友好、可管道接入其他工具。如果你活在 shell 里,这是最佳选择。
  • IDE 集成(Cline、Continue、Claude Code 的编辑器界面)—— 在你的编辑器内进行 diff 与审批,代码就在手边。日常编辑的最佳选择。
  • 自主 / 沙箱(OpenHands)—— 把一整个任务交出去,然后审查结果。批量或放手不管的工作的最佳选择。

轴 2 —— Claude 驱动 vs 完全本地:

  • Claude 驱动 —— 最佳质量,尤其在困难的多文件或长上下文任务上。你的代码会被发送到模型 API。当质量最重要、且你的代码可以发送给提供商时,选它。
  • 完全本地(Ollama) —— 你的代码永不离开机器;运行免费;可离线工作。当隐私、监管或气隙隔离没有商量余地时,选它 —— 并接受一个笔记本电脑规模的模型在最困难的任务上会更弱。

经久耐用的做法:**根据契合你工作流的界面挑选智能体,然后按任务挑选模型。**没有什么能阻止你在机密仓库上用本地模型跑一个 IDE 智能体,而在其他一切上用同一个智能体跑 Claude。

挑选并配置一个编码智能体

Guided walkthrough1 of 5
  1. CLI(Aider、Claude Code)、IDE 集成(Cline、Continue)或自主(OpenHands)。把它匹配到你已经工作的地方 —— 终端 vs 编辑器 vs 交出去再审查。

一个具体的首次运行,把 Aider 指向一个本地模型(隐私、免费、离线)—— 先用 Ollama 拉取模型,然后:

在本地 Ollama 模型上运行 Aider(代码留在你的机器上)

aider --model ollama_chat/qwen3

要把同一个工具改为指向 Claude(最佳质量,代码发送到 API),你设置你的 Anthropic 密钥并选择一个 Claude 模型 —— 智能体循环完全一致;改变的只是大脑:

export ANTHROPIC_API_KEY=sk-ant-...
aider --model sonnet

那个切换 —— 一个参数,两种截然不同的隐私/质量画像,同一个智能体 —— 就是本页的全部要点。

自我检查

0/4
  1. 对于像 Aider 或 Cline 这样的编码智能体,“模型无关”意味着什么?
  2. 你的代码库在法律上不能离开你的网络。哪种配置合适?
  3. Claude Code 与 Aider、Cline、Continue 和 OpenHands 有何不同?
  4. 哪个工具最自主 —— 被打造来接过一整个任务并在沙箱中运行、且逐步审批更少?
按 Enter 或空格键翻转卡片。使用左右方向键在卡片之间切换。已显示术语。
1 / 8
Key takeaways
  • 编码智能体在你的机器上运行一个循环 —— 读仓库、规划、编辑文件、运行测试、迭代 —— 而不是递给你一段段代码去粘贴。
  • 几乎所有这些工具都是模型无关的:智能体与模型是分离的,所以你可以在不改变循环的情况下替换大脑。
  • 两个旋钮:Claude 追求最佳代码质量,或通过 Ollama 的本地开放权重模型追求完全隐私 —— 你的代码永不离开机器。
  • Aider = CLI/git;Cline = 你 IDE 里的智能体;Continue = 可配置的 IDE 助手;OpenHands = 自主/沙箱;Claude Code = Anthropic 自家的 Claude 原生智能体。
  • 沿两条轴选择 —— 智能体生活在哪里(CLI vs IDE vs 自主)以及 Claude 驱动 vs 完全本地 —— 并按任务挑选模型,而非一次定终身。

来源与延伸阅读