
# Pemetaan Klausa Kontrak Dinamik dengan AI untuk Soalan Keselamatan

## Mengapa Pemetaan Klausa Kontrak Penting

Soalan selidik keselamatan adalah pintu masuk bagi perjanjian SaaS B2B. Soalan selidik tipikal menanyakan perkara seperti:

* *“Apakah anda menyulitkan data ketika tidak digunakan? Sila beri rujukan klausa dari Perjanjian Perkhidmatan anda.”*  
* *“Apakah masa tindak balas insiden anda? Sebutkan klausa yang relevan dalam Addendum Pemprosesan Data anda.”*  

Menjawab soalan-soalan ini dengan tepat memerlukan pencarian klausa khusus di antara sekian banyak kontrak, addenda, dan dokumen polisi. Pendekatan manual tradisional mempunyai tiga kelemahan utama:

1. **Penggunaan masa** – Pasukan keselamatan menghabiskan jam untuk mencari perenggan yang tepat.  
2. **Kesilapan manusia** – Rujukan klausa yang salah boleh menyebabkan jurang pematuhan atau kegagalan audit.  
3. **Rujukan usang** – Kontrak berubah; nombor klausa lama menjadi tidak relevan, tetapi jawapan soal selidik masih tidak diubah.

Enjin **Pemetaan Klausa Kontrak Dinamik (DCCM)** mengatasi ketiga‑tiga masalah ini dengan menjadikan repositori kontrak sebagai graf pengetahuan yang boleh dicari dan mengekalkan diri, yang mendorong jawapan soal selidik secara masa nyata yang dihasilkan AI.

---

## Seni Bina Teras Enjin DCCM

Berikut adalah pandangan aras tinggi bagi paip DCCM. Diagram menggunakan **Mermaid** untuk menggambarkan aliran data dan titik keputusan.

```mermaid
stateDiagram-v2
    [*] --> IngestContracts: "Pengambilan Dokumen"
    IngestContracts --> ExtractText: "OCR & Pengekstrakan Teks"
    ExtractText --> Chunkify: "Pecahan Semantik"
    Chunkify --> EmbedChunks: "Pengepasan Vektor (RAG)"
    EmbedChunks --> BuildKG: "Pembinaan Graf Pengetahuan"
    BuildKG --> UpdateLedger: "Entri Ledger Atribusi"
    UpdateLedger --> [*]

    state AIResponder {
        ReceiveQuestion --> RetrieveRelevantChunks: "Carian Vektor"
        RetrieveRelevantChunks --> RAGGenerator: "Penjanaan Tambahan Penarikan"
        RAGGenerator --> ExplainabilityLayer: "Sitasi & Skor Keyakinan"
        ExplainabilityLayer --> ReturnAnswer: "Jawapan Terformat dengan Pautan Klausa"
    }

    [*] --> AIResponder
```

**Komponen utama yang dijelaskan**

| Komponen | Tujuan | Teknologi |
|----------|--------|-----------|
| **IngestContracts** | Tarik kontrak, addenda, terma SaaS dari storan awan, SharePoint, atau repositori GitOps. | Event‑driven Lambda, S3 triggers |
| **ExtractText** | Ubah PDF, imbasan, dan fail Word menjadi teks mentah. | OCR (Tesseract), Apache Tika |
| **Chunkify** | Pisahkan dokumen menjadi bahagian yang koheren secara semantik (biasanya 1‑2 perenggan). | Pemisah NLP khusus berasaskan tajuk & hierarki bullet |
| **EmbedChunks** | Kodkan setiap bahagian ke dalam vektor padat untuk carian kesamaan. | Sentence‑Transformers (all‑MiniLM‑L12‑v2) |
| **BuildKG** | Bina graf properti di mana nod = klausa, tepi = rujukan, obligasi, atau piawaian berkaitan. | Neo4j + GraphQL API |
| **UpdateLedger** | Rekam provenance tidak boleh diubah bagi setiap bahagian yang ditambah atau diubah. | Hyperledger Fabric (ledger hanya tambah) |
| **RetrieveRelevantChunks** | Cari k bahagian paling serupa untuk prompt soal selidik yang diberikan. | FAISS / Milvus vector DB |
| **RAGGenerator** | Gabungkan teks terambil dengan LLM untuk menjana jawapan ringkas. | OpenAI GPT‑4o / Anthropic Claude‑3.5 |
| **ExplainabilityLayer** | Lampirkan sitasi, skor keyakinan, dan snippet visual klausa. | LangChain Explainability Toolkit |
| **ReturnAnswer** | Kembalikan jawapan dalam UI Procurize dengan pautan klausa yang boleh diklik. | React front‑end + Markdown rendering |

---

## Penjanaan Tambahan Penarikan (RAG) Bertemu Ketepatan Kontrak

LLM standard boleh berhalusinasi bila diminta memberi rujukan kontrak. Dengan menambat penjanaan pada *bahagian kontrak sebenar*, enjin DCCM menjamin ketepatan fakta:

1. **Pengodean pertanyaan** – Teks soal selidik pengguna dipetakan menjadi vektor.  
2. **Pengambilan top‑k** – FAISS mengembalikan bahagian kontrak paling serupa (k=5 secara lalai).  
3. **Kejuruteraan prompt** – Petikan yang diambil disuntik ke dalam prompt sistem yang memaksa LLM menyatakan sumber secara eksplisit:

```
Anda adalah pembantu pematuhan. GUNAKAN HANYA petikan kontrak yang disediakan untuk menjawab soalan. 
Untuk setiap jawapan, akhiri dengan "Clause: <DocumentID>#<ClauseNumber>".
Jika petikan tidak mengandungi butiran yang cukup, balas dengan "Maklumat tidak tersedia".
```

4. **Pasca‑pemprosesan** – Enjin mengurai output LLM, mengesahkan bahwa setiap klausa yang disebut wujud dalam graf pengetahuan, dan melampirkan skor keyakinan (0–100). Jika skor di bawah ambang yang boleh dikonfigurasi (contoh, 70), jawapan ditandakan untuk semakan manusia.

---

## Ledger Atribusi Boleh Dijelaskan

Juruaudit memerlukan bukti *dari mana* setiap jawapan berasal. Enjin DCCM menulis **rekod lejar bertanda kriptografi** bagi setiap peristiwa pemetaan:

```json
{
  "question_id": "Q-2025-07-12-001",
  "answer_hash": "sha256:8f3e...",
  "referenced_clause": "SA-2024-08#12.3",
  "vector_similarity": 0.94,
  "llm_confidence": 88,
  "timestamp": "2025-12-01T08:31:45Z",
  "signature": "0xABCD..."
}
```

Lejar ini:

* Menyediakan jejak audit yang tidak boleh diubah.  
* Membolehkan pertanyaan **zero‑knowledge proof** di mana regulator boleh mengesahkan kewujudan sitasi tanpa mendedahkan seluruh kontrak.  
* Menyokong **penguatkuasaan polisi‑as‑code**—jika klausa sudah tidak sah, lejar secara automatik menandakan semua jawapan soal selidik yang bergantung untuk penilaian semula.

---

## Penyesuaian Masa Nyata kepada Perubahan Klausa

Kontrak adalah dokumen yang hidup. Apabila sebuah klausa diubah, **Perkhidmatan Pengesanan Perubahan** menukar semula embedding bahagian terjejas, mengemas kini graf pengetahuan, dan menjana semula rekod lejar bagi mana‑mana jawapan soal selidik yang merujuk klausa tersebut. Keseluruhan gelung biasanya selesai dalam **2–5 saat**, memastikan UI Procurize sentiasa mencerminkan bahasa kontrak terkini.

### Contoh senario

*Klausa asal* (Versi 1):  
> “Data mesti disulitkan ketika tidak digunakan menggunakan AES‑256.”

*Klausa yang dikemas kini* (Versi 2):  
> “Data mesti disulitkan ketika tidak digunakan menggunakan AES‑256 atau ChaCha20‑Poly1305, mengikut apa yang dianggap lebih sesuai.”

Apabila versi berubah:

1. Embedding klausa diperbaharui.  
2. Semua jawapan yang sebelumnya menyitir “Clause 2.1” dijalankan semula melalui penjana RAG.  
3. Jika klausa yang dikemas kini memperkenalkan pilihan, skor keyakinan mungkin menurun, memaksa penyemak keselamatan mengesahkan jawapan.  
4. Lejar mencatat **peristiwa drift** yang menghubungkan ID klausa lama dengan yang baru.

---

## Manfaat yang Dikuantifikasikan

| Metrik | Sebelum DCCM | Selepas DCCM (pilot 30‑hari) |
|--------|--------------|------------------------------|
| Masa purata untuk menjawab soalan berkenaan klausa | 12 min (cari manual) | 18 saat (AI) |
| Kadar kesilapan manusia (klausa tidak tepat) | 4.2 % | 0.3 % |
| Peratusan jawapan ditandakan untuk semakan semula selepas kemas kini kontrak | 22 % | 5 % |
| Skor kepuasan auditor (1‑10) | 6 | 9 |
| Pengurangan keseluruhan masa penyelesaian soal selidik | 35 % | 78 % |

Angka‑angka ini menunjukkan bagaimana **satu enjin AI** boleh mengubah kekangan menjadi kelebihan kompetitif.

---

## Senarai Semak Pelaksanaan untuk Pasukan Keselamatan

1. **Pemusatkan Dokumen** – Pastikan semua kontrak disimpan dalam repositori yang boleh dibaca mesin (PDF, DOCX, atau teks biasa).  
2. **Pengayaan Metadata** – Tag setiap kontrak dengan `vendor`, `type` (SA, **[DPA](https://www.dpocentre.com/what-is-a-dpa-and-why-do-you-need-one/), SLA), dan `effective_date`.  
3. **Kawalan Akses** – Beri perkhidmatan DCCM kebenaran baca‑saja; kebenaran menulis hanya untuk lejar provenance.  
4. **Governans Polisi** – Tetapkan ambang skor keyakinan (contoh, > 80 % auto‑terima).  
5. **Manusia dalam Gelung (HITL)** – Tugaskan penyemak pematuhan untuk mengendalikan jawapan berkeyakinan rendah.  
6. **Pemantauan Berterusan** – Aktifkan amaran untuk peristiwa drift klausa yang melebihi ambang risiko.  

Mengikuti senarai semak ini memastikan pelancaran yang lancar dan memaksimumkan ROI.

---

## Peta Jalan Masa Depan

| Suku Tahun | Inisiatif |
|------------|-----------|
| Q1 2026 | **Pemulihan Klausa Berbilang Bahasa** – Manfaatkan embedding berbilang bahasa untuk menyokong kontrak dalam Bahasa Perancis, Jerman, dan Jepun. |
| Q2 2026 | **Audit Zero‑Knowledge Proof** – Benarkan regulator mengesahkan provenance klausa tanpa mendedahkan teks penuh kontrak. |
| Q3 2026 | **Pengedaran Edge‑AI** – Jalankan paip embedding di premis untuk industri yang sangat diatur (kewangan, kesihatan). |
| Q4 2026 | **Penjanaan Klausa Derivatif** – Apabila klausa yang diperlukan tiada, enjin mencadangkan draf bahasa yang selaras dengan piawaian industri. |

---

## Kesimpulan

Pemetaan Klausa Kontrak Dinamik menjembatani jurang antara prosa undang‑undang dan keperluan soal selidik keselamatan. Dengan menggabungkan Retrieval‑Augmented Generation, graf pengetahuan semantik, lejar atribusi yang tidak dapat diubah, dan pengesanan drift masa nyata, Procurize memberi kuasa kepada pasukan keselamatan untuk menjawab dengan yakin, memendekkan masa penyelesaian, dan memuaskan auditor—semua sambil menjaga kontrak tetap terkini secara automatik.

Bagi syarikat SaaS yang ingin memenangi rundingan perusahaan dengan lebih cepat, enjin DCCM bukan lagi sesuatu yang “bagus untuk ada”—ia menjadi **pembeda kompetitif yang mesti ada**.