重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
npx skills add https://github.com/rysweet/amplihack --skill cascade-workflow通过级联回退策略实现优雅降级。当最优方法失败或超时时,系统会自动回退到更简单、更可靠的替代方案,同时保持可接受的功能性。
适用于:
避免用于:
超时策略:
aggressive - 快速失败,快速降级 (5s / 2s / 1s)balanced - 合理尝试 (30s / 10s / 5s) - 默认patient - 在回退前进行彻底尝试 (120s / 30s / 10s)custom - 自定义超时时间广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
回退类型:
service - 外部 API → 缓存数据 → 静态默认值quality - 全面分析 → 标准分析 → 最小化分析freshness - 实时数据 → 近期数据 → 历史数据completeness - 完整数据集 → 样本数据 → 摘要数据accuracy - 精确结果 → 近似结果 → 估算结果降级通知:
silent - 仅记录日志,不通知用户warning - 通知用户发生降级explicit - 详细说明降级内容及原因主要层级(最优):
次要层级(可接受):
第三层级(保证完成):
级联定义示例:
使用 AI 进行代码分析:
外部 API 数据获取:
测试执行:
执行最优解决方案
根据策略配置设置超时
监控执行进度
如果成功完成:完成(最佳结果)
如果失败或超时:继续步骤 3
记录尝试和失败原因
try: result = execute_primary_approach(timeout=PRIMARY_TIMEOUT) log_success(level="PRIMARY", result=result) return result # 完成 - 达到最佳结果 except TimeoutError: log_failure(level="PRIMARY", reason="timeout") # 继续步骤 3 except ExternalServiceError as e: log_failure(level="PRIMARY", reason=f"service_error: {e}") # 继续步骤 3
记录降级到次要层级
执行可接受的回退解决方案
设置更短的超时(通常为主要层级的 1/3)
监控执行进度
如果成功完成:完成(可接受结果)
如果失败或超时:继续步骤 4
记录尝试和失败原因
log_degradation(from_level="PRIMARY", to_level="SECONDARY") try: result = execute_secondary_approach(timeout=SECONDARY_TIMEOUT) log_success(level="SECONDARY", result=result, degraded=True) return result # 完成 - 可接受结果 except TimeoutError: log_failure(level="SECONDARY", reason="timeout") # 继续步骤 4
记录降级到第三层级
执行保证完成的方法
设置最小超时(通常为 1s)
必须成功 - 不允许失败
返回最小化但功能正常的结果
记录成功(降级但功能正常)
完成(保证完成)
log_degradation(from_level="SECONDARY", to_level="TERTIARY") try: result = execute_tertiary_approach(timeout=TERTIARY_TIMEOUT) log_success(level="TERTIARY", result=result, heavily_degraded=True) return result # 完成 - 最小化但功能正常 except Exception as e: # 这绝不应该发生 log_critical_failure("TERTIARY 方法失败 - 这是一个错误!") raise SystemError("级联安全违规:第三层级失败")
降级报告模板:
静默模式:
[日志] 级联:主要层级超时 (30s) → 次要层级成功 (6s)
结果:标准分析(从全面分析降级)
警告模式:
⚠️ 使用缓存数据(小于 1 小时)
当前实时数据不可用。
明确模式:
ℹ️ 分析质量通知
我们尝试使用 GPT-4 提供全面的代码分析,
但遇到了响应缓慢的问题 (>30s 超时)。
已应用回退:
- 使用:GPT-3.5 标准分析(6s 内完成)
- 质量:标准(对比全面)
- 影响:不包含高级语义洞察
您将获得:
✓ 基本模式检测
✓ 标准建议
✓ 代码质量评估
缺失内容:
✗ 复杂架构洞察
✗ 深度语义分析
✗ 高级重构建议
需要跟踪的指标:
amplihack.memory.discoveries 中的 store_discovery() 存储学习成果优化标准:
优势: 系统始终完成,从不完全失败 代价: 用户可能收到降级响应 最适合: 响应性重要的面向用户功能
配置:
实现:
async def get_weather(location: str) -> WeatherData:
"""通过级联回退获取天气数据"""
# 主要层级:实时天气 API
try:
return await fetch_weather_api(location, timeout=30)
except (TimeoutError, APIError):
log.warning("主要层级天气 API 失败,尝试缓存")
# 次要层级:缓存天气数据
try:
cached = await get_cached_weather(location, max_age=3600)
if cached:
notify_user("使用缓存中的天气数据(< 1 小时)")
return cached
except CacheError:
log.warning("次要层级缓存失败,使用默认值")
# 第三层级:默认天气数据
return get_default_weather(location) # 永不失败
结果: 系统始终返回天气数据,质量优雅降级
配置:
级联路径:
配置:
实现:
def search_and_rank(query: str) -> List[Result]:
"""使用 ML 排序进行搜索,回退到简单排序"""
results = fetch_results(query)
# 主要层级:基于 ML 的排序(复杂)
try:
return ml_rank(results, timeout=5)
except TimeoutError:
pass # 静默回退
# 次要层级:启发式排序(足够好)
try:
return heuristic_rank(results, timeout=2)
except TimeoutError:
pass
# 第三层级:简单文本匹配排序(基础)
return simple_rank(results) # 始终快速
此工作流强制执行:
提供降级服务优于无服务
每周安装数
83
代码仓库
GitHub 星标数
45
首次出现
2026年1月23日
安全审计
安装于
opencode76
claude-code72
codex71
cursor70
gemini-cli69
github-copilot68
Implement graceful degradation through cascading fallback strategies. When optimal approaches fail or timeout, the system automatically falls back to simpler, more reliable alternatives while maintaining acceptable functionality.
USE FOR:
AVOID FOR:
Timeout Strategy:
aggressive - Fast failures, quick degradation (5s / 2s / 1s)balanced - Reasonable attempts (30s / 10s / 5s) - DEFAULTpatient - Thorough attempts before fallback (120s / 30s / 10s)custom - Define your own timeoutsFallback Types:
service - External API → Cached data → Static defaultsquality - Comprehensive → Standard → Minimal analysisfreshness - Real-time → Recent → Historical datacompleteness - Full dataset → Sample → Summaryaccuracy - Precise → Approximate → EstimateDegradation Notification:
silent - Log only, no user notificationwarning - Inform user of degradationexplicit - Detailed explanation of what degraded and whyPRIMARY (Optimal):
SECONDARY (Acceptable):
TERTIARY (Guaranteed):
Example Cascade Definitions:
Code Analysis with AI:
External API Data Fetch:
Test Execution:
Execute optimal solution
Set timeout based on strategy configuration
Monitor execution progress
If completes successfully: DONE (best outcome)
If fails or times out: Continue to Step 3
Log attempt and reason for failure
try: result = execute_primary_approach(timeout=PRIMARY_TIMEOUT) log_success(level="PRIMARY", result=result) return result # DONE - best outcome achieved except TimeoutError: log_failure(level="PRIMARY", reason="timeout") # Continue to Step 3 except ExternalServiceError as e: log_failure(level="PRIMARY", reason=f"service_error: {e}") # Continue to Step 3
Log degradation to secondary level
Execute acceptable fallback solution
Set shorter timeout (typically 1/3 of primary)
Monitor execution progress
If completes successfully: DONE (acceptable outcome)
If fails or times out: Continue to Step 4
Log attempt and reason for failure
log_degradation(from_level="PRIMARY", to_level="SECONDARY") try: result = execute_secondary_approach(timeout=SECONDARY_TIMEOUT) log_success(level="SECONDARY", result=result, degraded=True) return result # DONE - acceptable outcome except TimeoutError: log_failure(level="SECONDARY", reason="timeout") # Continue to Step 4
Log degradation to tertiary level
Execute guaranteed completion approach
Set minimal timeout (typically 1s)
MUST succeed - no failures allowed
Return minimal but functional result
Log success (degraded but functional)
DONE (guaranteed completion)
log_degradation(from_level="SECONDARY", to_level="TERTIARY") try: result = execute_tertiary_approach(timeout=TERTIARY_TIMEOUT) log_success(level="TERTIARY", result=result, heavily_degraded=True) return result # DONE - minimal but functional except Exception as e: # THIS SHOULD NEVER HAPPEN log_critical_failure("TERTIARY approach failed - this is a bug!") raise SystemError("Cascade safety violation: tertiary failed")
Degradation Reporting Templates:
Silent Mode:
[LOG] CASCADE: PRIMARY timeout (30s) → SECONDARY success (6s)
Result: standard_analysis (degraded from comprehensive)
Warning Mode:
⚠️ Using cached data (less than 1 hour old)
Current real-time data unavailable.
Explicit Mode:
ℹ️ Analysis Quality Notice
We attempted to provide comprehensive code analysis using GPT-4,
but encountered slow response times (>30s timeout).
Fallback Applied:
- Used: GPT-3.5 standard analysis (completed in 6s)
- Quality: Standard (vs. Comprehensive)
- Impact: Advanced semantic insights not included
What You're Getting:
✓ Basic pattern detection
✓ Standard recommendations
✓ Code quality assessment
What's Missing:
✗ Complex architectural insights
✗ Deep semantic analysis
✗ Advanced refactoring suggestions
Metrics to Track:
store_discovery() from amplihack.memory.discoveriesOptimization Criteria:
Benefit: System always completes, never fully fails Cost: Users may receive degraded responses Best For: User-facing features where responsiveness matters
Configuration:
Implementation:
async def get_weather(location: str) -> WeatherData:
"""Get weather data with cascade fallback"""
# PRIMARY: Live weather API
try:
return await fetch_weather_api(location, timeout=30)
except (TimeoutError, APIError):
log.warning("PRIMARY weather API failed, trying cache")
# SECONDARY: Cached weather data
try:
cached = await get_cached_weather(location, max_age=3600)
if cached:
notify_user("Using weather data from cache (< 1 hour old)")
return cached
except CacheError:
log.warning("SECONDARY cache failed, using defaults")
# TERTIARY: Default weather data
return get_default_weather(location) # Never fails
Outcome: System always returns weather data, quality degrades gracefully
Configuration:
Cascade Path:
Configuration:
Implementation:
def search_and_rank(query: str) -> List[Result]:
"""Search with ML ranking, fallback to simple ranking"""
results = fetch_results(query)
# PRIMARY: ML-based ranking (sophisticated)
try:
return ml_rank(results, timeout=5)
except TimeoutError:
pass # Silent fallback
# SECONDARY: Heuristic ranking (good enough)
try:
return heuristic_rank(results, timeout=2)
except TimeoutError:
pass
# TERTIARY: Simple text match ranking (basic)
return simple_rank(results) # Always fast
This workflow enforces:
Better to deliver degraded service than no service
Weekly Installs
83
Repository
GitHub Stars
45
First Seen
Jan 23, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode76
claude-code72
codex71
cursor70
gemini-cli69
github-copilot68
通过 LiteLLM 代理让 Claude Code 对接 GitHub Copilot 运行 | 高级变通方案指南
48,700 周安装