WCAG 2.2 AA compliance, ARIA patterns, keyboard navigation, screen reader optimization
中文简介正在准备中。当前显示原文说明。
Agent hata toleransi ve devre kesici pattern. Ust uste hata yapan agent'i durdur, cooldown uygula, fallback'e gec. Kaskatli hatalari ve sonsuz retry dongularini onler.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Agent'lar da servisler gibi basarisiz olabilir. Ayni hatayi tekrar tekrar denemek token israf eder ve sorunu cozmez. Circuit breaker bunu onler.
CLOSED (Normal)
Agent calisir, hatalar sayilir.
Hata esigi asilirsa → OPEN'a gec.
OPEN (Devre Kesik)
Agent CALISTIRILMAZ.
Cooldown suresi boyunca bekle.
Cooldown bitince → HALF-OPEN'a gec.
HALF-OPEN (Test)
Tek bir istek gonder.
Basarili → CLOSED'a don.
Basarisiz → OPEN'a geri don (cooldown uzat).
basarili hata esigi
┌──────────┐ ┌───────────┐
│ │ │ │
▼ │ ▼ │
CLOSED ──────┼── OPEN ────── HALF-OPEN
▲ │ │ │
│ │ │ │
└──────────┘ └───────────┘
normal cooldown bitti
interface CircuitBreakerConfig {
failureThreshold: number // Kac hata sonrasi OPEN (default: 3)
cooldownMs: number // OPEN'da bekleme suresi (default: 60000 = 1 dk)
halfOpenMaxAttempts: number // HALF-OPEN'da max deneme (default: 1)
resetAfterMs: number // Hata sayacini sifirla (default: 300000 = 5 dk)
onOpen?: () => void // OPEN'a gecince cagrilir
onClose?: () => void // CLOSED'a donunce cagrilir
}
const DEFAULT_CONFIG: CircuitBreakerConfig = {
failureThreshold: 3,
cooldownMs: 60000,
halfOpenMaxAttempts: 1,
resetAfterMs: 300000,
}
class AgentCircuitBreaker {
private state: 'CLOSED' | 'OPEN' | 'HALF-OPEN' = 'CLOSED'
private failures = 0
private lastFailureTime = 0
private config: CircuitBreakerConfig
constructor(private agentName: string, config?: Partial<CircuitBreakerConfig>) {
this.config = { ...DEFAULT_CONFIG, ...config }
}
canExecute(): boolean {
if (this.state === 'CLOSED') return true
if (this.state === 'OPEN') {
const elapsed = Date.now() - this.lastFailureTime
if (elapsed >= this.config.cooldownMs) {
this.state = 'HALF-OPEN'
return true
}
return false
}
// HALF-OPEN: tek denemeye izin ver
return true
}
recordSuccess(): void {
this.failures = 0
if (this.state === 'HALF-OPEN') {
this.state = 'CLOSED'
this.config.onClose?.()
}
}
recordFailure(): void {
this.failures++
this.lastFailureTime = Date.now()
if (this.state === 'HALF-OPEN') {
this.state = 'OPEN'
return
}
if (this.failures >= this.config.failureThreshold) {
this.state = 'OPEN'
this.config.onOpen?.()
}
}
getStatus(): { state: string; failures: number; agent: string } {
return { state: this.state, failures: this.failures, agent: this.agentName }
}
}
const breakers: Record<string, AgentCircuitBreaker> = {
'code-reviewer': new AgentCircuitBreaker('code-reviewer', { failureThreshold: 3 }),
'security-reviewer': new AgentCircuitBreaker('security-reviewer', { failureThreshold: 2 }),
'sleuth': new AgentCircuitBreaker('sleuth', { failureThreshold: 3 }),
}
async function spawnAgent(name: string, task: string): Promise<string> {
const breaker = breakers[name]
if (!breaker?.canExecute()) {
console.warn(`Circuit OPEN: ${name} -- fallback kullaniliyor`)
return executeFallback(name, task)
}
try {
const result = await executeAgent(name, task)
breaker.recordSuccess()
return result
} catch (error) {
breaker.recordFailure()
console.error(`${name} basarisiz (${breaker.getStatus().failures}/${3})`)
if (!breaker.canExecute()) {
return executeFallback(name, task)
}
throw error
}
}
Agent devre disiyken ne yapilacagi:
| Agent | Fallback 1 | Fallback 2 | Fallback 3 |
|---|---|---|---|
| code-reviewer | Manuel Grep review | Basit lint calistir | Kullaniciya bildir |
| security-reviewer | Grep ile secret scan | SAST tool calistir | Kullaniciya bildir |
| sleuth | scout ile arastir | Manuel debug | Kullaniciya bildir |
| kraken | spark ile parcali fix | Manuel implement | Kullaniciya bildir |
| verifier | Manuel build + test | Sadece build kontrol | Kullaniciya bildir |
| architect | planner ile basit plan | Kullaniciya sor | - |
| build-error-resolver | Manuel hata oku + fix | Kullaniciya bildir | - |
Her hata ayni agirlikta degil:
| Hata Tipi | Sayac Etkisi | Ornek |
|---|---|---|
| API timeout | +1 | Anthropic API timeout |
| Rate limit | +0 (beklenir) | 429 Too Many Requests |
| Invalid output | +1 | Agent bos cikti verdi |
| Tool error | +0.5 | Bash komutu basarisiz |
| Logic error | +2 | Agent yanlis dosyayi duzenledi |
| Crash | +3 | Agent tamamen cokktu |
#!/bin/bash
# scripts/circuit-status.sh
echo "=== Agent Circuit Breaker Status ==="
echo ""
printf "%-25s %-10s %-10s\n" "Agent" "State" "Failures"
echo "-------------------------------------------"
# Canavar skill-matrix'ten oku
if [ -f ~/.claude/canavar/skill-matrix.json ]; then
cat ~/.claude/canavar/skill-matrix.json | \
jq -r '.agents | to_entries[] | "\(.key) \(.value.failures // 0) \(.value.state // "CLOSED")"' | \
while read name failures state; do
if [ "$state" = "OPEN" ]; then
printf "%-25s \033[31m%-10s\033[0m %-10s\n" "$name" "$state" "$failures"
elif [ "$state" = "HALF-OPEN" ]; then
printf "%-25s \033[33m%-10s\033[0m %-10s\n" "$name" "$state" "$failures"
else
printf "%-25s \033[32m%-10s\033[0m %-10s\n" "$name" "CLOSED" "$failures"
fi
done
fi
WARN: Agent 2+ ust uste basarisiz
ERROR: Circuit OPEN'a gecti
CRIT: 3+ agent ayni anda OPEN (sistemik sorun)
Tekrarlayan hatalarda cooldown suresini artir:
1. hata → 1 dakika cooldown
2. hata → 2 dakika cooldown
3. hata → 4 dakika cooldown
4. hata → 8 dakika cooldown
Max: 15 dakika
Basarili calisma → cooldown sifirla
YAPMA: Her hatada agent'i hemen tekrar calistir
YAP: Circuit breaker ile kontrol et
YAPMA: Hatalari sessizce yut
YAP: Logla, say, esik kontrolu yap
YAPMA: Tek hata tipine gore devre kes
YAP: Hata tipine gore agirlik ver
YAPMA: Sonsuz retry dongusu
YAP: Max retry + exponential backoff + fallback
YAPMA: Tum agent'lar icin ayni esik
YAP: Kritik agent'lar (security) icin dusuk esik
还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
WCAG 2.2 AA compliance, ARIA patterns, keyboard navigation, screen reader optimization
中文简介正在准备中。当前显示原文说明。
axe-core integration, WCAG 2.2 AA checklist, keyboard navigation testing, screen reader testing, and ARIA pattern validation.
中文简介正在准备中。当前显示原文说明。
Steam-style achievement system with XP, levels, streaks, and skill trees. Gamifies the development workflow. 25 achievements across 5 categories.
中文简介正在准备中。当前显示原文说明。
Framework for measuring and tracking agent response quality over time. Detects regressions before they reach production. Use when evaluating agent changes, auditing quality, or establishing performance baselines.
中文简介正在准备中。当前显示原文说明。
Agent Context Isolation
中文简介正在准备中。当前显示原文说明。
Agent ve skill dosyalarinin yapisal dogrulamasi. Frontmatter kontrol, naming convention, zorunlu bolum kontrolu, tutarlilik denetimi. Yeni agent/skill eklendiginde veya mevcut dosyalar duzenlediginde otomatik calistirilir.
中文简介正在准备中。当前显示原文说明。