docs: add session preflight and expand lint scope batch5

This commit is contained in:
Apple
2026-02-16 03:53:56 -08:00
parent 9c9f4fa182
commit de7533f97e
7 changed files with 120 additions and 25 deletions

View File

@@ -4,13 +4,13 @@
**Хардкод** = значення, які "зашиті" прямо в коді і не можуть змінюватись без редагування коду.
### Приклад хардкоду:
### Приклад хардкоду
```python
# ❌ ХАРДКОД - значення прямо в коді
local_model = "qwen3-8b" # Якщо треба змінити модель, треба редагувати код!
```
### Проблеми хардкоду:
### Проблеми хардкоду
1. **Треба редагувати код** для зміни значення
2. **Не можна змінити без перезапуску** сервісу
3. **Важко тестувати** різні конфігурації
@@ -22,7 +22,7 @@ local_model = "qwen3-8b" # Якщо треба змінити модель, т
**Конфігурація** = значення, які зберігаються окремо від коду (в файлах, змінних середовища, БД) і можуть змінюватись без редагування коду.
### Приклад конфігурації:
### Приклад конфігурації
```yaml
# ✅ КОНФІГ - значення в окремому файлі router-config.yml
llm_profiles:
@@ -38,7 +38,7 @@ llm_profile = router_config.get("llm_profiles", {}).get("qwen3_science_8b")
model = llm_profile.get("model") # Беремо з конфігу, не хардкодимо!
```
### Переваги конфігурації:
### Переваги конфігурації
1. **Зміна без редагування коду** - просто змінити YAML файл
2. **Різні конфіги для різних середовищ** (dev/prod/staging)
3. **Легко тестувати** - можна створити test-config.yml
@@ -60,13 +60,13 @@ model = llm_profile.get("model") # Беремо з конфігу, не хар
## 🔧 ЩО МИ ВИПРАВИЛИ?
### БУЛО (хардкод):
### БУЛО (хардкод)
```python
# ❌ Хардкод - модель завжди "qwen3-8b"
local_model = "qwen3-8b"
```
### СТАЛО (з конфігу):
### СТАЛО (з конфігу)
```python
# ✅ Читаємо з конфігу
if llm_profile.get("provider") == "ollama":
@@ -74,7 +74,7 @@ if llm_profile.get("provider") == "ollama":
local_model = ollama_model.replace(":", "-") # qwen3:8b → qwen3-8b
```
### Результат:
### Результат
- ✅ Модель береться з `router-config.yml`
- ✅ Якщо змінити конфіг → зміниться поведінка
-Не треба редагувати код для зміни моделі
@@ -84,12 +84,12 @@ if llm_profile.get("provider") == "ollama":
## 💡 КОЛИ ВИКОРИСТОВУВАТИ?
### Хардкод - тільки для:
### Хардкод - тільки для
- Константи (π = 3.14, версія API)
- Значення, які ніколи не зміняться
- Технічні деталі (timeout = 5.0 сек)
### Конфігурація - для:
### Конфігурація - для
- Моделі LLM
- API ключі
- URL сервісів
@@ -100,7 +100,7 @@ if llm_profile.get("provider") == "ollama":
## 📝 ПРИКЛАД З НАШОГО ПРОЄКТУ
### router-config.yml (конфігурація):
### router-config.yml (конфігурація)
```yaml
agents:
helion:
@@ -112,7 +112,7 @@ llm_profiles:
model: qwen3:8b # ← Можна змінити модель тут
```
### main.py (код):
### main.py (код)
```python
# Читаємо з конфігу
default_llm = agent_config.get("default_llm", "qwen3-8b")