Files
2026-05-18 06:40:19 +00:00

77 lines
4.5 KiB
Markdown

# Projekt Agenta DBA z Gemini
Ten projekt ma na celu skonfigurowanie i wykorzystanie agenta Gemini jako wyspecjalizowanego asystenta do spraw administracji bazami danych (DBA). Centralnym elementem jest zdefiniowanie "persony" agenta, która steruje jego zachowaniem, priorytetami i ograniczeniami, pozwalając mu działać jak ekspert w danej dziedzinie.
## Spis Treści
- [Projekt Agenta DBA z Gemini](#projekt-agenta-dba-z-gemini)
- [Spis Treści](#spis-treści)
- [Struktura Projektu](#struktura-projektu)
- [Konfiguracja i Persona Agenta](#konfiguracja-i-persona-agenta)
- [Aktualna Persona: Starszy Administrator Baz Danych (Senior DBA)](#aktualna-persona-starszy-administrator-baz-danych-senior-dba)
- [Kluczowe Dokumenty i Workflow](#kluczowe-dokumenty-i-workflow)
- [Jak Używać](#jak-używać)
- [Jak Rozszerzać Konfigurację](#jak-rozszerzać-konfigurację)
---
## Struktura Projektu
Najważniejsze pliki i katalogi w projekcie:
```
.
├── .github/
│ └── instructions/
│ └── gemini.instructions.md <-- KLUCZOWY PLIK: Definicja persony i reguł agenta
├── docs/
│ ├── dba_responsibility.md <-- Zakres obowiązków i odpowiedzialności DBA
│ ├── dba_workflow.md <-- Cykliczny przepływ pracy DBA
│ └── db_security_best_practices.md <-- Najlepsze praktyki bezpieczeństwa
└── README.md <-- Główna dokumentacja projektu (ten plik)
```
---
## Konfiguracja i Persona Agenta
Główna konfiguracja agenta, definiująca jego tożsamość i zasady działania, znajduje się w pliku:
- **[`.github/instructions/gemini.instructions.md`](./.github/instructions/gemini.instructions.md)**
Plik ten jest automatycznie odczytywany przez agenta i zawiera wszystkie reguły, którymi się on kieruje.
### Aktualna Persona: Starszy Administrator Baz Danych (Senior DBA)
Agent został skonfigurowany do działania jako **Starszy Administrator Baz Danych**. Jego głównym celem jest zapewnienie **bezpieczeństwa, wydajności i niezawodności** zarządzanych systemów bazodanowych. Kluczowe zasady jego działania to:
> - **Bezpieczeństwo Przede Wszystkim (Security First):** Rygorystyczne stosowanie zasady najmniejszych uprawnień, ochrona przed SQL Injection, unikanie zakodowanych na stałe poświadczeń i wymaganie potwierdzenia dla operacji destrukcyjnych.
> - **Wydajność i Optymalizacja:** Proaktywna analiza planów wykonania zapytań (`EXPLAIN PLAN`), optymalizacja poprzez indeksowanie i refaktoryzacja "wąskich gardeł".
> - **Zarządzanie Schematem i Integralność:** Wprowadzanie zmian poprzez idempotentne skrypty migracyjne i zapewnianie integralności danych za pomocą więzów (`PRIMARY KEY`, `FOREIGN KEY` itp.).
> - **Automatyzacja:** Dążenie do automatyzacji powtarzalnych zadań w celu zwiększenia niezawodności i efektywności.
---
## Kluczowe Dokumenty i Workflow
W katalogu `docs` znajduje zrób dlsię szczegółowa dokumentacja opisująca obowiązki, procedury i najlepsze praktyki stosowane przez agenta.
- 📄 **[Zakres Obowiązków DBA](./docs/dba_responsibility.md)**
- Szczegółowy opis odpowiedzialności agenta w zakresie administracji różnymi systemami baz danych (MSSQL, MySQL, PostgreSQL, MongoDB, OracleDB), komponentami (SSIS, SSRS) oraz systemami operacyjnymi.
- 🔄 **[Workflow Administratora Baz Danych](./docs/dba_workflow.md)**
- Zorganizowany przepływ pracy agenta, podzielony na zadania **codzienne, tygodniowe, miesięczne** oraz zadania wykonywane **na żądanie**. Opisuje, jak agent podchodzi do monitorowania, konserwacji, planowania pojemności i reagowania na incydenty.
- 🛡️ **[Najlepsze Praktyki Bezpieczeństwa](./docs/db_security_best_practices.md)**
- Omówienie fundamentalnych zasad bezpieczeństwa, które agent aktywnie wspiera i egzekwuje, takich jak zasada najmniejszych uprawnień czy ochrona przed SQL Injection.
---
## Jak Używać
Aby skorzystać ze skonfigurowanego agenta, po prostu kontynuuj z nim interakcję w tym środowisku. Będzie on automatycznie postępował zgodnie z zdefiniowanymi regułami. Nie są wymagane żadne dodatkowe komendy.
## Jak Rozszerzać Konfigurację
Aby dostosować lub rozszerzyć zachowanie agenta, edytuj plik `.github/instructions/gemini.instructions.md`, modyfikując istniejące reguły lub dodając nowe. Możesz na przykład:
- Dodać zasady specyficzne dla konkretnego dialektu SQL.
- Zdefiniować procedury tworzenia backupów obowiązujące w Twojej organizacji.
- Zmienić personę agenta na zupełnie inną, np. eksperta ds. cyberbezpieczeństwa.