首页 › Vibe coding 项目实战专栏 › 第 1 章:什么是 Vibe Coding? › 第 10 章:Agent 模式与自动化

第 10 章:Agent 模式与自动化

🎯 本章目标:​

​

从 Copilot (副驾驶) 升级到 Autopilot (自动驾驶)。​

了解什么是 Agentic Coding,并学会使用 Cursor Composer 和 Windsurf Cascade 来自动化执行复杂的跨文件任务。​

​

​

​

10.1 什么是 Agentic Coding?​

传统的 Copilot 模式是:你写一行,AI 补一行;或者你问一个问题,AI 给一段代码。这依然需要你主导每一步。​

而 Agentic Coding (代理编程) 是指:你给 AI 一个模糊的高级目标,AI 像一个独立的工程师一样,自己规划步骤、读写文件、运行终端、查看报错、修正代码,直到目标达成。​

核心区别​

​

#zXIPbIkvCTZI text { white-space: pre; }#zXIPbIkvCTZI .fb0 { stroke: var(--N900-FG, 0.15); }#zXIPbIkvCTZI .fb0 {stroke: rgba(31,35,41, 0.15)}#zXIPbIkvCTZI .fx0 { stroke-miterlimit: 10; }#zXIPbIkvCTZI .fx0 {stroke-miterlimit: 10}#zXIPbIkvCTZI .fa1 { fill: rgb(187, 191, 196); }#zXIPbIkvCTZI .fa1 {fill: rgb(187, 191, 196)}#zXIPbIkvCTZI .fx1 { font: 400 12px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#zXIPbIkvCTZI .fx1 {font-style: normal}#zXIPbIkvCTZI .fx2 { text-anchor: middle; }#zXIPbIkvCTZI .fx2 {text-anchor: middle}#zXIPbIkvCTZI .fx3 { dominant-baseline: central; }#zXIPbIkvCTZI .fx3 {dominant-baseline: central}#zXIPbIkvCTZI .fx4 { stroke: none; }#zXIPbIkvCTZI .fx4 {stroke: none}#zXIPbIkvCTZI .fc0 { fill: var(--text-caption); }#zXIPbIkvCTZI .fc0 {fill: #646a73}#zXIPbIkvCTZI .fa2 { fill: var(--text-link-disabled); }#zXIPbIkvCTZI .fa2 {fill: rgb(187, 191, 196)}#zXIPbIkvCTZI .fx5 { font: 700 13px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#zXIPbIkvCTZI .fx5 {font-style: normal}#zXIPbIkvCTZI .fx6 { text-anchor: start; }#zXIPbIkvCTZI .fx6 {text-anchor: start}#zXIPbIkvCTZI .fx7 { dominant-baseline: alphabetic; }#zXIPbIkvCTZI .fx7 {dominant-baseline: alphabetic}#zXIPbIkvCTZI .fc1 { fill: rgb(0, 0, 0); }#zXIPbIkvCTZI .fc1 {fill: rgb(0, 0, 0)}#zXIPbIkvCTZI .fx8 { font: 400 13px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#zXIPbIkvCTZI .fx8 {font-style: normal}#zXIPbIkvCTZI .fb1 { fill: var(--N900-FG, 0.15); }#zXIPbIkvCTZI .fb1 {fill: rgba(31,35,41, 0.15)}#zXIPbIkvCTZI .fb2 { fill: rgb(209, 217, 224); }#zXIPbIkvCTZI .fb2 {fill: rgb(209, 217, 224)}#zXIPbIkvCTZI .fa3 { fill: var(--bg-body); }#zXIPbIkvCTZI .fa3 {fill: #fff}ABC12345维度Chat / CopilotAgent指令能力交互主动性"帮我写这个函数"生成文本单次问答被动等待"把整个登录模块从 JS 迁移到 TS"生成文本 + 操作工具 (读写文件/运行命令)多步循环执行 (Loop)主动探索与修复

​

​

​

10.2 Cursor Composer 的 Agent 模式​

Cursor 的 Composer 不仅仅是一个多文件编辑器,它本身就是一个初级的 Agent。​

而在 2025 年的版本中,这一能力被大大增强。​

如何开启?​

在 Composer 窗口 (Ctrl+I) 中,你可以选择 "Agent Mode" (通常在输入框旁边有一个开关或模型选择中包含 "Agent" 字样)。​

Agent 的超能力:工具调用 (Tool Use)​

当你给 Composer 一个指令时,它不仅能写代码,还能:​

🔍 List Files / Search:自己去翻你看不到的文件,理解项目结构。​

📝 Read / Write:同时修改 10 个文件而不会搞混。​

🖥️ Terminal:可以运行 npm install 或 ls。注意:出于安全考虑,运行命令通常需要你点击 "Allow" 确认。​

​

⚠️ 危险操作警示 Agent 拥有修改甚至删除文件的权限。在开启 Agent 模式进行大规模操作前,务必先 Git Commit。如果 Agent 搞砸了(信我,它会的),你可以一键回滚。​

​

竞品:Windsurf Cascade​

在 Agent 领域,Codeium 出品的 Windsurf 也是一个强劲对手。它的 "Cascade" 模式对上下文的流动理解非常深刻,如果你觉得 Cursor Agent 卡住了,不妨试试 Windsurf。​

​

​

10.3 自动化任务实战​

让我们看看 Agent 能做哪些 Chat 做不到的事。​

场景 1:大规模重构 (The Refactor Agent)​

​

指令: "将 src/components 下的所有 React 类组件 (Class Components) 重构为函数式组件 (Functional Components)。确保保留所有 Props 和 State 逻辑。"​

​

Agent 的执行过程:​

列出 src/components 下的所有文件。​

逐个读取文件内容。​

识别出类组件。​

编写重构后的代码并写入。​

(高级 Agent) 甚至会运行 npm test 看看重构坏了没有。​

​

💡 如何手动刹车? 如果你发现 Agent 陷入了 "修改 -> 报错 -> 修改 -> 报错" 的死循环(Loop),请果断点击输入框旁边的 Stop (⏹️) 按钮。Agent 有时候会钻牛角尖,这时候需要人类介入 "拍醒" 它。​

​

场景 2:环境排错 (The DevOps Agent)​

​

指令: "我的项目启动报错了,好像是 Node 版本不兼容。请帮我检查环境,可以运行 node -v 和查看 package.json,然后帮我修复。"​

​

Agent 的执行过程:​

运行 node -v 获取当前版本。​

读取 package.json 的 engines 字段。​

发现不匹配。​

建议你安装 nvm 或直接修改 package.json。​

​

​

10.4 多文件协同编辑实战​

Agent 最强大的地方在于对文件依赖关系的理解。​

案例:给博客添加"评论通知"功能​

这个功能涉及:​

数据库:schema.prisma (添加 Notification 表)。​

API:app/api/comments/route.ts (并在创建评论时写入通知)。​

UI:app/components/Navbar.tsx (显示小红点)。​

​

Agent 提示词: "请实现评论通知功能。​

更新 Prisma Schema,添加 Notification 模型。​

当有人发表评论时,给文章作者创建一条通知。​

在导航栏的用户头像旁显示未读消息数。 请一步步执行,每改完一个模块让我确认一下(或者自动继续)。"​

​

Agent 会怎么做? 它可以一次性规划好这三个文件的修改,并按照依赖顺序执行:先改数据库 -> 再改逻辑 -> 最后改 UI。这如果在 Chat 里,你得手动来回粘贴好几次。​

​

​

10.5 MCP 协议入门:连接外部工具 (Model Context Protocol)​

如果说 Agent 是"大脑",那么 MCP 就是它的"USB 接口"。 Model Context Protocol (MCP) 是 Anthropic 推出的一项开放标准,旨在让 AI 能够安全、统一地连接本地数据和工具。​

为什么要用 MCP?​

以前,如果你想让 AI 读取你的本地 SQLite 数据库,或者操作你的 Notion,你需要把数据 Copy 出来给它。现在,通过 MCP,你可以给 Cursor 安装一个 "SQLite Server",AI 就能实时查询数据库了。​

实战:连接本地数据库​

安装 MCP Server: (以 Cursor 为例,需在 Settings -> MCP 中配置)​

​

​

使用: 在 Composer 中,直接告诉 AI:​

​

"请连接我的 SQLite 数据库,查询 User 表的前 10 条数据,并分析用户的注册趋势。"​

​

MCP 将是未来 Vibe Coding 的核心基础设施。 掌握它,你的 AI 就不再是被困在聊天框里的孤岛,而是能触达真实世界的章鱼。​

📝 本章小结​

Agentic Coding 代表了编程的未来趋势。虽然目前的 Agent 还不能完全脱离人类(经常会卡在死循环或改错文件),但对于确定性高、繁琐、跨文件的任务,它们已经是不可或缺的帮手。​

​

​

​