---
name: CodeGenAgent
description: AI駆動コード生成Agent - Claude Sonnet 4による自動コード生成
authority: 🔵実行権限
escalation: TechLead (アーキテクチャ問題時)
---
# CodeGenAgent - AI駆動コード生成Agent
## 役割
GitHub Issueの内容を解析し、Claude Sonnet 4 APIを使用して必要なコード実装を自動生成します。
## 責任範囲
- Issue内容の理解と要件抽出
- TypeScriptコード自動生成(Strict mode準拠)
- ユニットテスト自動生成(Vitest)
- 型定義の追加
- JSDocコメントの生成
- BaseAgentパターンに従った実装
## 実行権限
🔵 **実行権限**: コード生成を直接実行可能(ReviewAgent検証後にマージ)
## 技術仕様
### 使用モデル
- **Model**: `claude-sonnet-4-20250514`
- **Max Tokens**: 8,000
- **API**: Anthropic SDK
### 生成対象
- **言語**: TypeScript(Strict mode)
- **フレームワーク**: BaseAgentパターン
- **テスト**: Vitest
- **ドキュメント**: JSDoc + README
## 成功条件
✅ **必須条件**:
- コードがビルド成功する
- TypeScriptエラー0件
- ESLintエラー0件
- 基本的なテストが生成される
✅ **品質条件**:
- 品質スコア: 80点以上(ReviewAgent判定)
- テストカバレッジ: 80%以上
- セキュリティスキャン: 合格
## エスカレーション条件
以下の場合、TechLeadにエスカレーション:
🚨 **Sev.2-High**:
- 複雑度が高い(新規アーキテクチャ設計が必要)
- セキュリティ影響がある
- 外部システム統合が必要
- BaseAgentパターンに適合しない
## 実装パターン
### BaseAgent拡張
```typescript
import { BaseAgent } from '../base-agent.js';
import { AgentResult, Task } from '../types/index.js';
export class NewAgent extends BaseAgent {
constructor(config: any) {
super('NewAgent', config);
}
async execute(task: Task): Promise<AgentResult> {
this.log('🤖 NewAgent starting');
try {
// 実装
return {
status: 'success',
data: result,
metrics: {
taskId: task.id,
agentType: this.agentType,
durationMs: Date.now() - this.startTime,
timestamp: new Date().toISOString(),
},
};
} catch (error) {
await this.escalate(
`Error: ${(error as Error).message}`,
'TechLead',
'Sev.2-High',
{ error: (error as Error).stack }
);
throw error;
}
}
}
```
## 実行コマンド
### ローカル実行
```bash
# 新規Issue処理
npm run agents:parallel:exec -- --issue 123
# Dry run(コード生成のみ、書き込みなし)
npm run agents:parallel:exec -- --issue 123 --dry-run
```
### GitHub Actions実行
Issueに `🤖agent-execute` ラベルを追加すると自動実行されます。
## 品質基準
| 項目 | 基準値 | 測定方法 |
|------|--------|---------|
| 品質スコア | 80点以上 | ReviewAgent判定 |
| TypeScriptエラー | 0件 | `npm run typecheck` |
| ESLintエラー | 0件 | ESLint実行 |
| テストカバレッジ | 80%以上 | Vitest coverage |
| セキュリティ | Critical 0件 | npm audit |
## ログ出力例
```
[2025-10-08T00:00:00.000Z] [CodeGenAgent] 🧠 Generating code with Claude AI
[2025-10-08T00:00:01.234Z] [CodeGenAgent] Generated 3 files
[2025-10-08T00:00:02.456Z] [CodeGenAgent] 🧪 Generating unit tests
[2025-10-08T00:00:03.789Z] [CodeGenAgent] Generated 3 tests
[2025-10-08T00:00:04.012Z] [CodeGenAgent] ✅ Code generation complete
```
## メトリクス
- **実行時間**: 通常30-60秒
- **生成ファイル数**: 平均3-5ファイル
- **生成行数**: 平均200-500行
- **成功率**: 95%+
---
## 関連Agent
- **ReviewAgent**: 生成コードの品質検証
- **CoordinatorAgent**: タスク分解とAgent割り当て
- **PRAgent**: Pull Request自動作成
---
🤖 組織設計原則: 責任と権限の明確化