Cursor usage tips

Questions 请分享至少一个使用cursor(或类似AI编程工具)中的小技巧(或MCP工具) 参考文档: https://x.com/ryolu_/status/1914384195138511142 Cursor首席设计师 发布的关于如何正确使用Cursor,一共 12 条方法 https://github.com/digitalchild/cursor-best-practices 介绍了 Cursor 作为 AI 编辑器的配置与使用方法。 规则(Rules)设置分为用户规则和项目规则,支持设置编码风格、命名规范等。 提供了规则层级优先级和忽略文件机制的说明,有助于优化 AI 对代码库的理解。 推荐写简洁且可复用的规则文件,给出具体示例。 https://www.siddharthbharath.com/coding-with-cursor-beginners-guide/ 详细说明了 Cursor 的三种主要模式及使用方法。 建议使用规则文件统一团队或个人的偏好,如 TypeScript 项目的严格模式、Python 的 PEP8 规范等。 强调通过规则让 AI 记住编码习惯,减少重复说明。 提供了不同项目类型的规则配置示例,有助于建立一致的代码风格 https://www.prompthub.us/blog/top-cursor-rules-for-coding-agents 大量引导 AI 遵循函数式编程、代码结构清晰、命名一致、类型安全优先(如 TypeScript)等现代编码最佳实践。 关注代码安全、性能以及减少无用审核。 尤其适合团队统一风格和提升生成代码质量。 https://mcp.so/ MCP站 ⚙️规则驱动的AI辅助开发 大型语言模型的一个根本局限是,它们在每次交互后都会“忘记”之前的内容,除非你再次提供上下文。规则文件就是为了解决这个问题而生,它像一个持久化的“项目记忆”,能够让 AI 在任何时候都能遵循你预设的原则。 以下是如何利用这个技巧: 创建项目规则文件:在你的项目根目录下创建一个 .cursor/rules 文件夹,并在其中创建规则文件(.mdc)。这些文件可以被版本控制系统(如 Git)追踪,确保整个团队都能使用同一套规范 。 编写具体、可操作的规则:避免使用“写出好代码”这类模糊指令。相反,要提供具体、可操作的指导,并附上代码示例 。例如,你可以要求: 强制使用 TypeScript 严格模式:明确告诉 AI“所有代码都必须使用 TypeScript 严格模式,避免使用 any 或 unknown 类型” 。 遵循 PEP8 规范:如果你在写 Python 项目,可以告诉 AI 遵循 PEP8 规范,例如“在二元运算符周围使用单个空格,但不要在函数参数默认值等号周围使用” 。 统一代码风格:要求 AI 遵循特定的命名约定,比如“所有目录名都使用小写加短横线(auth-wizard),组件名使用具名导出” 。 利用不同层级的规则:Cursor 支持多种规则类型,它们有不同的应用范围和优先级 。你可以利用这些层级来精细化控制 AI 的行为: 用户规则 (User Rules):在 Cursor 设置中定义,适用于所有项目。例如,你可以设置一个全局规则来控制 AI 的回复风格,比如“请以简洁的风格回复,避免不必要的重复” 。 项目规则 (Project Rules):存储在项目目录中,只对当前项目生效。你可以使用“自动附加”(Auto Attached)规则,让 AI 在处理特定文件(如 app/controllers/**/*....

August 28, 2025 · 1 min · LwQ

Tokenization and Embedding

Questions 阅读资料并解释什么是 tokenization 和 embedding 在自然语言处理(NLP)和大语言模型(LLM)中,Tokenization(分词)和Embedding(嵌入)是两个关键步骤,它们将原始文本转换为模型可以理解和处理的形式。 🧩 Tokenization(分词) 定义:Tokenization 是将原始文本拆分成更小的单元(称为 tokens)的过程,这些 tokens 可以是单词、子词、字符,甚至是符号。 目的:将文本转换为模型可处理的基本单位。 常见方法: 空格分词:基于空格将文本拆分成单词。 WordPiece:将词分解为更小的子词单元,常用于 BERT 模型。 Byte-Pair Encoding (BPE):基于频率合并字符或子词,常用于 GPT 系列模型。 示例: 原始文本:“It’s over 9000!” 空格分词:[“It’s”, “over”, “9000!”] WordPiece:[“It”, “’”, “s”, “over”, “9000”, “!”] BPE:[“It”, “’s”, " over", " 9000", “!”] 每个 token 通常会被映射到一个唯一的数字 ID,供模型使用。 🧠 Embedding(嵌入) 定义:Embedding 是将 tokens 映射到连续向量空间的过程,使得模型能够捕捉词汇的语义和上下文信息。 目的:将离散的 token ID 转换为模型可以处理的连续向量。 实现方式: 词袋模型(Bag of Words):统计词频,忽略词序。 TF-IDF(词频-逆文档频率):考虑词频和逆文档频率的加权。 Word2Vec、GloVe:基于上下文训练词向量。 Transformer 模型中的嵌入层:如 BERT、GPT 等模型使用嵌入层将 token ID 转换为向量。 示例: 对于 token ID 序列 [101, 2009, 1005, 1055, 2058, 7706, 2692, 999, 102],嵌入层将其转换为对应的向量表示,供模型进一步处理。...

May 29, 2025 · 1 min · LwQ

LLM Decoding Strategy

Questions 一、以下是几个目前大语言模型常用的解码策略(一般在调用模型的API中可以设置),请解释它们的基本原理及使用方式 贪心搜索 (Greedy search)、波束搜索 (Beam search)、Top-K 采样 (Top-K sampling) 以及 Top-p 采样 (Top-p sampling) 二、请解释 温度(temperature) 的基本原理及使用方式 Answer 一、解码策略基本原理及使用方式 贪心搜索(Greedy Search) 📌 原理: 每一步都选择概率最高的下一个 token(词/子词)。 📈 特点: 最快,计算简单; 可能错过全局最优解; 生成的文本往往比较“机械”或者“无趣”。 🧠 举个例子: 输入:“The weather is” 模型预测:“sunny”(90%),“cloudy”(5%),“rainy”(5%) → 贪心搜索会 直接选择 “sunny” 波束搜索(Beam Search) 📌 原理: 同时保留 k 个最有可能的候选序列(beam width),每一步扩展所有候选,然后选出得分最高的 k 个序列继续。 📈 特点: 比贪心更好,能找到更优的整体结果; 但会带来重复、啰嗦问题(比如重复短语); 计算成本高于贪心。 🔧 参数: beam width(波束宽度)常用值:3、5、10 🧠 类比: 像是在走迷宫,不止走一条路,而是并行尝试几条路,最后选得分最高的那条。 Top-K 采样 📌 原理: 每一步只从概率最高的 K 个 token 中随机采样一个。...

April 24, 2025 · 2 min · LwQ