
# Dirbtinio intelekto varomas realio laiko atitikties ChatOps asistentas DevSecOps konvejeriams

Įmonės nuolat spaudžiamos greičiau pristatyti programinę įrangą, išlaikant atitiktį nuolat augančiam reglamentų rinkiniui — [PCI‑DSS](https://www.pcisecuritystandards.org/pci_security/), [GDPR](https://gdpr.eu/), [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001) ir pramonės specifiniams reikalavimams. Tradiciniai atitikties patikrinimai yra paketiniu pobūdžio, vykdomi po išleidimo ir dažnai sukelia brangų perdirbimą.  

Kas būtų, jei atitiktį būtų galima **kalbėtis**, **užklausti** ir **įgyvendinti** tame pačiame pokalbių kanale, kuriame kūrėjai jau bendradarbiauja? Šiame straipsnyje nagrinėjama nauja architektūra: **Dirbtinio intelekto varomas realio laiko atitikties ChatOps asistentas**, gyvenantis jūsų CI/CD darbo sraute, suteikiantis momentinį politikos patikrinimą, taisymo gaires ir auditui paruoštus įrodymus – viską per natūralios kalbos sąveiką.

> **Pagrindinė išvada:** Įterpiant generatyvų AI atitikties variklį į ChatOps, saugumo, teisinės ir inžinerijos komandos gali sumažinti atitikties grįžtamojo ryšio ciklą nuo dienų iki sekundžių, paverčiant atitiktį kliūtimi į nuolatinį, bendradarbiavimą skatinantį pranašumą.

---

## 1. Kodėl ChatOps asistentas yra trūkstamas ryšys

| Tradicinis požiūris | ChatOps su AI |
|----------------------|--------------------|
| Rankiniai politikos peržiūrėjimai po kūrimo | Momentiniai politikos patikrinimai, suaktyvinami kiekvieno įsipareigojimo metu |
| Atskirių bilietų sistema pažeidimams | Pažeidimai rodomi kaip pokalbio žinutės su veiksmais mygtukais |
| Statiniai taisyklių rinkiniai, sunkiai besikeičiantys | Dinaminis žinių grafas, mokantis iš naujų reglamentų |
| Audito atlikimui reikia rankinio žurnalo ištraukimo | Automatinis įrodymų rinkimas, priskiriamas kiekvienam pokalbio gijų |

*Kūrėjai jau naudoja Slack, Microsoft Teams arba Mattermost kasdienėms susirinkimams, PR diskusijoms ir incidentų reagavimui. Pridėjus atitiktį į tą patį pokalbio srautą pašalinamas kontekstų perjungimas ir užtikrinama, kad kiekvienas pakeitimas būtų įvertintas pagal naujausius reguliacinius lūkesčius.*

---

## 2. Pagrindiniai asistento komponentai

Žemiau pateikiamas aukšto lygio sistemos vaizdas. Diagrama išreikšta **Mermaid** sintakse, kurią Hugo gali natūraliai atvaizduoti.

```mermaid
graph LR
    subgraph CI_CD[CI/CD Pipeline]
        A[Source Code Repo] --> B[Build Stage]
        B --> C[Static Analysis]
        C --> D[Infrastructure as Code Scan]
        D --> E[Deploy to Staging]
    end

    subgraph ChatOps[ChatOps Platform]
        F[Slack / Teams Bot] --> G[Message Router]
        G --> H[AI Prompt Engine]
        H --> I[Compliance Knowledge Graph]
        H --> J[LLM Inference Service]
        I --> K[Policy Store (OPA / Rego)]
        J --> L[Evidence Generator]
    end

    subgraph Audit[Audit & Evidence]
        M[Evidence Ledger] --> N[Immutable Log (IPFS/Blockchain)]
    end

    E --> O[Trigger Hook] --> G
    O -->|Violation Detected| F
    F -->|Remediation Suggestion| E
    L --> M
    K --> I
```

### 2.1 Didelio kalbos modelio (LLM) užklausų variklis  
**Tikslas:** Versti natūralios kalbos užklausas („Ar šis Terraform modulis atitinka PCI‑DSS?“) į struktūruotus politikos patikrinimus.  
**Įgyvendinimas:** Smulkiai derintas LLM (pvz., Llama‑3‑70B) veikiantis krašto GPU, užtikrinantis sub‑sekundinį vėlinimą. Užklausų šablonai įterpia naujausią atitikties ontologiją.

### 2.2 Dinaminis atitikties žinių grafas  
**Tikslas:** Vaizduoti reglamentus, standartus ir vidines politikas kaip susijusius mazgus (pvz., „Duomenų šifravimas → Reikalauja AES‑256“).  
**Įgyvendinimas:** Neo4j arba Amazon Neptune su realaus laiko įsisavinimo kanalais, kurie analizuoja reguliatorių publikacijas naudojant Document AI. Grafo atnaujinimai automatiškai sukelia LLM užklausų šablonų permokymą.

### 2.3 Politikų saugykla (OPA / Rego)  
**Tikslas:** Pateikti deterministines, mašinų skaitomas taisykles, kurias LLM gali iškviesti žemesnio lygio patikrinimams (pvz., „nėra įkoduotų paslapčių“).  
**Įgyvendinimas:** Open Policy Agent politikos, versijuojamos Git, automatiškai atnaujinamos, kai atnaujinamas žinių grafas.

### 2.4 Įrodymų generatorius ir nekeičiama knyga  
**Tikslas:** Užfiksuoti tikslų įvestį, politikos versiją, LLM pagrindimą ir rezultatą kiekvienam atitikties sprendimui.  
**Įgyvendinimas:** Serializuoti įrodymus kaip JSON‑LD, saugoti pridedamoje knygoje (IPFS + Filecoin arba privatus blokų grandinės sprendimas). Tai tenkina auditų reikalavimus be rankinio eksporto.

### 2.5 ChatOps robotas ir žinučių maršrutizatorius  
**Tikslas:** Sujungti CI/CD įvykius ir kūrėjų pokalbius.  
**Įgyvendinimas:** Serverless funkcija (AWS Lambda, Azure Functions) gauna webhook įvykius iš konvejerio, persiunčia juos AI varikliui ir grąžina suformatuotas žinutes atgal į kanalą. Mygtukai („Taikyti pataisą“, „Ignoruoti“, „Sukurti bilietą“) iškviečia papildomas operacijas per maršrutizatorių.

---

## 3. Nuo pradžios iki pabaigos darbo eiga

1. **Įsipareigoti ir įstumti** – Kūrėjas įstumia kodą į Git.  
2. **Darbo srauto vykdymas** – Vykdomi kūrimas, statinė analizė, IaC skenavimas.  
3. **Atitikties kabliukas** – Skenerio pabaigoje webhook siunčia duomenų paketą į ChatOps maršrutizatorių.  
4. **AI įvertinimas** – Maršrutizatorius siunčia duomenų paketą į LLM užklausų variklį. Variklis klausia Žinių grafo ir Politikų saugyklos, generuodamas atitikties sprendimą ir natūralios kalbos paaiškinimą.  
5. **Pokalbio pranešimas** – Robotas paskelbia žinutę:

   ```
   🚨 Atitikties įspėjimas: Terraform modulis „vpc‑prod“ pažeidžia PCI‑DSS reikalavimą 3.2.1.
   Priežastis: aptikta vieša potinklio CIDR 0.0.0.0/0.
   Siūlomas sprendimas: apriboti CIDR iki 10.0.0.0/16.
   [Taikyti pataisą] [Sukurti Jira bilietą] [Ignoruoti]
   ```

6. **Kūrėjo veiksmas** – Paspaudus **Taikyti pataisą**, sukuriamas automatizuotas PR, atnaujinantis IaC failą.  
7. **Įrodymų fiksavimas** – Visa sprendimo grandinė (duomenų paketas, politikos versija, LLM pagrindimas) saugoma nekeičiamoje knygoje.  
8. **Audito išgavimas** – Auditoriai per UI užklausia knygą, gaudami nekeičiamos atitikties takelį konkrečiam leidimui.

Šis ciklas kartojamas kiekvienam konvejerio vykdymui, užtikrinant **nuolatinę atitiktį**, o ne periodinius patikrinimus.

---

## 4. Išmatuoti privalumai

| Metrika | Tradicinis procesas | ChatOps asistentas |
|--------|---------------------|-------------------|
| Vidutinis laikas iki pažeidimo aptikimo | 48 h (po išleidimo) | < 5 s (prieš sujungimą) |
| Vidutinis laikas iki taisymo | 24 h – 3 d | < 30 min (automatinis PR) |
| Audito paruošimo pastangos | 40 h per auditas | 2 h (automatiškai sugeneruoti įrodymai) |
| Klaidingų teigiamų rezultatų rodiklis | 12 % (rankinis taisyklių nuokrypis) | 3 % (grafu pagrįstas kontekstas) |
| Kūrėjų pasitenkinimas (NPS) | –5 | +30 |

Realūs bandomieji projektai vidutinio dydžio SaaS įmonėje parodė **70 % sumažėjimą atitikties bilietų** ir **45 % greitesnį leidimo ciklą** po asistento įdiegimo.

---

## 5. Įgyvendinimo planas

### 5.1 Žinių grafo įdiegimas
1. **Duomenų įsisavinimas** – Naudoti Document AI, kad iš PDF iš regulatorių (pvz., NIST SP 800‑53, [GDPR](https://gdpr.eu/)) išgautų tekstą.  
2. **Entitetų išskyrimas** – Identifikuoti kontrolės, duomenų subjektus, šifravimo standartus.  
3. **Grafo modeliavimas** – Kurti mazgus *Reglamentas*, *Kontrolė*, *Artefaktas*, *Rizika*.  
4. **Periodinis atnaujinimas** – Dienos pipeline, tikrinantis naujas publikacijas ir atnaujinantis grafiką.

### 5.2 LLM derinimas
1. **Užklausų‑atsakymų porų rinkimas** – Iš atitikties analitikų surinkti natūralios kalbos klausimus ir atitinkamus politikos patikrinimus.  
2. **Supervizinis derinimas** – Naudoti LoRA adapterius, kad išlaikytume bazinį modelį lengvu.  
3. **Vertinimas** – Testuoti su atskirų scenarijų rinkiniu (tikslumas > 0.92, vėlinimas < 200 ms).

### 5.3 Politikų saugyklos diegimas
1. **Rego taisyklių rašymas** – Užkoduoti žemo lygio patikrinimus (pvz., „nėra įkoduotų slaptažodžių“, „reikalaujama TLS“).  
2. **Versijavimas** – Saugoti politikas Git saugykloje, žymėti kiekvieną versiją semantiniu identifikatoriumi (pvz., `v1.3.0`).  
3. **OPA integracija** – Eksponuoti REST endpointą, kurį LLM gali kviesti deterministiniam įvertinimui.

### 5.4 ChatOps roboto kūrimas
1. **Platformos pasirinkimas** – Slack App, Microsoft Teams Bot arba Mattermost integracija.  
2. **Webhook klausytojas** – Serverless funkcija, patikrinanti parašus ir persiunčianti duomenų paketus.  
3. **Žinučių formatavimas** – Naudoti Block Kit (Slack) arba Adaptive Cards (Teams) interaktyviems mygtukams.  
4. **Veiksmų tvarkyklės** – Įgyvendinti „Taikyti pataisą“ generuojant PR per Git tiekėjo API.

### 5.5 Įrodymų knyga
1. **Schemos apibrėžimas** – Įtraukti `event_id`, `timestamp`, `policy_version`, `graph_snapshot_hash`, `llm_prompt`, `llm_response`.  
2. **IPFS rašymas** – Prisegti JSON‑LD objektą, saugoti CID reliaciniame audit DB greitam paieškomui.  
3. **Prieigos kontrolė** – Naudoti JWT autentifikaciją, apriboti knygos skaitymą auditoriams ir atitikties pareigūnams.

---

## 6. Dažniausių iššūkių įveikimas

| Iššūkis | Sprendimas |
|---------|------------|
| LLM haliucinacijos – neteisingas atitikties pagrindimas | Naudoti **dvigubą patikrinimą**: LLM išvestis turi būti patvirtinta pagal deterministines OPA politikas prieš priimant. |
| Reguliavimo vėlavimas – nauji standartai atsiranda greičiau nei grafas atnaujinamas | Įgyvendinti **RSS/Atom srautus** iš reguliatorių svetainių ir **žmogaus įtraukimo** peržiūrėtoją, patvirtinantį grafo pakeitimus per 24 h. |
| Veikimo našumas mastu – tūkstančiai kūrimų per dieną | Diegti **pakraščio inferenciją** (pvz., NVIDIA Jetson, AWS Graviton) šalia CI vykdytojų; talpinti politikos rezultatus identiškiems artefaktams. |
| Duomenų privatumas – jautrūs kodo fragmentai siunčiami LLM | Paleisti LLM **vietoje** už ugniasienės; šifruoti duomenų paketus perkelimo metu; vengti siųsti neapdorotas paslaptis. |
| Vartotojų priėmimas – komandos gali ignoruoti roboto žinutes | Suteikti **žaidimo elementus** atitikties balus kiekvienam kūrėjui ir švęsti „Atitikties čempiono“ ženklelius kanale. |

---

## 7. Ateities patobulinimai

1. **Proaktyvi politikos simuliacija** – Prieš įvykstant pakeitimui, asistentas gali vykdyti „kas‑būt“ scenarijų, naudodamas skaitmeninį aplinkos dvynį, prognozuodamas vėlesnį atitikties poveikį.  
2. **Kelių debesų rizikos koreliacija** – Sujungti debesų tiekėjų saugumo būklės duomenis (AWS Security Hub, Azure Defender) į žinių grafiką, siekiant vieningos rizikos įvertinimo.  
3. **Zero‑Trust įrodymų dalijimasis** – Naudoti decentralizuotus identifikatorius (DID) ir patikrinamus įgaliojimus, kad dalintumėtės atitikties įrodymais su išoriniais auditoriais neatskleidžiant vidinių detalių.  
4. **Savitaisyklės pipeline** – Kombinuoti asistentą su **GitOps**, kad automatiškai atstatytų neatitinkančius pakeitimus arba suaktyvintų funkcijų vėliavų perjungimus.  

---

## 8. Pradžia – 30‑dienų sprintas

| Diena | Tikslas |
|-------|---------|
| 1‑3 | Suburti kryžminės funkcijos komandą (DevSecOps, atitiktis, duomenų mokslas). |
| 4‑7 | Įdiegti minimalų žinių grafiką naudojant atviro kodo reguliatorių analizatorių. |
| 8‑12 | Derinti mažą LLM (pvz., Mistral‑7B) su 100 atitikties klausimų‑atsakymų porų. |
| 13‑15 | Įgyvendinti proof‑of‑concept Slack robotą, kuris atsako į statinį politikos patikrinimą. |
| 16‑20 | Integruoti OPA politikas ir leisti robotui atmesti nesėkmingą PR. |
| 21‑25 | Pridėti įrodymų generavimą ir saugoti pavyzdinį įrašą knygoje IPFS. |
| 26‑30 | Vykdyti pilną CI/CD pipeline su robotu, rinkti metrikas ir iteruoti. |

---

## 9. Išvada

Atitiktis nebereikia būti vartelė, kuri sulėtina pristatymą. Įterpiant generatyvų AI atitikties variklį į pokalbių kanalus, kuriuose kūrėjai jau bendradarbiauja, organizacijos gauna **momentinį matomumą**, **veiksmingas taisymo rekomendacijas** ir **auditui paruoštus įrodymus** be greičio praradimo.  

Aprašyta architektūra – LLM užklausų variklis, dinaminis žinių grafas, deterministinis politikos saugykla ir nekeičiama įrodymų knyga – suteikia mastų, saugų ir prisitaikantį pagrindą **realio laiko, konversacinės atitikties**. Kadangi reglamentai nuolat keičiasi, ta pati sistema gali automatiškai prisitaikyti, paverčiant atitiktį iš statinio kontrolinio sąrašo į gyvą, bendradarbiaujantį partnerį programinės įrangos pristatymo cikle.

---

## Susiję

- [Open Policy Agent (OPA) – Politika kaip kodas](https://www.openpolicyagent.org/)
- [Neo4j grafų duomenų bazė – Žinių grafų kūrimas](https://neo4j.com/)
- [Microsoft Teams robotų karkaso dokumentacija](https://learn.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots)
- [NIST kibernetinio saugumo struktūra – Kontrolės susiejimas su kodu](https://www.nist.gov/cyberframework)