最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ClaudeCode中的Agent系統(tǒng)工作原理、如何使用和自定義開發(fā)

 更新時(shí)間:2026年03月14日 13:43:01   作者:冬奇Lab  
本文介紹了ClaudeCode中的Agent系統(tǒng),包括其工作原理、內(nèi)置Agent的使用方法、如何創(chuàng)建自定義Agent以及優(yōu)秀的Agent框架BMAD-Method,通過使用Agent,可以提高開發(fā)效率,提升專業(yè)知識(shí),并促進(jìn)團(tuán)隊(duì)協(xié)作

Claude Code 是 Anthropic 官方推出的終端原生AI編程代理,專注于代碼開發(fā)全流程。本文介紹了ClaudeCode中的Agent系統(tǒng),包括其工作原理、內(nèi)置Agent的使用方法、如何創(chuàng)建自定義Agent以及優(yōu)秀的Agent框架BMAD-Method,通過使用Agent,可以提高開發(fā)效率,提升專業(yè)知識(shí),并促進(jìn)團(tuán)隊(duì)協(xié)作。

Claude Code:專業(yè)開發(fā)者的工作流引擎‌

  • 由 Anthropic 官方開發(fā),集成于終端、IDE 或 Web 環(huán)境,直接在項(xiàng)目目錄中運(yùn)行。
  • 核心能力是“理解整個(gè)代碼庫(kù)”,支持構(gòu)建功能、調(diào)試錯(cuò)誤、執(zhí)行 Git 操作、自動(dòng)化發(fā)布等任務(wù)。
  • 支持 MCP(Model Context Protocol)擴(kuò)展,可連接外部數(shù)據(jù)源如 Figma、Google Drive、Jira。
  • 適合團(tuán)隊(duì)協(xié)作,可在 Slack 中提 Bug 并自動(dòng)收到 Pull Request 回復(fù)。

引言:從"單兵作戰(zhàn)"到"團(tuán)隊(duì)協(xié)作"

使用 Claude Code 一段時(shí)間后,你可能發(fā)現(xiàn)了一個(gè)有趣的現(xiàn)象:

  • 場(chǎng)景 1: 讓 AI 探索一個(gè)陌生的代碼庫(kù),它會(huì)自動(dòng)切換到"探索模式",系統(tǒng)地分析目錄結(jié)構(gòu)和代碼關(guān)系
  • 場(chǎng)景 2: 讓 AI 設(shè)計(jì)一個(gè)復(fù)雜功能,它會(huì)進(jìn)入"計(jì)劃模式",先討論方案再動(dòng)手實(shí)現(xiàn)
  • 場(chǎng)景 3: 讓 AI 寫一篇技術(shù)博客,它會(huì)自動(dòng)使用"技術(shù)寫作模式",文風(fēng)和結(jié)構(gòu)都更加專業(yè)

這些"模式"背后,就是 Agent 系統(tǒng)在工作。

?? 什么是 Agent?

簡(jiǎn)單來說,Agent 就是 具有特定技能和知識(shí)的專業(yè) AI “隊(duì)友”。

主 Claude Code (你)
   ├─ Explore Agent (代碼庫(kù)探索專家)
   ├─ Plan Agent (架構(gòu)設(shè)計(jì)專家)
   ├─ Backend Architect Agent (后端架構(gòu)師)
   ├─ Tech Blog Writer Agent (技術(shù)寫作專家)
   ├─ Code Reviewer Agent (代碼審查專家)
   └─ 你的自定義 Agent (...)

類比理解:

  • Claude Code 本身像一個(gè)全能工程師,什么都能做但不一定最專業(yè)
  • Agent 就像請(qǐng)來的專家顧問,在特定領(lǐng)域有深厚經(jīng)驗(yàn)
  • 你可以根據(jù)任務(wù)需要,隨時(shí)"召喚"合適的專家來幫忙

本文核心內(nèi)容:

  1. Agent 系統(tǒng)的工作原理
  2. 內(nèi)置 Agent 的使用(Explore、Plan、Backend Architect 等)
  3. 在 Claude Code 中創(chuàng)建自定義 Agent
  4. 獲取官方和第三方 Agent
  5. 優(yōu)秀的 Agent 框架介紹(BMAD-Method)
  6. 開發(fā)中實(shí)用的 Agent 示例(問題分析、代碼提交等)

“一個(gè)人可以走得很快,一群專家可以走得更遠(yuǎn)”

一、Agent 系統(tǒng)概述

1.1 什么是 Agent?

Agent(代理)是一個(gè)具有特定能力和專業(yè)知識(shí)的 AI 實(shí)例,它可以:

  1. 專注于特定領(lǐng)域: 如代碼探索、架構(gòu)設(shè)計(jì)、技術(shù)寫作
  2. 擁有專業(yè)知識(shí): 在其領(lǐng)域有深度的 Prompt 和工具配置
  3. 獨(dú)立完成任務(wù): 可以被主 Claude Code 調(diào)用,獨(dú)立工作
  4. 返回結(jié)果: 完成任務(wù)后返回結(jié)果給主 Claude Code

Agent vs 普通 Claude Code

特性普通 Claude CodeAgent
知識(shí)范圍通用特定領(lǐng)域?qū)I(yè)知識(shí)
工具權(quán)限根據(jù)需要配置針對(duì)任務(wù)優(yōu)化的工具集
工作方式直接交互被調(diào)用后獨(dú)立工作
上下文共享主對(duì)話上下文獨(dú)立上下文
適用場(chǎng)景日常開發(fā)任務(wù)特定專業(yè)任務(wù)

1.2 Agent 與主對(duì)話的關(guān)系

工作流程:

  1. 你向主 Claude Code 提出需求
  2. 主 Claude Code 判斷是否需要調(diào)用 Agent
  3. 如需要,啟動(dòng)對(duì)應(yīng)的 Agent
  4. Agent 獨(dú)立工作,完成任務(wù)
  5. Agent 返回結(jié)果給主 Claude Code
  6. 主 Claude Code 整合結(jié)果,繼續(xù)處理

1.3 Agent 的工作原理

核心組成

一個(gè) Agent 由以下部分組成:

# agent.yaml 示例
name: code-reviewer
description: 專業(yè)的代碼審查 Agent
version: 1.0.0

# Agent 的專業(yè)知識(shí)(System Prompt)
system_prompt: |
  你是一位經(jīng)驗(yàn)豐富的代碼審查專家,專注于:
  1. 代碼質(zhì)量和可維護(hù)性
  2. 潛在的 Bug 和安全問題
  3. 性能優(yōu)化建議
  4. 最佳實(shí)踐和設(shè)計(jì)模式

# Agent 可以使用的工具
tools:
  - Read          # 讀取代碼文件
  - Grep          # 搜索代碼
  - Glob          # 查找文件
  # 不包含 Write/Edit (只讀權(quán)限)

# Agent 的工作參數(shù)
parameters:
  max_iterations: 10
  focus_areas:
    - security
    - performance
    - maintainability

執(zhí)行流程

1. 主 Claude Code 收到任務(wù)
   "請(qǐng)審查 LoginActivity.kt 的代碼質(zhì)量"

2. 決定調(diào)用 Agent
   判斷這是代碼審查任務(wù) → 調(diào)用 code-reviewer Agent

3. Agent 啟動(dòng)
   - 加載 system_prompt (審查專家角色)
   - 配置工具權(quán)限 (只讀)
   - 設(shè)置工作參數(shù)

4. Agent 獨(dú)立工作
   - 讀取 LoginActivity.kt
   - 分析代碼結(jié)構(gòu)
   - 檢查常見問題
   - 生成審查報(bào)告

5. 返回結(jié)果
   Agent 將審查報(bào)告返回給主 Claude Code

6. 主 Claude Code 呈現(xiàn)
   將結(jié)果格式化并展示給用戶

二、內(nèi)置 Agent 詳解

Claude Code 內(nèi)置了多個(gè)專業(yè) Agent,覆蓋常見的開發(fā)場(chǎng)景。

2.1 Explore Agent - 代碼庫(kù)探索專家

專長(zhǎng): 系統(tǒng)地探索和理解陌生代碼庫(kù)

使用場(chǎng)景:

  • 接手一個(gè)新項(xiàng)目,需要快速了解代碼結(jié)構(gòu)
  • 查找特定功能的實(shí)現(xiàn)位置
  • 理解模塊間的依賴關(guān)系

調(diào)用方式:

# 自動(dòng)調(diào)用(Claude Code 自動(dòng)判斷)
User: 幫我分析這個(gè) Android 項(xiàng)目的架構(gòu)

# 手動(dòng)調(diào)用(使用 Task 工具)
User: 使用 Explore Agent 分析 app/src 目錄的結(jié)構(gòu)

工作流程:

1. 掃描目錄結(jié)構(gòu)
   ├─ app/
   │   ├─ src/main/java/com/example/
   │   │   ├─ ui/
   │   │   ├─ data/
   │   │   └─ domain/
   │   └─ build.gradle.kts

2. 識(shí)別架構(gòu)模式
   → 檢測(cè)到 MVVM 架構(gòu)
   → ui/ 包含 Activity 和 ViewModel
   → data/ 包含 Repository 和數(shù)據(jù)源
   → domain/ 包含業(yè)務(wù)邏輯

3. 分析關(guān)鍵文件
   → MainActivity.kt (入口)
   → AppDatabase.kt (數(shù)據(jù)庫(kù))
   → ApiService.kt (網(wǎng)絡(luò)接口)

4. 生成探索報(bào)告
   ? 項(xiàng)目使用 MVVM 架構(gòu)
   ? 采用 Kotlin + Jetpack Compose
   ? 網(wǎng)絡(luò)層使用 Retrofit
   ? 數(shù)據(jù)庫(kù)使用 Room

最佳實(shí)踐:

# ? 好的使用方式
"探索 app/src 目錄,重點(diǎn)關(guān)注用戶認(rèn)證相關(guān)的代碼"

# ? 指定探索深度
"快速瀏覽整個(gè)項(xiàng)目結(jié)構(gòu),不需要深入每個(gè)文件"

# ? 避免
"分析所有代碼" (范圍太大,耗時(shí)長(zhǎng))

2.2 Plan Agent - 架構(gòu)設(shè)計(jì)專家

專長(zhǎng): 方案設(shè)計(jì)、技術(shù)選型、任務(wù)分解

使用場(chǎng)景:

  • 實(shí)現(xiàn)復(fù)雜功能前,需要先設(shè)計(jì)方案
  • 重構(gòu)現(xiàn)有模塊,需要評(píng)估風(fēng)險(xiǎn)和制定計(jì)劃
  • 技術(shù)選型決策,需要對(duì)比不同方案

調(diào)用方式:

# 進(jìn)入 Plan 模式
User: /plan 實(shí)現(xiàn)用戶多租戶支持功能

# Plan Agent 自動(dòng)啟動(dòng),進(jìn)入方案設(shè)計(jì)階段

工作流程:

階段 1: 需求理解
  → 什么是多租戶?
  → 需要隔離哪些數(shù)據(jù)?
  → 性能要求如何?

階段 2: 方案設(shè)計(jì)
  → 數(shù)據(jù)庫(kù)隔離策略(Schema 隔離 vs 數(shù)據(jù)表隔離)
  → 租戶識(shí)別機(jī)制(域名 vs Token)
  → 權(quán)限控制方案

階段 3: 技術(shù)選型
  → 對(duì)比 Row-Level Security vs 應(yīng)用層隔離
  → 評(píng)估性能影響
  → 選擇最優(yōu)方案

階段 4: 任務(wù)分解
  1. 數(shù)據(jù)庫(kù) schema 設(shè)計(jì)
  2. 租戶識(shí)別中間件
  3. 權(quán)限檢查攔截器
  4. 現(xiàn)有 API 適配
  5. 測(cè)試用例編寫

階段 5: 風(fēng)險(xiǎn)評(píng)估
  ?? 現(xiàn)有數(shù)據(jù)遷移風(fēng)險(xiǎn)
  ?? 性能影響需要測(cè)試
  ?? 跨租戶數(shù)據(jù)泄漏風(fēng)險(xiǎn)

生成的 Plan 文檔示例:

# 多租戶支持實(shí)現(xiàn)方案

## 1. 方案概述

采用 Schema 隔離 + Row-Level Security 的混合方案:
- 核心數(shù)據(jù)使用 Schema 隔離(完全隔離)
- 共享數(shù)據(jù)使用 RLS (靈活控制)

## 2. 架構(gòu)設(shè)計(jì)

\`\`\`
請(qǐng)求 → 租戶識(shí)別中間件 → RLS Context 設(shè)置 → 業(yè)務(wù)邏輯
\`\`\`

## 3. 實(shí)施步驟

### 3.1 數(shù)據(jù)庫(kù)設(shè)計(jì) (2天)
- [ ] 創(chuàng)建 tenants 表
- [ ] 為每個(gè)租戶創(chuàng)建獨(dú)立 schema
- [ ] 配置 RLS 策略

### 3.2 中間件開發(fā) (1天)
- [ ] 實(shí)現(xiàn)租戶識(shí)別邏輯
- [ ] 集成到請(qǐng)求處理鏈

### 3.3 API 適配 (3天)
- [ ] 更新所有 API 添加租戶過濾
- [ ] 測(cè)試跨租戶隔離

## 4. 風(fēng)險(xiǎn)與應(yīng)對(duì)

| 風(fēng)險(xiǎn) | 影響 | 應(yīng)對(duì)措施 |
|:---|:---|:---|
| 數(shù)據(jù)遷移 | 高 | 編寫遷移腳本,分批遷移 |
| 性能下降 | 中 | 添加索引,壓力測(cè)試 |

## 5. 驗(yàn)收標(biāo)準(zhǔn)

- ? 租戶間數(shù)據(jù)完全隔離
- ? 性能下降 < 10%
- ? 通過安全審計(jì)
\`\`\`

2.3 Backend Architect Agent - 后端架構(gòu)師

專長(zhǎng): 后端系統(tǒng)架構(gòu)設(shè)計(jì)、API 設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)

使用場(chǎng)景:

  • 設(shè)計(jì) RESTful API
  • 設(shè)計(jì)數(shù)據(jù)庫(kù) schema
  • 評(píng)審系統(tǒng)架構(gòu)

示例:

User: 設(shè)計(jì)一個(gè)訂單系統(tǒng)的 API 和數(shù)據(jù)庫(kù)

Backend Architect Agent 工作:
1. API 設(shè)計(jì)
   POST   /api/orders          # 創(chuàng)建訂單
   GET    /api/orders/:id      # 查詢訂單
   PATCH  /api/orders/:id      # 更新訂單
   DELETE /api/orders/:id      # 取消訂單

2. 數(shù)據(jù)庫(kù)設(shè)計(jì)
   orders 表:
   - id (UUID, PK)
   - user_id (FK → users)
   - status (enum: pending, confirmed, shipped, delivered, cancelled)
   - total_amount (decimal)
   - created_at, updated_at

   order_items 表:
   - id (UUID, PK)
   - order_id (FK → orders)
   - product_id (FK → products)
   - quantity (integer)
   - price (decimal)

3. 業(yè)務(wù)邏輯
   - 訂單狀態(tài)機(jī)
   - 庫(kù)存檢查和鎖定
   - 支付集成

2.4 Tech Blog Writer Agent - 技術(shù)寫作專家

專長(zhǎng): 技術(shù)博客寫作、文檔編寫

使用場(chǎng)景:

  • 撰寫技術(shù)博客
  • 編寫 API 文檔
  • 生成 README

示例:

User: 為這個(gè)開源項(xiàng)目寫一篇介紹博客

Tech Blog Writer Agent:
1. 分析項(xiàng)目特點(diǎn)
2. 確定目標(biāo)讀者
3. 規(guī)劃文章結(jié)構(gòu):
   - 引言(痛點(diǎn)引入)
   - 核心特性
   - 使用示例
   - 最佳實(shí)踐
   - 總結(jié)
4. 撰寫正文(專業(yè) + 易讀)
5. 添加代碼示例和配圖

2.5 其他內(nèi)置 Agent

Agent 名稱專長(zhǎng)領(lǐng)域典型場(chǎng)景
Test Writer Agent測(cè)試用例編寫生成單元測(cè)試、集成測(cè)試
Refactor Agent代碼重構(gòu)優(yōu)化代碼結(jié)構(gòu),消除壞味道
Debug Agent問題診斷分析 Bug,定位根因
Performance Agent性能優(yōu)化分析瓶頸,提出優(yōu)化方案
Security Agent安全審計(jì)檢查安全漏洞,提供修復(fù)建議

三、Agent 的調(diào)用方式

3.1 自動(dòng)調(diào)用(推薦)

Claude Code 會(huì)根據(jù)任務(wù)類型自動(dòng)選擇合適的 Agent:

# 示例 1: 自動(dòng)調(diào)用 Explore Agent
User: 這個(gè)項(xiàng)目是什么架構(gòu)?
→ Claude Code 自動(dòng)調(diào)用 Explore Agent 分析代碼庫(kù)

# 示例 2: 自動(dòng)調(diào)用 Plan Agent
User: 實(shí)現(xiàn)一個(gè)復(fù)雜的推薦系統(tǒng)
→ Claude Code 進(jìn)入 Plan 模式,調(diào)用 Plan Agent

# 示例 3: 自動(dòng)調(diào)用 Backend Architect Agent
User: 設(shè)計(jì)用戶權(quán)限系統(tǒng)的數(shù)據(jù)庫(kù) schema
→ Claude Code 調(diào)用 Backend Architect Agent

優(yōu)點(diǎn):

  • ? 無需記憶命令
  • ? AI 自動(dòng)選擇最合適的 Agent
  • ? 用戶體驗(yàn)更自然

3.2 手動(dòng)調(diào)用(精確控制)

使用 Task 工具明確指定 Agent:

# 語(yǔ)法
使用 <Agent名稱> 執(zhí)行 <任務(wù)描述>

# 示例 1
User: 使用 Explore Agent 分析 src/main/java 目錄,重點(diǎn)關(guān)注數(shù)據(jù)層

# 示例 2
User: 使用 Code Reviewer Agent 審查 PaymentService.kt

# 示例 3
User: 使用 Tech Blog Writer Agent 為這個(gè)功能寫一篇介紹文章

優(yōu)點(diǎn):

  • ? 精確控制使用哪個(gè) Agent
  • ? 適合特定場(chǎng)景

3.3 參數(shù)配置

調(diào)用 Agent 時(shí)可以傳遞參數(shù):

# 配置 Explore Agent 的探索深度
User: 使用 Explore Agent 快速掃描項(xiàng)目結(jié)構(gòu)(depth=2)

# 配置 Plan Agent 的輸出格式
User: 使用 Plan Agent 設(shè)計(jì)方案,生成 Markdown 格式的文檔

# 配置 Code Reviewer Agent 的審查重點(diǎn)
User: 使用 Code Reviewer Agent 審查代碼,重點(diǎn)關(guān)注安全問題

四、創(chuàng)建自定義 Agent

4.1 為什么需要自定義 Agent?

內(nèi)置 Agent 雖然強(qiáng)大,但可能無法滿足你的特定需求:

  • 領(lǐng)域?qū)I(yè)知識(shí): 你的團(tuán)隊(duì)有特定的技術(shù)棧和最佳實(shí)踐
  • 工作流定制: 你希望 Agent 按照?qǐng)F(tuán)隊(duì)的工作流程工作
  • 專有工具: 你需要集成公司內(nèi)部的工具和服務(wù)

示例場(chǎng)景:

  • Android 內(nèi)存泄漏分析 Agent
  • 代碼提交規(guī)范檢查 Agent
  • Jira 任務(wù)同步 Agent
  • 性能監(jiān)控?cái)?shù)據(jù)分析 Agent

4.2 Agent 的文件格式

Claude Code 的自定義 Agent 采用單文件格式,非常簡(jiǎn)潔:

~/.claude/agents/
├── android-memory-analyzer.md    # 一個(gè) Agent 就是一個(gè) .md 文件
├── code-reviewer.md
├── crash-analyzer.md
└── backend-architect.md

文件結(jié)構(gòu):

---
name: agent-name
description: Agent 的描述,用于觸發(fā)匹配和顯示
model: sonnet  # 可選: sonnet/opus/haiku
---

[System Prompt 內(nèi)容 - Agent 的專業(yè)知識(shí)和角色定義]

核心組成:

部分說明必填
nameAgent 的唯一標(biāo)識(shí)符?
description描述信息,用于自動(dòng)匹配和展示?
model使用的模型 (sonnet/opus/haiku)?
正文System Prompt,定義 Agent 的專業(yè)知識(shí)?

4.3 創(chuàng)建 Agent 的兩種方式

方式一: 使用/agent命令 AI 輔助創(chuàng)建(推薦)

Claude Code 提供了 /agent 命令,可以讓 AI 幫你自動(dòng)生成 Agent:

# 在 Claude Code 中輸入
User: /agent 創(chuàng)建一個(gè) Android 內(nèi)存泄漏分析專家

# Claude Code 會(huì)自動(dòng):
# 1. 分析你的需求
# 2. 生成 Agent 文件內(nèi)容
# 3. 保存到 ~/.claude/agents/ 目錄
# 4. 你只需要審查和微調(diào)即可

優(yōu)點(diǎn):

  • ? 快速生成,省去手寫
  • ? AI 會(huì)根據(jù)需求自動(dòng)設(shè)計(jì)合適的 prompt
  • ? 格式規(guī)范,不易出錯(cuò)
  • ? 生成后可以手動(dòng)修改優(yōu)化

示例對(duì)話:

User: /agent 創(chuàng)建一個(gè)代碼審查專家,專注于安全漏洞檢測(cè)

Claude Code: 我來幫你創(chuàng)建一個(gè)專注于安全漏洞檢測(cè)的代碼審查 Agent...
[自動(dòng)生成 security-reviewer.md 文件]

生成完成! Agent 已保存到 ~/.claude/agents/security-reviewer.md
你可以通過以下方式使用:
- 自然語(yǔ)言: "幫我審查這段代碼的安全性"
- 直接調(diào)用: "使用 security-reviewer 審查 LoginService.kt"

方式二: 手動(dòng)創(chuàng)建 .md 文件

如果你想完全自定義,可以手動(dòng)創(chuàng)建 Agent 文件:

# 創(chuàng)建 Agent 文件
touch ~/.claude/agents/android-memory-analyzer.md

4.4 完整示例: Android 內(nèi)存泄漏分析 Agent

---
name: android-memory-analyzer
description: 專門分析 Android 應(yīng)用的內(nèi)存泄漏問題,結(jié)合 LeakCanary 日志和 Profiler dump 進(jìn)行診斷。當(dāng)用戶提到內(nèi)存泄漏、LeakCanary、OOM、內(nèi)存分析等關(guān)鍵詞時(shí)自動(dòng)觸發(fā)。
model: sonnet
---

你是一位資深的 Android 性能優(yōu)化專家,專注于內(nèi)存泄漏問題的診斷和修復(fù)。

## 你的專業(yè)技能

### 1. LeakCanary 日志分析
- 快速定位泄漏的對(duì)象類型
- 分析引用鏈,找到 GC Root
- 識(shí)別常見的泄漏模式

### 2. 常見內(nèi)存泄漏模式識(shí)別

#### 模式 1: Activity 持有靜態(tài)引用
\`\`\`kotlin
// ? 泄漏代碼
companion object {
    var context: Context? = null  // 靜態(tài)變量持有 Activity
}

// ? 修復(fù)方案
companion object {
    var context: WeakReference<Context>? = null
}
\`\`\`

#### 模式 2: 非靜態(tài)內(nèi)部類持有外部引用
\`\`\`kotlin
// ? 泄漏代碼
class MainActivity : AppCompatActivity() {
    inner class MyHandler : Handler() {
        // 隱式持有 MainActivity 引用
    }
}

// ? 修復(fù)方案
class MainActivity : AppCompatActivity() {
    class MyHandler(activity: WeakReference<MainActivity>) : Handler() {
        // 使用弱引用
    }
}
\`\`\`

#### 模式 3: 監(jiān)聽器未注銷
\`\`\`kotlin
// ? 泄漏代碼
override fun onCreate(savedInstanceState: Bundle?) {
    EventBus.getDefault().register(this)
    // 忘記在 onDestroy 中注銷
}

// ? 修復(fù)方案
override fun onDestroy() {
    super.onDestroy()
    EventBus.getDefault().unregister(this)
}
\`\`\`

### 3. Heap Dump 分析
- 使用 Memory Profiler 的 dump 文件
- 分析對(duì)象引用關(guān)系
- 計(jì)算泄漏對(duì)象占用的內(nèi)存大小

## 工作流程

1. **收集信息**
   - 讀取 LeakCanary 日志
   - 查看 Profiler heap dump (如果有)
   - 搜索相關(guān)的代碼文件

2. **定位問題**
   - 識(shí)別泄漏的對(duì)象類型(Activity、Fragment、Context 等)
   - 分析引用鏈,找到持有引用的地方
   - 確定泄漏原因(靜態(tài)引用、監(jiān)聽器未注銷、異步任務(wù)等)

3. **提供修復(fù)方案**
   - 給出具體的代碼修改建議
   - 解釋為什么這樣修改可以解決泄漏
   - 提供預(yù)防同類問題的建議

4. **驗(yàn)證修復(fù)**
   - 建議如何驗(yàn)證修復(fù)是否有效
   - 推薦使用的工具和方法

## 輸出格式

# 內(nèi)存泄漏分析報(bào)告

## 問題概述
[簡(jiǎn)要描述泄漏情況]

## 泄漏對(duì)象
- 類型: [Activity/Fragment/...]
- 實(shí)例數(shù)量: [X 個(gè)]
- 占用內(nèi)存: [XX MB]

## 引用鏈分析
[對(duì)象] → [持有者1] → [持有者2] → ... → GC Root

## 根本原因
[詳細(xì)解釋泄漏原因]

## 修復(fù)方案
[具體的修復(fù)代碼]

## 預(yù)防措施
[如何避免類似問題]

## 注意事項(xiàng)

- 始終以用戶友好的方式解釋技術(shù)問題
- 提供可直接應(yīng)用的代碼示例
- 如果不確定,說明需要更多信息

4.5 更多實(shí)用 Agent 示例

示例 1: 后端架構(gòu)師 Agent

---
name: backend-architect
description: Design RESTful APIs, microservice boundaries, and database schemas. Reviews system architecture for scalability and performance bottlenecks. Use PROACTIVELY when creating new backend services or APIs.
model: sonnet
---

You are a backend system architect specializing in scalable API design and microservices.

## Focus Areas
- RESTful API design with proper versioning and error handling
- Service boundary definition and inter-service communication
- Database schema design (normalization, indexes, sharding)
- Caching strategies and performance optimization
- Basic security patterns (auth, rate limiting)

## Approach
1. Start with clear service boundaries
2. Design APIs contract-first
3. Consider data consistency requirements
4. Plan for horizontal scaling from day one
5. Keep it simple - avoid premature optimization

## Output
- API endpoint definitions with example requests/responses
- Service architecture diagram (mermaid or ASCII)
- Database schema with key relationships
- List of technology recommendations with brief rationale
- Potential bottlenecks and scaling considerations

Always provide concrete examples and focus on practical implementation over theory.

示例 2: 代碼審查 Agent

---
name: code-reviewer
description: 專業(yè)的代碼審查專家,專注于代碼質(zhì)量、安全漏洞、性能問題和最佳實(shí)踐。當(dāng)用戶需要代碼審查、Review、檢查代碼質(zhì)量時(shí)自動(dòng)觸發(fā)。
model: sonnet
---

你是一位經(jīng)驗(yàn)豐富的代碼審查專家,專注于以下方面:

## 審查維度

### 1. 代碼質(zhì)量
- 命名規(guī)范和可讀性
- 函數(shù)/方法長(zhǎng)度和復(fù)雜度
- 代碼重復(fù)和抽象程度
- 注釋的必要性和準(zhǔn)確性

### 2. 安全問題
- SQL 注入
- XSS 攻擊
- 敏感信息泄露
- 權(quán)限控制漏洞

### 3. 性能問題
- N+1 查詢問題
- 內(nèi)存泄漏風(fēng)險(xiǎn)
- 不必要的循環(huán)和計(jì)算
- 緩存使用

### 4. 最佳實(shí)踐
- SOLID 原則
- 設(shè)計(jì)模式適用性
- 錯(cuò)誤處理
- 單元測(cè)試覆蓋

## 輸出格式

使用以下格式輸出審查結(jié)果:

## 審查摘要
- 總體評(píng)價(jià): [優(yōu)秀/良好/需改進(jìn)/不合格]
- 發(fā)現(xiàn)問題: X 個(gè) (嚴(yán)重: X, 一般: X, 建議: X)

## 問題列表

### ?? 嚴(yán)重問題
[問題描述和修復(fù)建議]

### ?? 一般問題
[問題描述和修復(fù)建議]

### ?? 優(yōu)化建議
[建議內(nèi)容]

## 審查原則
- 客觀公正,有理有據(jù)
- 給出具體的修復(fù)建議,而不是泛泛批評(píng)
- 肯定代碼中的優(yōu)點(diǎn)
- 區(qū)分"必須修復(fù)"和"建議優(yōu)化"

4.6 使用自定義 Agent

Agent 文件保存到 ~/.claude/agents/ 目錄后,Claude Code 會(huì)自動(dòng)識(shí)別并加載。

使用方式:

# 方式 1: 自然語(yǔ)言觸發(fā)(根據(jù) description 自動(dòng)匹配)
User: 幫我分析這個(gè)內(nèi)存泄漏日志
→ Claude Code 根據(jù)關(guān)鍵詞自動(dòng)匹配 android-memory-analyzer Agent

# 方式 2: 明確指定 Agent
User: 使用 android-memory-analyzer 分析 leakcanary.log

# 方式 3: 在 description 中配置觸發(fā)示例
# 在 description 中可以添加示例來幫助 Claude Code 更準(zhǔn)確地匹配

description 編寫技巧:

# 好的 description 示例
description: 專門分析 Android 應(yīng)用的內(nèi)存泄漏問題,結(jié)合 LeakCanary 日志和 Profiler dump 進(jìn)行診斷。當(dāng)用戶提到內(nèi)存泄漏、LeakCanary、OOM、內(nèi)存分析等關(guān)鍵詞時(shí)自動(dòng)觸發(fā)。示例:<example>用戶:"幫我分析這個(gè) LeakCanary 日志",助手:"我將使用內(nèi)存泄漏分析 Agent 來幫你診斷問題"</example>

# 包含的要素:
# 1. 核心功能描述
# 2. 觸發(fā)關(guān)鍵詞
# 3. 使用示例(可選但推薦)

五、優(yōu)秀的 Agent 框架:BMAD-Method

5.1 什么是 BMAD-Method?

BMAD (Business-Modeling-Architecture-Development) 是一個(gè)專業(yè)的 Agent 協(xié)作框架,模擬真實(shí)軟件團(tuán)隊(duì)的工作模式。

核心理念:

  • 每個(gè)角色都是一個(gè)專業(yè) Agent
  • Agent 之間協(xié)作完成復(fù)雜任務(wù)
  • 遵循規(guī)范的軟件工程流程

5.2 BMAD Agent 角色體系

角色說明:

角色Agent 名稱職責(zé)
產(chǎn)品負(fù)責(zé)人bmad-po需求分析、PRD 編寫、用戶故事
項(xiàng)目經(jīng)理bmad-pm項(xiàng)目規(guī)劃、進(jìn)度跟蹤、風(fēng)險(xiǎn)管理
架構(gòu)師bmad-architect架構(gòu)設(shè)計(jì)、技術(shù)選型、方案評(píng)審
Scrum Masterbmad-sm敏捷流程、任務(wù)拆分、看板管理
開發(fā)工程師bmad-dev代碼實(shí)現(xiàn)、單元測(cè)試、代碼審查
QA 工程師bmad-qa測(cè)試用例、自動(dòng)化測(cè)試、質(zhì)量報(bào)告

5.3 BMAD 工作流示例

場(chǎng)景:開發(fā)一個(gè)用戶反饋功能

第 1 階段:需求分析
  ┌─────────────┐
  │ bmad-po     │ "用戶反饋功能需求分析"
  └──────┬──────┘
         │
         ▼
  生成 PRD:
  - 用戶可以提交反饋(文字+圖片)
  - 管理員可以查看和回復(fù)
  - 反饋分類和優(yōu)先級(jí)

第 2 階段:項(xiàng)目規(guī)劃
  ┌─────────────┐
  │ bmad-pm     │ "制定開發(fā)計(jì)劃"
  └──────┬──────┘
         │
         ▼
  項(xiàng)目計(jì)劃:
  - Sprint 1: 用戶提交反饋 (3天)
  - Sprint 2: 管理后臺(tái) (5天)
  - Sprint 3: 通知和統(tǒng)計(jì) (2天)

第 3 階段:架構(gòu)設(shè)計(jì)
  ┌─────────────┐
  │bmad-architect│ "設(shè)計(jì)系統(tǒng)架構(gòu)"
  └──────┬──────┘
         │
         ▼
  技術(shù)方案:
  - API 設(shè)計(jì):POST /api/feedback
  - 數(shù)據(jù)庫(kù)設(shè)計(jì):feedback 表
  - 文件存儲(chǔ):S3/OSS

第 4 階段:任務(wù)拆分
  ┌─────────────┐
  │ bmad-sm     │ "拆分用戶故事"
  └──────┬──────┘
         │
         ▼
  用戶故事:
  - 作為用戶,我可以提交反饋
  - 作為管理員,我可以查看反饋列表
  - 作為管理員,我可以回復(fù)反饋

第 5 階段:開發(fā)實(shí)現(xiàn)
  ┌─────────────┐
  │ bmad-dev    │ "實(shí)現(xiàn)代碼"
  └──────┬──────┘
         │
         ▼
  代碼實(shí)現(xiàn):
  - FeedbackController.kt
  - FeedbackRepository.kt
  - FeedbackViewModel.kt

第 6 階段:質(zhì)量保障
  ┌─────────────┐
  │ bmad-qa     │ "編寫測(cè)試并驗(yàn)證"
  └──────┬──────┘
         │
         ▼
  測(cè)試用例:
  - 單元測(cè)試:業(yè)務(wù)邏輯測(cè)試
  - 集成測(cè)試:API 測(cè)試
  - UI 測(cè)試:提交反饋流程

六、總結(jié)與展望

6.1 核心收益回顧

通過本文的學(xué)習(xí),你掌握了:

  1. Agent 系統(tǒng)的理解

    • Agent 的概念和工作原理
    • Agent 與主 Claude Code 的關(guān)系
    • Agent 的執(zhí)行流程
  2. 自定義 Agent 開發(fā)

    • Agent 的文件結(jié)構(gòu)
    • 配置 agent.md
    • 工具權(quán)限配置
    • 完整示例:Android 內(nèi)存泄漏分析 Agent

6.2 Agent 的價(jià)值

維度傳統(tǒng)開發(fā)使用 Agent 后提升
專業(yè)深度通用 AI領(lǐng)域?qū)<?/td>+300%
工作效率手動(dòng)探索自動(dòng)化分析+200%
知識(shí)積累分散沉淀為 Agent+∞
團(tuán)隊(duì)協(xié)作人工配合Agent 協(xié)作+150%

 

到此這篇關(guān)于ClaudeCode中的Agent系統(tǒng)工作原理、如何使用和自定義開發(fā)的文章就介紹到這了,更多相關(guān)ClaudeCode的Agent原理、使用和自定義開發(fā)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用阿里大于(大魚)平臺(tái)進(jìn)行發(fā)送手機(jī)驗(yàn)證碼的流程

    使用阿里大于(大魚)平臺(tái)進(jìn)行發(fā)送手機(jī)驗(yàn)證碼的流程

    這篇文章主要介紹了使用阿里大于(大魚)平臺(tái)進(jìn)行發(fā)送手機(jī)驗(yàn)證碼的流程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 使用postman進(jìn)行接口測(cè)試的方法(測(cè)試用戶管理模塊)

    使用postman進(jìn)行接口測(cè)試的方法(測(cè)試用戶管理模塊)

    這篇文章主要介紹了使用postman進(jìn)行接口測(cè)試的方法(測(cè)試用戶管理模塊),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-01-01
  • 本地搭建DeepSeek-R1、WebUI的完整過程及訪問

    本地搭建DeepSeek-R1、WebUI的完整過程及訪問

    這篇文章主要介紹了本地搭建DeepSeek-R1、WebUI的完整過程及訪問的相關(guān)資料,DeepSeek-R1是一個(gè)開源的人工智能平臺(tái),主要用于大語(yǔ)言模型的本地部署和管理,通過Docker和Ollama工具,用戶可以在自己的服務(wù)器上運(yùn)行DeepSeek-R1,并通過WebUI交互和測(cè)試,需要的朋友可以參考下
    2025-02-02
  • git基礎(chǔ)之各版本控制系統(tǒng)介紹

    git基礎(chǔ)之各版本控制系統(tǒng)介紹

    這篇文章主要為大家介紹了git基礎(chǔ)之各版本控制系統(tǒng)以及版本的演變,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04
  • 初探 SOA(補(bǔ)充)

    初探 SOA(補(bǔ)充)

    SOA是一種應(yīng)用框架,它著眼于日常的業(yè)務(wù)應(yīng)用,并將它們劃分為單獨(dú)的業(yè)務(wù)功能和流程,即所謂的服務(wù)。它使用戶可以構(gòu)建、部署和整合這些服務(wù),且無需依賴應(yīng)用程序及其運(yùn)行計(jì)算平臺(tái),從而提高業(yè)務(wù)流程的靈活性。
    2009-01-01
  • Win10下配置VScode遠(yuǎn)程開發(fā)ssh-remote(免密登錄)

    Win10下配置VScode遠(yuǎn)程開發(fā)ssh-remote(免密登錄)

    在開發(fā)或者做實(shí)驗(yàn)的過程中,我們經(jīng)常會(huì)用到遠(yuǎn)程服務(wù)器或者Github的項(xiàng)目,本文詳細(xì)介紹的VScode配置免密ssh+remote,一旦連接成功,我們就可以在本地自己喜歡的IDE上操作遠(yuǎn)程服務(wù)器端的項(xiàng)目了
    2021-08-08
  • 前端vscode必備插件推薦(開發(fā)必備)

    前端vscode必備插件推薦(開發(fā)必備)

    VSCode是我們前端開發(fā)的一個(gè)強(qiáng)大的IDE,因此選擇趁手好用的插件能事半功倍,也能能更好地編碼以及獲得更絲滑的開發(fā)體驗(yàn),這篇文章主要給大家介紹了關(guān)于前端vscode必備插件推薦的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • vim中tagbar配置以及打字時(shí)隱藏鼠標(biāo)的方法

    vim中tagbar配置以及打字時(shí)隱藏鼠標(biāo)的方法

    這篇文章主要給大家介紹了關(guān)于vim中tagbar配置以及打字時(shí)隱藏鼠標(biāo)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 如何利用FFmpeg合并音頻和視頻(多種方式)

    如何利用FFmpeg合并音頻和視頻(多種方式)

    這篇文章主要介紹了如何利用FFmpeg合并音頻和視頻,詳細(xì)介紹了FFmpeg 多個(gè)音頻合并的2種方法,通過場(chǎng)景分享介紹了FFmpeg合并視頻文件的4種方法,需要的朋友可以參考下
    2023-02-02
  • 一文助你搞懂參數(shù)傳遞原理解析(java、go、python、c++)

    一文助你搞懂參數(shù)傳遞原理解析(java、go、python、c++)

    這篇文章主要介紹了多種語(yǔ)言參數(shù)傳遞原理解析(java、go、python、c++),本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01

最新評(píng)論

河池市| 连城县| 广汉市| 怀集县| 宁明县| 长武县| 包头市| 休宁县| 泗洪县| 盐源县| 巴东县| 易门县| 马鞍山市| 万宁市| 德格县| 政和县| 长海县| 云南省| 商都县| 田阳县| 灌南县| 揭西县| 永新县| 乐业县| 来安县| 许昌县| 五原县| 林口县| 阜南县| 金华市| 临澧县| 治县。| 新宁县| 永修县| 和龙市| 正蓝旗| 西吉县| 辛集市| 喀喇沁旗| 泗阳县| 澎湖县|