con un clic
degradation-check
排查"功能静默失效"(rerank 没生效/图谱没融合/缓存没命中)时使用。项目所有降级走 DEGRADED 指标+日志,用它定位。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
排查"功能静默失效"(rerank 没生效/图谱没融合/缓存没命中)时使用。项目所有降级走 DEGRADED 指标+日志,用它定位。
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
改了项目代码/配置后,判断该 rebuild 哪个镜像、哪些走 HMR、.env 改动要不要重建容器。避免"改了没生效"的最常见坑。
排查检索召回差/路由偏差/改写没效果/某文档召不出问题时使用。用 debug_search 透出每步中间结果定位。
排查问答缓存问题(不命中/脏缓存/黑名单误拦/置信度过滤/多轮不缓存)时使用。覆盖三级缓存(Redis/MySQL/Semantic)+黑名单+置信度规则。
| name | degradation-check |
| description | 排查"功能静默失效"(rerank 没生效/图谱没融合/缓存没命中)时使用。项目所有降级走 DEGRADED 指标+日志,用它定位。 |
项目所有 except 走 degraded(tag, e)(backend/app/core/obs.py):记 metrics.DEGRADED.labels(tag).inc() + [降级:tag] warning 日志。没有盲 except: pass——失败必须可见。
# Prometheus 查询(Grafana 或 curl /metrics)
curl -s http://localhost:8001/metrics | grep "grid_degraded_total" | sort -t' ' -k2 -rn
或 Grafana 降级面板(sum by (tag) (increase(grid_degraded_total[5m])))。
docker logs grid-backend 2>&1 | grep "降级:" | tail -30
# 例:[降级:rerank] ArrearsError: 账户欠费
# [降级:kg_neo4j] ConnectionRefusedError: Neo4j 未启动
# [降级:qa_cache_get] ConnectionError: Redis 挂
| tag | 含义 | 根因 |
|---|---|---|
rerank | rerank 调用失败 | 百炼欠费/key 失效/网络;pool 保持原序 |
kg_neo4j / kg_graph_context | 知识图谱融合失败 | Neo4j 没启;graph=[] |
qa_cache_get/set | 缓存读写失败 | Redis 挂;跳缓存走 LLM |
semantic_cache_* | 语义缓存失败 | Redis/embedding;跳过 |
crag_v2 / crag_rewrite | CRAG 分级/改写失败 | LLM 调用;回退 v1 |
embed_* | embedding 失败 | provider 挂/网络 |
hyde_dispatch / multi_query_dispatch | HyDE/多查询失败 | LLM;跳过走原 query |
*_mysql_* | MySQL 读写失败 | DB 连接/锁 |
feedback_judge* | dislike judge 失败 | LLM;judge 字段不回填 |
rewrite_cache_* / rewrite_eval | 改写缓存/评估失败 | Redis/embedding |
curl -s http://localhost:8001/health | python -m json.tool
# checks: mysql/minio/milvus/redis → ok?
# providers: llm/embedding keyConfigured?
curl -s http://localhost:8001/api/system/health/providers -H "Authorization: Bearer $TOK"
# provider 主动 ping(抓欠费/key失效)
事件驱动指标(FEEDBACK/CRAG/ROUTING/REWRITE)事件发生前 /metrics 不含该序列 → Grafana "No data"。检查 init_metric_series()(metrics.py)是否预注册了该 label。或 Grafana 面板用 or vector(0) 兜底。
backend/app/core/obs.py(degraded)backend/app/core/metrics.py(DEGRADED + init_metric_series)backend/app/routers/system.py(/health, /system/health/providers)+ 后台 _refresh_component_health_loopcodegraph 定位:
codegraph explore "degraded DEGRADED init_metric_series COMPONENT_HEALTH check_llm_health"