7.5 自主编码实践与案例
Agentic Coding (代理式编程) 与传统的 Code Completion (代码补全) 最大的区别在于:Agent 拥有目标感和行动力。它不是在等你敲下一个字符,而是主动去解决一个问题。
本节将展示三个不同复杂度的实战案例,带领体验 Agentic Coding 的强大。
7.5.1 案例一:全栈功能即刻实现
任务:在一个现有的 Todo List 应用(React + Node.js)中,新增一个“任务优先级”功能。
Prompt:
"请为当前应用添加任务优先级功能。需要前端支持选择高/中/低优先级(用颜色区分),后端数据库添加字段,API 支持读写该字段。"
Claude Agent 执行流:
Reconnaissance (侦察):
读取
package.json确认技术栈。读取
schema.prisma(假设用 Prisma) 了解数据库结构。读取
App.tsx了解前端组件结构。
Backend Changes:
修改
schema.prisma,添加priority Enum.运行数据库迁移命令
npx prisma migrate dev.更新后端 Controller 处理新字段。
Frontend Changes:
修改
TodoItem组件,根据优先级渲染不同的 Badge 颜色 (Red/Yellow/Green)。修改
TodoForm组件,添加下拉选择框。
Verification:
运行
npm test,发现旧测试报错(因为缺少 priority 字段)。自动修复测试数据。
再次运行测试,通过。
开发者工作: 审查 Diff,点击 Merge。耗时从 2 小时缩短到 10 分钟。
7.5.2 案例二:遗留代码的大规模重构
任务:将一个基于 Python 2.7 的老旧脚本库迁移到 Python 3.10,并添加类型注解。
Prompt:
"将
scripts/目录下的所有 Python 文件迁移到 Python 3。使用typing模块添加类型注解。确保所有logger。"
Claude Agent 执行流:
Analysis: 扫描目录,发现 50 个
.py文件。Planning: 决定按依赖顺序处理,先处理底层的
utils.py。Iterative Refactoring:
File 1:
print "hello"->logger.info("hello").File 1:
def add(a, b):->def add(a: int, b: int) -> int:.File 1: 修复
urllib到urllib.request的导入变化。
Validation:
尝试运行脚本。发现
str和bytes编码错误。自我修正:添加
.decode('utf-8')。
Batch Processing: 对剩余 49 个文件重复此过程。
重点: 对于这种机械性强但极易出错的体力活,Agent 是完美的人选。
7.5.3 案例三:从零构建测试套件
任务:为一个“裸奔”的电商后端 API 项目补充集成测试。
Prompt:
"分析
src/routes下的所有 API 路由,并在tests/目录下编写对应的集成测试。使用pytest和httpx。覆盖正常路径和常见的 400/404 错误路径。"
Claude Agent 执行流:
Understanding: 遍历路由文件,解析出 GET/POST 请求的参数校验逻辑 (Pydantic models)。
Scaffolding: 创建
conftest.py,配置测试数据库 fixture。Writing Tests:
生成
test_products.py: 测试商品列表、商品详情。生成
test_orders.py: 测试创建订单、库存扣减。亮点: 自动生成了 mock 数据(模拟的商品名、价格)。
Running & Fixing:
初次运行报错 401 Unauthorized。
Claude 意识到需要先调用
/login获取 Token。自动在
conftest.py中添加了一个获取 Token 的 fixture,并注入到所有测试用例中。
7.5.4 案例四:Cowork 模式——非开发者的代理编程
2026 年 1 月,Anthropic 发布了 Cowork 模式,将 Claude Code 的能力扩展到非程序员用户。
什么是 Cowork?
Cowork 是 Claude Code 的"轻量版",专为非技术用户设计:
在 Claude 桌面应用中直接访问
授权 Claude 访问指定文件夹
Claude 可以读取、编辑、创建文件
支持与 Connectors (MCP) 和 Skills 配合使用
典型用例
整理下载文件夹
Claude 自动分类、重命名文件
从截图生成报表
识别多张收据截图,生成 Excel 汇总
笔记整理成报告
读取散乱的笔记文件,输出格式化文档
使用方式
订阅 Claude Max 计划
点击侧边栏中的 "Cowork"
选择要授权的文件夹
描述任务,让 Claude 执行
安全注意事项
Cowork 虽然强大,但需要注意以下风险:
文件误操作
Claude 可能误解指令删除文件
重要操作前 Claude 会请求确认
Prompt Injection
恶意内容可能干扰 Claude 行为
Anthropic 内置了防护,但仍需谨慎处理不可信文件
权限范围
只有授权的文件夹可被访问
最小权限原则:只授权必要的文件夹
7.5.5 成功要素总结
为什么有些人的 Agent 总是写出 Bug,而有些人的 Agent 却能通过图灵测试?
显性上下文
不要让 Agent 猜。如果有数据库 Schema,直接喂给它。如果有 UI 设计图,截图喂给它。
Tip: 维护一个
CLAUDE.md文件在项目根目录(参见 7.2 节),专门写给 AI 看。
增量反馈
不要试图一次性生成整个操作系统。
Bad: "做一个类似 Windows 的 OS。"
Good: "先实现一个简单的文件系统抽象,支持 read/write。" -> "好,现在基于这个 FS 实现一个 shell。"
即时审查
Agent 就像一个手速极快但偶尔粗心的初级程序员。 Trust, but Verify (信任,但要验证)。 永远不要在不看 Diff 的情况下直接 git commit。务必运行测试。
Agentic Coding 正在重塑软件工程的每一环。它不是要取代程序员,而是要消灭重复劳动,让开发者专注于架构设计和业务价值。
到目前为止,讨论的 Agent 主要是单兵作战。但在更复杂的场景下,需要多个 Agent 协作,这就涉及到 Agent 架构设计。
最后更新于
