09 AI Agent 基础

09 AI Agent 基础
cuizhenjieAgents 是个什么玩意儿
说实话,第一次听说 AI Agents 的时候,我还以为是什么营销概念。用了一段时间才发现,这东西真的挺有意思的。
跟普通的 AI 对话不一样,Agents 能够自主执行复杂的多步骤任务。它能规划、执行、验证,并在需要时调整策略。就像有个小助手,不仅能听懂你的指令,还能自己思考怎么做,然后一步步去执行。
我举个例子。你让它”重构这个模块,提高可维护性”,普通的 AI 可能会给你一堆建议,但 Agent 会真的去分析代码、识别问题、应用重构模式、验证改动,甚至还会运行测试确保功能不变。
跟普通对话有什么区别
普通对话基本上是你问它答,一次性解决问题。比如”解释这段代码”,它就解释一下,然后就结束了。
Agents 不一样,它有自主性和持续性。你说”为这个项目生成测试”,它会先扫描项目结构,识别需要测试的模块,然后为每个模块生成测试用例,覆盖边界情况,最后还会验证一下测试覆盖率。
这种多步骤、有状态、能自主决策的特性,让 Agents 更像是一个真正的”助手”,而不是简单的”工具”。
内置的几个 Agents
Claude Code 自带了几个挺好用的 Agents。
Explore Agent
探索代码库的时候特别有用:
1 | claude --agent explore "找出这个项目中所有的 API 端点" |
它会扫描项目结构、识别关键文件、分析代码模式、生成项目概览。我刚接手一个新项目的时候,常用这个 Agent 快速了解项目架构。
Test Agent
生成测试的时候很方便:
1 | claude --agent test "为这个模块生成单元测试" |
它会分析代码结构、生成测试用例、覆盖边界情况、生成断言。我试过几次,质量还挺不错的,尤其是边界情况考虑得挺全面。
Refactor Agent
代码重构的时候帮大忙:
1 | claude --agent refactor "重构这个模块,提高可维护性" |
它能识别代码异味、应用设计模式、改善代码结构,而且会保持功能不变。这个功能我用在维护老项目的时候,省了不少时间。
怎么用 Agents
其实挺简单的。
指定 Agent
1 | # 明确指定用哪个 Agent |
我一般会明确指定 Agent,这样更可控。但如果你不确定用哪个,让 Claude 自己选择也行,它判断得还挺准的。
Agent 参数
有些 Agent 支持参数配置:
1 | claude --agent test \ |
这样可以让 Agent 按照你的需求工作,比如指定测试框架、覆盖率目标之类的。
Agent 输出
Agents 通常会给你一个完整的执行过程:先告诉你它的计划,然后展示执行过程,最后给结果,有时候还会有验证报告。
这个流程挺好的,你能清楚看到它在做什么,也能随时打断调整。
配置 Agents
Agents 的行为是可以配置的。
全局配置
在 ~/.claude/agents.json 里配置:
1 | { |
这样所有项目都会用这个配置。
项目级配置
在项目的 .claude/agents.json 里覆盖全局配置:
1 | { |
我一般会在项目级配置,因为不同项目的要求不一样。比如前端项目用 Jest,后端项目用 pytest,这样更合理。
实用场景
说几个我常用的场景。
代码审查 Agent
1 | claude --agent review "审查这次 PR 的所有更改" |
它会获取所有更改文件、逐一审查、汇总问题、提供修复建议。我一般合并 PR 前都会用它过一遍,经常能发现一些问题。
文档生成 Agent
1 | claude --agent docs "为整个项目生成 API 文档" |
它会扫描所有源文件、提取函数签名、分析参数和返回值、生成 Markdown 文档。这个功能在接手文档缺失的项目时特别有用。
性能优化 Agent
1 | claude --agent optimize "优化这个模块的性能" |
它会分析代码瓶颈、提出优化方案、应用优化、验证性能提升。我试过几次,有时候能发现一些我自己没注意到的性能问题。
自定义 Agents
内置的 Agents 不够用?你可以自己创建。
简单的 Agent
1 | cat > ~/.claude/agents/custom.json << 'EOF |
定义 Agent 技能
1 | { |
我试过创建几个自定义 Agent,感觉挺好用的。尤其是针对团队特有的工作流,自定义 Agent 能省不少事。
几个建议
用 Agents 处理这些任务比较合适:多步骤任务、需要验证的任务、重复性任务、复杂决策任务。
根据项目调整配置很重要:框架和工具、质量标准、验证要求,这些都要根据实际情况来。
始终要检查 Agent 的输出、运行相关测试、验证功能正确性。别完全依赖它,它只是助手,最终责任还在你。
高级玩法
Agent 链接
1 | # 先探索,再重构 |
这种链式操作特别实用,可以把多个 Agent 串起来完成复杂任务。
并行 Agents
1 | # 同时运行多个 Agents |
这样可以加快速度,尤其是任务之间没有依赖关系的时候。
Agent 模板
1 | # 创建可重用的 Agent 模板 |
我一般会把常用的 Agent 配置保存成模板,下次直接拿来用。
我的使用经验
Agents 真的能省不少时间,但也要会用。我觉得关键是选对任务,不是所有事情都适合用 Agent。
复杂的多步骤任务用 Agent 特别合适,比如”为整个项目生成测试”、”重构这个模块”、”优化性能”。简单任务就没必要了,直接问 Claude 更快。
配置也很重要。根据项目调整 Agent 的参数,能让它更好地适应你的需求。比如测试框架、代码风格、覆盖率要求,这些都要配好。
验证输出是必须的。Agent 给的结果你一定要检查,测试一下,确保没问题再用。我见过有人完全依赖 Agent,结果出了问题都不知道。
下一步
Agents 的强大之处在于它能自主执行复杂任务。但要用好它,还需要掌握一些最佳实践。
下一章我会分享一些使用技巧、常见陷阱和优化建议,帮你更高效地使用 Claude Code。













