77 lines
4.5 KiB
Markdown
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. |