Skip to main content

双模式系统

Caret 的双模式系统展现了与 Cline 完全不同的开发理念。在完整保留 Cline 的 Plan/Act 模式的同时,我们额外提供了两种全新的工作方式。这样一来,开发者可以根据不同情况选择与 AI 协作的方式,根据任务性质和个人偏好打造最适合的开发环境。

Cline vs Caret:理解理念差异

Cline 和 Caret 各自拥有不同的开发理念,这在与 AI 的交互方式上表现得尤为明显。如果说 Cline 通过严格的计划与执行阶段划分来追求结构化开发,那么 Caret 则更注重开发者的灵活性和控制权。

Cline 的 Plan/Act 理念

Cline 忠实遵循软件开发的传统方法论——"先规划,再执行"。这个系统通过两个明确区分的模式来运作。

在 **Plan 模式(规划阶段)**中,Cline 会仔细地规划工作。在这个阶段,它会分析代码库、理解需求、制定分步执行策略。它会等待开发者批准,不会修改任何文件。就像建筑师绘制设计图一样,它专注于事先规划好一切。

切换到 Act 模式(执行阶段)后,Cline 会将计划付诸实施。但这里有一个重要特点:一旦开始执行,除非开发者明确中止,否则它会持续执行。即使在执行过程中你问"等等,这是怎么工作的?",Cline 也会专注于完成任务而不是对话。

这种方法对于结构化开发非常有效,但也有一个局限性:当执行过程中产生疑问或需要中途确认时,很难灵活应对。

Caret 的 Agent/Chatbot 理念

Caret 在尊重 Cline 理念的同时,提出了两种完全不同的工作方式。Caret 的核心是灵活性开发者的控制权

Agent 模式将 AI 视为自主的合作伙伴。最大的特点是即使在执行过程中也能立即切换到对话模式。如果在编写代码时你问"等等,JWT 到底是什么?",Agent 会立即切换到解释模式。解释完成后,你再说"好的,继续",它就会继续工作。这提供了一种非常接近与真人结对编程的体验。

Chatbot 模式则持有相反的理念。在这里,AI 专注于顾问的角色。开发者亲自编码,AI 只在需要时提供建议。当你感觉"好像太依赖 AI 了"、"我想保持自己的编程能力"、"我想一边学习新技术一边亲自实践"时,Chatbot 模式就会发挥作用。

4种模式详细对比

理解 Cline 和 Caret 的4种模式后,就能清楚地知道在什么情况下该使用哪种模式。

特性Cline PlanCline ActCaret AgentCaret Chatbot
基本理念规划阶段执行阶段AI 合作伙伴开发者主导
对话灵活性✅ 随时可以❌ 执行直到停止✅ 即时切换✅ 完全控制
自主程度🔒 等待批准🚀 自动执行🤝 协作型👨‍💻 被动型
执行方式仅制定计划持续执行灵活执行提供建议
开发者角色批准者观察者协作者主导者
学习效果中等较低中等⭐ 非常高

Caret Agent 模式:灵活的 AI 伙伴

Agent 模式的核心是**"需要时随时可以对话的灵活性"**。这也是它与 Cline 的 Act 模式最大的区别。

工作方式

在 Agent 模式下,Caret 会自主执行任务,但同时始终对开发者的介入保持开放。例如:

开发者:"用 OAuth2 实现用户认证系统"
Agent: [正在编写令牌管理逻辑...]

开发者:"等等,refresh token 存储在哪里比较安全?"
Agent: "这是个好问题。从安全角度来看,refresh token 应该..."
[提供详细解释]

开发者:"明白了,那就用 httpOnly cookie。继续吧"
Agent: [继续编写使用 httpOnly cookie 存储的代码...]

就像这样,Agent 模式在保持工作流程的同时,可以在需要时立即切换到教育性对话。

什么时候应该使用 Agent 模式?

Agent 模式在以下情况下特别有效:

实现复杂功能时:适合需要修改多个文件、中途需要确认的工作。例如,在实现支付系统时如果对 PG 公司的对接方式产生疑问,可以立即提问并在得到答复后继续工作。

边学习边开发时:当你想在使用新技术或新库的同时学习它们时很有用。在 AI 编写代码的过程中问"为什么要这样做?",就能立即得到答案。

快速制作原型时:当你想快速实现想法,但又想随时调整方向时,Agent 模式非常完美。

Caret Chatbot 模式:开发者主导的开发

Chatbot 模式有一个明确的理念:"AI 只提供建议,编码由我来"。当你难以完全信任 AI,或者想保持自己的编程能力时,就应该选择这个模式。

工作方式

在 Chatbot 模式下,Caret 不是直接编写代码,而是提供指导让开发者自己编写:

开发者:"教我如何用 React Query 管理服务器状态"
Chatbot: "使用 React Query 管理服务器状态需要以下步骤:

第1步:设置 QueryClient
在 App.tsx 中需要用 QueryClientProvider 包裹应用。
[设置示例说明]

第2步:使用 useQuery hook
获取数据时使用..."

开发者:[阅读说明后自己编写代码]
开发者:"我这样写了,cache 时间怎么设置?"
Chatbot: "使用 staleTime 和 cacheTime 选项..."

开发者:[再次自己修改]

什么时候应该使用 Chatbot 模式?

Chatbot 模式在以下情况下最有价值:

学习新技术时:比起单纯让 AI 编写代码,想要边写边学时,Chatbot 模式最理想。在学习小组或编程训练营学习新框架时,使用这个模式可以在获得 AI 帮助的同时,获得亲手编写代码的经验。

难以完全信任 AI 时:如果你担心"AI 会不会搞乱我的代码库",那么在 Chatbot 模式下接受 AI 的建议并自己编写代码会更安全。

想保持编程能力时:频繁使用 AI 工具可能会让你担心"我直接编码的能力会不会退化?"。Chatbot 模式可以在消除这种担忧的同时利用 AI 的知识。

做出重要架构决策时:在做微服务 vs 单体、SQL vs NoSQL 等重大技术选择时,可以与 Chatbot 深入讨论每个选项的优缺点,最终由开发者做出决定。

Cline 兼容性:为现有用户考虑

如果你是第一次接触 Caret 的 Cline 用户,不用担心。Caret 完整保留了 Cline 的 Plan/Act 模式。

在设置中选择 Cline 模式,Caret 就会与原版 Cline 完全相同地运行。你可以继续使用熟悉的 Plan → Act 工作流程,所有快捷键和操作都是一样的。这是 Caret 的核心理念之一:"在保证向下兼容的同时提供新选择"

Cline 用户 → 安装 Caret → 选择 Cline 模式 → 获得与以前完全相同的体验

如果你想随时尝试 Caret 的新模式,只需在设置中切换到 Agent 或 Chatbot 模式即可。而且可以随时自由切换回 Cline 模式。

模式选择指南:根据情况选择最佳模式

如果你不确定该选择哪种模式,可以参考以下指南。

适合使用 Agent 模式的情况

可以信任 AI 的情况下,Agent 模式是强大的生产力工具。在开发一般的 CRUD 应用程序、进行重复的重构工作,或使用已经熟悉的技术栈时,把大部分工作交给 AI,只在需要时介入会更高效。

需要快速原型开发时,Agent 模式也很有用。当创业公司需要快速制作 MVP,或急需准备验证创意的演示时,Agent 模式的自主性会提供很大帮助。

适合使用 Chatbot 模式的情况

学习是主要目的时,强烈推荐使用 Chatbot 模式。如果你想学习新的编程语言、熟悉陌生的框架,或在解决算法问题时加深理解,亲自编写代码会更有效。

代码质量极其重要的项目中,Chatbot 模式也更有利。在开发金融、医疗、航空等领域的系统,或服务数百万用户的生产系统时,直接审查和编写每一行代码更安全。

团队学习或结对编程场景下,Chatbot 模式也很出色。与学习伙伴一起接受 AI 的建议进行讨论,并亲自编写代码的过程,可以最大化学习效果。

适合使用 Cline 模式的情况

如果你有 Cline 使用经验,并且已经习惯了那种工作流程,继续使用 Cline 模式也是很好的选择。如果学习新方式让你感到负担,或者计划→执行的明确阶段划分符合你的工作风格,就没必要改变。

对于偏好明确批准步骤的开发者来说,Cline 模式也很适合。如果你觉得在 Plan 模式下充分审查,然后在 Act 模式下集中执行的方式更有条理,那就保持使用 Cline 模式。

实战应用场景

在实际项目中如何运用这些模式呢?

场景1:创业公司的 MVP 开发

情况:需要在3周内制作投资者演示用的 MVP。

第1-2周:Agent 模式
→ 快速实现基本功能
→ 遇到疑问时随时提问并继续

第3周:切换到 Chatbot 模式
→ 直接审查并重写核心逻辑
→ 安全相关代码接受 AI 建议后自己编写

演示前一天:切回 Agent 模式
→ 快速处理 UI 润色和 bug 修复

场景2:学习新技术栈

情况:需要从 React 转到 Vue.js 的项目

第1阶段:Chatbot 模式(1-2周)
→ 学习 Vue.js 基础
→ 边写简单组件边熟悉
→ 请 AI 做代码审查

第2阶段:切换到 Agent 模式
→ 用熟悉的模式快速实现功能
→ 只在复杂部分切回 Chatbot 学习

场景3:遗留代码重构

情况:现代化5年历史的遗留代码库

阶段1:Chatbot 模式
→ 请求分析现有代码
→ 讨论重构策略
→ 亲自决定核心架构

阶段2:Agent 模式
→ 按照既定模式执行重复的重构
→ 自动转换数百个文件

阶段3:回到 Chatbot 模式
→ 最终审查及亲自处理异常情况

模式切换方法

模式间的切换非常简单。

在设置中切换:

  1. 打开 Caret 设置窗口(⚙️ 图标)
  2. 进入常规标签
  3. AI 模式部分选择想要的模式:
    • Cline 模式(Plan/Act)
    • Caret Agent 模式
    • Caret Chatbot 模式
  4. 更改会立即生效

按项目设置也是可以的。在项目根目录创建 .vscode/settings.json 文件:

{
"caret.aiMode": "agent" // 或 "chatbot"、"cline"
}

这样设置后,每次打开该项目都会自动以指定模式运行。

常见问题

Q: Agent 模式比 Cline 的 Act 模式更好吗?

A: 很难说"更好"。两种模式有不同的理念。Cline Act 采用批准后持续执行直到停止的方式,最适合不受干扰地完成工作。Caret Agent 可以在执行过程中灵活切换到对话,更适合边学习边开发或需要中途确认的情况。根据情况和个人偏好选择即可。

Q: Chatbot 模式完全不写代码吗?

A: 不是的。Chatbot 模式如果你要求也能生成代码。不过,默认情况下它专注于提供说明和指导,让开发者自己编写。如果你说"用代码展示这部分",随时都能得到代码示例,可以参考后自己编写,也可以直接使用。

Q: 频繁切换模式会有问题吗?

A: 完全没问题。每个模式虽然完全独立运行,但对话记录和上下文在所有模式间共享。即使从 Agent 模式切换到 Chatbot 模式,Caret 也会记住之前的所有对话内容。不会出现工作初始化或信息丢失的情况,可以放心根据情况切换模式。

Q: 项目进行到一半切换模式可以吗?

A: 当然可以。根据项目阶段切换模式其实可能更有效。例如,用 Agent 模式快速制作初期原型,用 Chatbot 模式谨慎开发核心功能,最后用 Agent 模式处理收尾工作。请灵活使用。

下一步

理解了 Caret 的双模式系统后,可以进入下一步:


双模式系统是 Caret 独有的功能。 在完整保留 Cline 的 Plan/Act 模式的同时,额外提供了 Agent 和 Chatbot 两种新选择。每种模式都有独特的理念和优势,开发者可以根据情况自由选择最合适的模式。