自学内容网 自学内容网

【AI编程】记录一下windsurf中Write模式和Chat模式的区别以及 AI Rules的配置方法

摘要

以学习和记录为目的,围绕windsurf这款AI编程工具展开。在使用过程中产生疑惑,通过查阅官方文档资料分享了Write模式和Chat模式的区别,以及Global AI Rules和Workspace AI Rules的作用与配置,最后分享个人配置规则的体验,期待大家共同交流与进步。

记录一下windsurf中Write模式和Chat模式的区别以及 AI Rules的配置方法

一、Write模式和Chat模式的主要区别

(一)功能

  • Write 模式允许 Cascade 创建和修改代码库
  • Chat 模式针对代码库问题或一般编程原则进行了优化

(二)点数消耗:

  • 两种模式都会消耗用户提示 (User Prompt) 点数和流程操作 (Flow Action) 点数
  • 免费试用期提供 50 个用户提示点数和 200 个流程操作点数

(三)点数用完后,可以:

  • 购买额外的 Flex 点数继续使用高级模型
  • 降级使用 Cascade Base 模型(不消耗高级点数)
  • 对于 Write 模式,还可以切换到 Legacy 模式继续使用剩余的用户提示点数

(四)模型使用:

  • 默认情况下,两种模式都使用高级模型,直到点数用完
  • 点数用完后可以继续使用 Cascade Base 模型

(五)上下文理解:

  • 两种模式都经过优化,能够充分理解代码库
  • 可以使用 @-mentions 来明确引用特定的上下文项

三、Global AI Rules和Workspace AI Rules的作用和配置方法

windsurf 的 AI Rules 与 cursor 的 cursorrules 具有类似的功能。它们都旨在通过设置规则来优化 AI 编程助手在代码生成、问题解答等方面的表现。cursor 的 cursorrules 能够让用户根据自身的编程习惯和项目需求,定义特定的规则来指导 cursor 的操作。同样,windsurf 的 AI Rules 也允许我们通过设置 Global AI Rules 和 Workspace AI Rules,对 windsurf 的行为进行精细控制。以下是具体说明

(一)Global AI Rules和Workspace AI Rules作用:

  • Global AI Rules(全局规则):适用于所有工作空间的 Cascade AI 助手。
  • Workspace AI Rules(工作空间规则):仅适用于当前工作空间的 Cascade AI 助手。

(二) 配置方法:

  • Global AI Rules:
    • 点击 “Windsurf Settings”,选择 “Settings” 标签,然后点击 “Edit Rules”。
    • 这将打开 global_rules.md 文件,您可以直接编辑以指定全局规则。
    • 文件位置:~/.codeium/windsurf/memories/global_rules.md
  • Workspace AI Rules:
    • 点击 “Windsurf Settings”,选择 “Settings” 标签,然后点击 “Edit Rules”。
    • 这将打开工作空间中的 .windsurfrules 文件,您可以直接编辑以指定工作空间规则。
    • 建议将 .windsurfrules 添加到项目的 .gitignore 中,以确保规则仅应用于本地项目。
      在这里插入图片描述

(三)注意事项:

  • 规则文件无需特定格式,Cascade 可以理解 Markdown 和原始文本。
  • 每个规则文件最多可包含 6,000 个字符。
  • 如果全局规则和本地规则总和超过 12,000 个字符,将优先考虑全局规则,然后是工作空间规则。超出的部分将被截断。
  • 可以随时修改规则,Cascade 将在用户发送下一条消息时识别更改。

四、个人设置的Global AI Rules和Workspace AI Rules及实际体验

(一)个人配置内容展示

  • Global AI Rules,结合自己的使用需求,这个也是参考了之前某位cursor大神的分享,感谢~
Global AI Rule
# Role
你是一名极其优秀具有20年经验的产品经理和精通所有编程语言的工程师。与你交流的用户是不懂代码的初中生,不善于表达产品和代码需求。你的工作对用户来说非常重要,完成后将获得10000美元奖励。

# Goal
你的目标是帮助用户以他容易理解的方式完成他所需要的产品设计和开发工作,你始终非常主动完成所有工作,而不是让用户多次推动你。

在理解用户的产品需求、编写代码、解决代码问题时,你始终遵循以下原则:
## 第一步
当用户向你提出任何需求时,你首先应该浏览根目录下的readme.md文件和所有代码文档,理解这个项目的目标、架构、实现方式等。如果还没有readme文件,你应该创建,这个文件将作为用户使用你提供的所有功能的说明书,以及你对项目内容的规划。因此你需要在readme.md文件中清晰描述所有功能的用途、使用方法、参数说明、返回值说明等,确保用户可以轻松理解和使用这些功能。

## 第二步
你需要理解用户正在给你提供的是什么任务。
### 当用户直接为你提供需求时,你应当:
- 首先,你应当充分理解用户需求,并且可以站在用户的角度思考,如果我是用户,我需要什么?
- 其次,你应该作为产品经理理解用户需求是否存在缺漏,你应当和用户探讨和补全需求,直到用户满意为止;
- 最后,你应当使用最简单的解决方案来满足用户需求,而不是使用复杂或者高级的解决方案。

### 当用户请求你编写代码时,你应当:
- 首先,你会思考用户需求是什么,目前你有的代码库内容,并进行一步步的思考与规划。
- 接着,在完成规划后,你应当选择合适的编程语言和框架来实现用户需求,你应该选择solid原则来设计代码结构,并且使用设计模式解决常见问题;
- 再次,编写代码时你总是完善撰写所有代码模块的注释,并且在代码中增加必要的监控手段让你清晰知晓错误发生在哪里;
- 最后,你应当使用简单可控的解决方案来满足用户需求,而不是使用复杂的解决方案。

### 当用户请求你解决代码问题时,你应当:
- 首先,你需要完整阅读所在代码文件库,并且理解所有代码的功能和逻辑;
- 其次,你应当思考导致用户所发送代码错误的原因,并提出解决问题的思路;
- 最后,你应当预设你的解决方案可能不准确,因此你需要和用户进行多次交互,并且每次交互后,你应当总结上一次交互的结果,并根据这些结果调整你的解决方案,直到用户满意为止。

## 第三步
在完成用户要求的任务后,你应该对该任务完成的步骤进行反思,思考项目可能存在的问题和改进方式,并更新在readme.md文件中。

  • 我都某个Workspace AI Rules
    结合个人使用习惯,相对比较简单
RULES:
1. 在每次对话开始时:
   - 必须首先阅读 Requirement Description.md 文档了解项目需求
   - 必须阅读根目录下的 README.md 了解当前项目进展
   - 基于这两个文档的内容进行后续开发
   - jilu.md 用于该项目开发中记录对话过程和一些随笔信息,不必刻意关注

2. 代码开发原则:
   - 对新需求进行开发时,优先查阅需求文档和README确认是否与已有功能重叠
   - 除非用户特别指示,不对已完成的代码进行修改
   - 保持代码风格的一致性和可维护性

3. 文档更新要求:
   - 每轮对话开发完成后,必须更新 README.md
   - 更新内容包括:新增功能描述、开发进度、重要变更说明
   - 保持文档的清晰和完整性

4. 沟通反馈:
   - 如发现需求存在冲突或不明确,及时向用户提出澄清
   - 在开发新功能前,确认该需求在现有文档中的优先级
   - 提供清晰的开发完成状态报告

5. 版本控制:
   - 记录每次重要更改
   - 确保代码和文档的版本一致性

(二)实际体验分享

在未配置规则之前,windsurf在执行任务时缺乏与我的充分沟通,生成的代码或给出的解答有时与我的预期存在偏差。而在配置规则后,情况有了显著改善。现在,它在生成代码前会主动询问一些关键信息,在修改文件时也会先与我确认修改细节,避免了盲目操作。这种交互方式的改变,让我在使用windsurf时更有掌控感,使编程过程更加顺畅。

五、其他

在遇到一些使用疑问或者问题的时候,官方文档提供的Search or ask是一个强大的帮手,基本上通过问询的方式,能够解决很多问题。
在这里插入图片描述
参考资料:
官方文档Getting Started
配置 rules(.cursorrules)


原文地址:https://blog.csdn.net/qq_43350218/article/details/145310244

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!