Agent模式
Agent模式是我用Claude Code最喜歡的功能之一。它不再只是被動回答問題,而是能主動思考、探索專案、制定計劃並逐步執行。
這篇文章詳細介紹Agent模式的工作原理和使用場景。
什麼是Agent模式
傳統對話模式 vs Agent模式
先看傳統AI助手怎麼工作的:
傳統模式:
你: 帮我找到处理用户认证的代码
AI: 你可以在auth.js文件中查看
你: 认证逻辑在哪个函数?
AI: 应该在verifyToken函数中
你: 帮我添加刷新token的功能
AI: [等待你提供更多信息]
這種模式下,AI只能被動回答,每次都需要你明確指示下一步。
Agent模式:
你: 帮我添加刷新token的功能
Agent: I'll help you add refresh token functionality. Let me first explore
your authentication setup.
[Agent自主工作流程]
1. 探索项目结构
✓ Found auth middleware in src/middleware/auth.js
✓ Found JWT config in src/config/jwt.js
✓ Found User model in src/models/User.js
2. 分析现有认证逻辑
✓ Using JWT for access tokens (15min expiry)
✓ No refresh token mechanism currently
✓ Token stored in Authorization header
3. 设计实现方案
✓ Add refreshToken field to User model
✓ Create /auth/refresh endpoint
✓ Update login to return both tokens
✓ Add token rotation mechanism
4. 执行实现
✓ Modified User model
✓ Created refresh token endpoint
✓ Updated authentication middleware
✓ Added token cleanup logic
✓ Refresh token functionality has been implemented!
Next steps you might want:
- Add tests for refresh token flow
- Update API documentation
- Configure token expiry times
看到區別了嗎?Agent模式下,Claude Code會:
- 主動探索: 自己查詢相關檔案和程式碼
- 自主分析: 理解現有架構和實現
- 制定計劃: 設計完整的實現方案
- 執行任務: 逐步完成所有必要的修改
- 提供建議: 主動提出後續最佳化方向
Agent的核心特徵
1. 自主性(Autonomy)
Agent不需要你手把手指導每一步:
传统模式:
你: 创建一个API
AI: 好的,需要什么端点?
你: GET /users 和 POST /users
AI: 需要什么字段?
你: name, email, password
AI: 需要验证吗?
你: 是的
AI: 需要什么验证规则?
[...无穷无尽的来回...]
Agent模式:
你: 创建一个用户管理API,包含常见功能
Agent: I'll create a complete user management API for you.
[自主完成]
✓ RESTful endpoints (GET, POST, PUT, DELETE)
✓ Input validation with proper error messages
✓ Password hashing with bcrypt
✓ Email format validation
✓ Error handling middleware
✓ API documentation
2. 探索能力(Exploration)
Agent會主動探索專案環境:
- 自動發現專案結構
- 識別技術棧和框架
- 找到相關配置檔案
- 理解程式碼依賴關係
- 發現潛在問題
3. 規劃能力(Planning)
Agent會在執行前制定詳細計劃:
Task: 重构数据库查询层
Agent Planning:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 Execution Plan
Phase 1: Discovery & Analysis
├─ Scan all database queries in the project
├─ Identify duplicate query patterns
├─ Find N+1 query problems
└─ Map query-to-file relationships
Phase 2: Design
├─ Design unified query builder interface
├─ Plan migration strategy
├─ Define error handling approach
└─ Design caching layer
Phase 3: Implementation
├─ Create base QueryBuilder class
├─ Refactor user queries
├─ Refactor product queries
├─ Refactor order queries
└─ Add caching mechanism
Phase 4: Validation
├─ Run existing tests
├─ Add new tests for QueryBuilder
└─ Performance benchmarking
Estimated impact: ~15 files, ~500 lines modified
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Proceed with execution? (yes/no)
4. 執行能力(Execution)
Agent會逐步執行計劃並實時報告進度:
🤖 Executing Phase 1: Discovery & Analysis
├─ [1/4] Scanning database queries... ✓ Found 23 queries
├─ [2/4] Identifying patterns... ✓ Found 5 duplicate patterns
├─ [3/4] Analyzing N+1 problems... ✓ Found 3 instances
└─ [4/4] Mapping relationships... ✓ 12 files affected
🤖 Executing Phase 2: Design
├─ [1/4] Designing QueryBuilder... ✓ Interface defined
├─ [2/4] Planning migration... ✓ Strategy documented
├─ [3/4] Defining error handling... ✓ ErrorHandler created
└─ [4/4] Designing caching... ✓ Cache layer planned
🤖 Executing Phase 3: Implementation
[Working on user queries...]
如何啟動和使用Agent
啟動Agent模式
Agent模式有多種啟動方式:
方式1:透過Slash命令啟動
# 在Claude Code中输入
/agent 帮我重构认证模块,使其支持多种登录方式
方式2:使用agent命令列引數
# 启动时直接进入Agent模式
claude --agent
# 或者带任务启动
claude --agent "优化数据库查询性能"