Cursor 0.44版本悄悄上线,体验YOLO模式,我知道编程再也回不去了。
🍹 Insight Daily 🪺
Aitrainee | 公众号:AI进修生
Hi,这里是Aitrainee,欢迎阅读本期新文章。
Cursor这小玩意,他会悄悄的自动在后台更新,前一分钟还是这个界面,后一分钟功能和界面都改变了。
前几天,cursor 0.44 版本更新的推送了。出于好奇,我立马点开了他们的更新日志。当我看到"YOLO模式"这四个字的时候,不禁会心一笑。
这个名字。。。和我以前经常实践的:目标检测算法 YOLO (You Only Look Once) 的理念不谋而合 — 一次性完成任务。
就像 YOLO 算法只需要看一次图像就能识别所有目标一样,Cursor 的 YOLO 模式也能让 AI 一次性自动完成一系列操作,大大提高了开发效率。
当然,这个名字还暗含着 "放手一搏" 的意味,毕竟让 AI 自主执行命令,确实需要一点勇气呢。
带着好奇心我开始了更新...
更新完成后,在设置里选择YOLO模式后,你就可以看到Agent终端疯狂滚动:
根据他的更新公告,下面我们来详细说说:
Agent升级 | 终端交互能力增强
代理可以看到终端退出代码,可以在后台运行命令,并且命令现在可以编辑
# 示例场景
npm install react
# 如果安装失败(退出码非0)
> Error: Unable to resolve dependency tree
> exit code: 1
# Agent自动分析:
"检测到npm安装失败,正在分析依赖冲突..."
# 自动提供解决方案:
npm install react --legacy-peer-deps
Lite错误自动修复
Linter 错误自动修复,这个以前也挺烦人的(红线),以前还需要专门对话才能单个解决,现在他可以批量自动修复了。
// 原代码
const foo = function() {
console.log('Hello) // 缺少引号
}
// Agent自动检测并修复
const foo = function() {
console.log('Hello') // ✓ 已修复
}
新增YOLO模式 | 简直是懒人福音
这功能我给满分!直接帮你自动执行命令:
• 初始化git
• 装依赖
• 启动项目 一条龙服务,简直是新手开发者的及时雨啊!
还有,上下文理解更强了。。。
Agent模式支持更多信息源集成了
• 文档?懂!
• Git历史?了解!
• 网页内容?明白!
• 文件结构?清楚!、
毕竟原来Agent模式并不支持这些,只有普通的composer模式支持,总是会致我在二者之间权衡。
Agent可以决定同时编辑多个位置 | 并发修改代码,更快了
// 同时修改多个相关文件
// components/Header.js
export const Header = () => {
const theme = useTheme() // 添加主题
}
// components/Footer.js
export const Footer = () => {
const theme = useTheme() // 同步添加
}
// styles/theme.js
export const useTheme = () => {
// 自动创建主题hook
}
代理自动将更改保存到磁盘
Cursor 中的 Agent 会在代码编辑过程中,自动将对文件的更改保存到磁盘上,而不是仅仅保存在内存或暂存区。这一功能的目的是确保用户的代码更改不会因意外情况(如程序崩溃或断电)而丢失,从而提高开发过程的安全性和效率。
• 自动保存,再也不怕电脑蓝屏
• 随时可以回滚,写崩了不用怕
Composer的更改和检查点现在在重新加载后保持不变
很爽的一个功能,就是上一篇文章说到的他的git check out有个局限是会在你关闭cursor之后生效,现在这个修复了,即便是关闭或者跨对话,也不影响你回滚了。
2024-12-22
Cursor Tab 可以一次进行更大的编辑
更好的用户体验以在 Composer 中查看更改 更便宜、更快速的 Bug 查找模型
以及。。。你现在可以在agent模式下使用gpt-4o模型了。
实际应用场景
让我们看一个完整的开发场景:
我是倾向于后者的:"你面前有一个学习曲线,但如果你选择学习,你会发现你错了。毫无疑问,许多人使用 Cursor 不当,工作质量很差。",同样一个AI工具,不管是cursor还是以前的chatgpt,人们利用工具的水平是不一的,很多人觉得工具不能完成什么,而忽视了他们自己的能力。
正如一位用户分享的使用心得,他将 Cursor 视为一个“初级”开发人员,通过逐步分解任务,每次专注于一个功能的方式进行协作。他不会直接说“添加暗黑模式”,而是会详细地描述任务,例如“添加一个上下文管理器来管理暗/亮模式,确保在 hooks/ 下创建一个名为 useLocalStorage 的 hook,并在上下文管理器中使用它来保存用户偏好”。然后,在同一个 Composer 会话中,他会添加一个暗黑模式切换按钮到导航栏。这种细致的任务分解方式,使得 Cursor 能够更好地理解和执行用户的意图。
此外,该用户还强调了 Notepads 功能的重要性,他为每个功能或资源都创建了前端和后端 Notepads。例如,如果他开发一个“团队”功能,他会将所有团队后端文件(路由、CRUD、模型、模式)添加到“团队后端”Notepad,并将所有与团队相关的前端文件添加到“团队前端”Notepad。这样,他可以在需要时轻松地引用这些 Notepads,从而更好地理解代码上下文,并进行修改或添加功能。
该用户还详细描述了 Cursor 规则文件的使用,他会在规则文件中详细说明代码的语法、格式、使用的库以及其他通用规则,例如在文件顶部添加完整的文件路径作为注释。他还维护了后端和前端的 README.md 文件,其中以 Markdown 格式记录了整个文件夹结构,这对于理解项目结构非常有帮助。
最后,他提到 Chat 功能也十分强大,他通常使用 Chat 来询问有关代码库或正在开发的功能的问题,然后再使用 Composer 来执行任务。他认为 Cursor 极大地提高了他的开发效率,让他能够以 100 倍的速度完成工作。
当然,他的这种方法,也是我们灵活选择的一种参考,或者给你的一个启发。很明显他提到的这个方法是本身对这个技术或者编程来说很有经验的人才会想到这种提示词,那么对于大型项目或者需要自己完全非常可控的操作代码的情况下,可以用他的方法。
我觉得,你也完全可以使用更好的规则提示词或自主性提示词,比如思维链的形式,达到他的效果。Agent + 思维链:我已经在规则文件中使用了这种模式,我觉得效果很不错。
另一位用户则表示:“我更喜欢使用 @web 而不是索引文档,因为我仍然觉得索引效果不是很好。”
@web 功能:构建上下文的利器,用户可以通过 @web 直接从网络获取信息,这对于构建上下文、查找文档和解决问题非常有帮助。
还有,Cursor 比 Cline 更强大。
此外,保持 Cursorrules简洁明了也比较重要。
🌟 知音难求,自我修炼亦艰,抓住前沿技术的机遇,与我们一起成为创新的超级个体(把握AIGC时代的个人力量)。