
# Polisi sebagai Kod Bertemu AI: Penjanaan Automatik Kod Pematuhan untuk Jawapan Soalan Kuesioner

Dalam dunia SaaS yang bergerak pantas, **soalan soal selidik keselamatan** dan **audit pematuhan** telah menjadi pintu masuk kepada setiap kontrak baru. Pasukan menghabiskan berjam‑jam mencari polisi, menterjemah jargon undang‑undang ke dalam bahasa Inggeris yang mudah, dan menyalin jawapan secara manual ke dalam portal vendor. Keputusan ialah satu titik leher yang melambatkan kitaran jualan dan memperkenalkan ralat manusia.

Masuklah **Polisi‑sebagai‑Kod (PaC)** — amalan mendefinisikan kawalan keselamatan dan pematuhan dalam format yang terkawal versi, boleh dibaca mesin (YAML, JSON, HCL, dll.). Pada masa yang sama, **Model Bahasa Besar (LLM)** telah matang sehingga mereka boleh memahami bahasa peraturan yang kompleks, menyintesis bukti, dan menjana respons bahasa semula jadi yang memuaskan juruaudit. Apabila dua paradigma ini bertemu, satu keupayaan baru muncul: **Pematuhan‑Automatik‑sebagai‑Kod (CaaC)** yang dapat *menjana* jawapan soal selidik mengikut permintaan, lengkap dengan bukti yang boleh dijejaki.

Dalam artikel ini kami akan:

1. Menerangkan konsep teras Polisi‑sebagai‑Kod dan mengapa ia penting untuk soal selidik keselamatan.  
2. Menunjukkan bagaimana LLM boleh dihubungkan ke repositori PaC untuk menghasilkan **jawapan dinamik, sedia‑audit**.  
4. Membimbing melalui pelaksanaan praktikal menggunakan platform **Procurize** sebagai contoh.  
4. Menyorot amalan terbaik, pertimbangan keselamatan, dan cara mengekalkan kepercayaan sistem.

> **TL;DR** – Dengan mengkodkan polisi, mendedahkannya melalui API, dan membiarkan LLM terlatih halus menterjemah polisi tersebut ke dalam respons soal selidik, organisasi dapat mengurangkan masa respons daripada hari ke saat sambil mengekalkan integriti pematuhan.

---

## 1. Kebangkitan Polisi‑sebagai‑Kod

### 1.1 Apa itu Polisi‑sebagai‑Kod?

| Pengurusan Polisi Tradisional | Pendekatan Polisi‑sebagai‑Kod |
|------------------------------|------------------------------|
| PDF, dokumen Word, hamparan | Fail deklaratif (YAML/JSON) disimpan dalam Git |
| Penjejakan versi manual | Komit Git, semakan tarik‑permintaan |
| Pengedaran ad‑hoc | Saluran CI/CD automatik |
| Teks sukar dicari | Medan berstruktur, indeks boleh dicari |

Oleh kerana polisi berada dalam **satu sumber kebenaran**, sebarang perubahan memicu saluran automatik yang mengesahkan sintaks, menjalankan ujian unit, dan mengemas kini sistem hiliran (contoh, pintu keselamatan CI/CD, papan pemuka pematuhan).

### 1.2 Mengapa PaC memberi kesan langsung kepada soal selidik

Soalan soal selidik keselamatan biasanya meminta pernyataan seperti:

> “Terangkan bagaimana anda melindungi data yang disimpan dan sediakan bukti putaran kunci penyulitan.”

```yaml
controls:
  data-at-rest:
    encryption: true
    algorithm: "AES‑256-GCM"
    key_rotation:
      interval_days: 90
      procedure: "Automated rotation via KMS"
evidence:
  - type: "config"
    source: "aws:kms:key-rotation"
    last_verified: "2025-09-30"
```

Alat boleh **mengekstrak** medan yang relevan, memformatnya ke dalam bahasa semula jadi, dan melampirkan fail bukti yang dirujuk — semua tanpa seorang manusia menaip satu perkataan sekalipun.

## 2. Model Bahasa Besar sebagai Enjin Terjemahan

### 2.1 Dari Kod ke Bahasa Semula Jadi

LLM cemerlang dalam **penjanaan teks** tetapi memerlukan konteks yang boleh dipercayai untuk mengelakkan halusinasi. Dengan memberi model **payload polisi berstruktur** plus **templat soalan**, kita mencipta pemetaan deterministik.

**Corak Prompt (dipermudah):**

```
You are a compliance assistant. Convert the following policy fragment into a concise answer for the question: "<question>". Provide any referenced evidence IDs.
Policy:
<YAML block>
```

Apabila LLM menerima konteks ini, ia tidak meneka; ia **meniru** data yang sudah wujud dalam repositori.

### 2.2 Penalaan untuk Ketepatan Domain

LLM generik (contoh, GPT‑4) mempunyai pengetahuan luas tetapi masih boleh menghasilkan frasa yang kabur. Dengan **menala** pada korpus terkurasi daripada respons soal selidik sejarah dan panduan gaya dalaman, kami mencapai:

- Nada konsisten (formal, berwaspada risiko).  
- Terminologi khusus pematuhan (contoh, “SOC 2” – lihat [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2)), “ISO 27001” – lihat [ISO 27001](https://www.iso.org/standard/27001) / [ISO/IEC 27001 Pengurusan Keselamatan Maklumat](https://www.iso.org/isoiec-27001-information-security.html).  
- Penggunaan token berkurang, mengurangkan kos inferens.

### 2.3 Penghalang dan Penjanaan Tambahan Penarikan (RAG)

1. **Retriever** menarik petikan polisi tepat dari repositori PaC.  
2. **Generator** (LLM) menerima kedua‑duanya, petikan dan soalan.  
3. **Post‑processor** mengesahkan bahawa semua ID bukti yang dirujuk wujud dalam stor bukti.

Jika terdapat ketidakcocokan, sistem secara automatik menandakan respons untuk semakan manusia.

## 3. Aliran Kerja Hujung‑ke‑Hujung pada Procurize

Berikut ialah pandangan peringkat tinggi bagaimana Procurize mengintegrasikan PaC dan LLM untuk menyediakan **jawapan soal selidik yang dijana secara automatik dalam masa nyata**.

```mermaid
flowchart TD
    A["Policy‑as‑Code Repository (Git)"] --> B["Change Detection Service"]
    B --> C["Policy Indexer (Elasticsearch)"]
    C --> D["Retriever (RAG)"]
    D --> E["LLM Engine (Fine‑tuned)"]
    E --> F["Answer Formatter"]
    F --> G["Questionnaire UI (Procurize)"]
    G --> H["Human Review & Publish"]
    H --> I["Audit Log & Traceability"]
    I --> A
```

| Langkah | Tindakan | Teknologi |
|---------|----------|-----------|
| **1** | Pasukan keselamatan mengemas kini fail polisi dalam Git. | Git, CI pipeline |
| **2** | Pengesanan Perubahan memicu penyusunan semula indeks polisi. | Webhook, Elasticsearch |
| **3** | Apabila soal selidik vendor tiba, UI memaparkan soalan yang relevan. | Papan Pemuka Procurize |
| **4** | Retriever menanyakan indeks untuk fragmen polisi yang sepadan. | Penarikan RAG |
| **5** | LLM menerima fragmen + prompt soalan dan menjana draf jawapan. | OpenAI / Azure OpenAI |
| **6** | Pemformat Jawapan menambah markdown, melampirkan pautan bukti, dan memformat untuk portal sasaran. | Mikroservis Node.js |
| **7** | Pemilik keselamatan menyemak jawapan (pilihan, boleh diluluskan automatik berdasarkan skor keyakinan). | Modal Semakan UI |
| **8** | Jawapan akhir dihantar ke portal vendor; log audit tidak dapat diubah merekod asal usulnya. | API Perolehan, Log berasaskan Blockchain |

Keseluruhan kitaran dapat selesai dalam **kurang daripada 10 saat** untuk soalan tipikal, berbanding 2‑4 jam yang diperlukan penganalisa manusia untuk mencari polisi, merangka, dan mengesahkan.

## 4. Membina Saluran CaaC Anda Sendiri

Berikut ialah panduan praktikal untuk pasukan yang ingin meniru pola ini.

### 4.1 Tentukan Skema Polisi

Mulakan dengan **JSON Schema** yang menangkap medan yang diperlukan:

```json
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Compliance Control",
  "type": "object",
  "properties": {
    "id": { "type": "string" },
    "category": { "type": "string" },
    "description": { "type": "string" },
    "evidence": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": { "type": "string" },
          "source": { "type": "string" },
          "last_verified": { "type": "string", "format": "date" }
        },
        "required": ["type", "source"]
      }
    }
  },
  "required": ["id", "category", "description"]
}
```

### 4.2 Sediakan Penarikan

- Susun fail YAML/JSON ke dalam **Elasticsearch** atau **OpenSearch**. – Gunakan **BM25** atau **vektor padat embeddings** (melalui Sentence‑Transformer) untuk padanan semantik.

### 4.3 Menala LLM

1. Eksport pasangan Soalan‑Jawapan soal selidik sejarah (termasuk ID bukti).  
2. Tukar ke format prompt‑completion yang diperlukan oleh penyedia LLM anda.  
3. Jalankan **penalaan berpengawasan** (OpenAI `v1/fine-tunes`, Azure `deployment`).  
4. Nilai dengan **BLEU** dan, lebih penting, **pengesahan manusia** untuk pematuhan peraturan.

### 4.4 Laksanakan Penghalang

- **Penilaian Keyakinan**: Kembalikan kebarangkalian token top‑k; lulus automatik hanya jika skor > 0.9.  
- **Pengesahan Bukti**: Post‑processor memeriksa setiap `source` yang dirujuk wujud dalam stor bukti (SQL/NoSQL).  
- **Perlindungan Suntikan Prompt**: Saring sebarang teks yang disediakan pengguna sebelum penyambungan.

### 4.5 Integrasi dengan Procurize

Procurize sudah menyediakan kaitan webhook untuk soal selidik yang masuk. Sambungkan mereka kepada **fungsi tanpa pelayan** (AWS Lambda, Azure Functions) yang menjalankan saluran yang diterangkan dalam Seksyen 3.

## 5. Manfaat, Risiko, dan Mitigasi

| Manfaat | Penjelasan |
|---------|------------|
| **Kelajuan** | Jawapan dijana dalam saat, mempercepatkan kitaran jualan. |
| **Konsistensi** | Penulisan standard mengurangkan variasi dan kekeliruan. |
| **Jejak** | Setiap jawapan dipautkan ke polisi dan bukti yang boleh dijejaki. |
| **Skalabiliti** | Satu perubahan polisi mengemaskini semua soal selidik secara automatik. |

| Risiko | Mitigasi |
|--------|----------|
| **Halusinasi** | Gunakan RAG; memerlukan pengesahan bukti sebelum penerbitan. |
| **Bukti Lapuk** | Automasi pemeriksaan kebaruan bukti (contoh, menandakan >30 hari sebagai lapuk). |
| **Kawalan Akses** | Simpan repositori polisi di belakang IAM; hanya peranan yang diberi kuasa boleh membuat komit. |
| **Pergeseran Model** | Kaji semula model secara berkala terhadap set ujian terkini. |

## 6. Impak Dunia Nyata – Kajian Kes Ringkas

**Syarikat:** SyncCloud (platform analitik data SaaS bersaiz sederhana)  
**Sebelum CaaC:** Purata masa menyelesaikan soal selidik 4 hari, 30 % kerja semula manual disebabkan ketidakselarasan penulisan.  
**Selepas CaaC:** Purata masa menyelesaikan 15 minit, 0 % kerja semula, log audit menunjukkan 100 % jejak.  
**Metrik Utama:**  

- **Masa dijimatkan:** ~2 jam per penganalisa per minggu.  
- **Kelajuan perjanjian:** 12 % peningkatan dalam peluang tutup‑menang.  
- **Skor pematuhan:** Naik dari “sederhana” ke “tinggi” dalam penilaian pihak ketiga.  

Transformasi ini dicapai dengan menukar 150 dokumen polisi menjadi PaC, menala LLM 6‑B parameter pada 2 k respons sejarah, dan mengintegrasikan saluran ke dalam UI soal selidik Procurize.

## 7. Arah Masa Depan

1. **Pengurusan Bukti Zero‑Trust** – Gabungkan CaaC dengan notaris blockchain untuk asal usul bukti yang tidak dapat diubah.  
2. **Sokongan Bahasa Pelbagai Bidang Kuasa** – Luaskan penalaan untuk termasuk terjemahan undang‑undang bagi **GDPR** – lihat [GDPR](https://gdpr.eu/), **CCPA** – lihat [CCPA](https://oag.ca.gov/privacy/ccpa) dan **CPRA** – lihat [CPRA](https://thecpra.org/), serta undang‑undang kedaulatan data yang muncul.  
3. **Polisi Penyembuhan Sendiri** – Gunakan pembelajaran penguatan di mana model menerima maklum balas daripada juruaudit dan secara automatik mencadangkan penambahbaikan polisi.

## 8. Senarai Semak Memulakan

- [ ] Tentukan dan kawal versi skema Polisi‑sebagai‑Kod.  
- [ ] Isi repositori dengan semua polisi sedia ada serta metadata bukti.  
- [ ] Sediakan perkhidmatan penarikan (Elasticsearch/OpenSearch).  
- [ ] Kumpulkan data Q&A sejarah dan menala LLM.  
- [ ] Bina pembungkus penilaian keyakinan & verifikasi bukti.  
- [ ] Integrasi saluran dengan platform soal selidik anda (contoh, Procurize).  
- [ ] Jalankan pilot dengan soal selidik vendor berisiko rendah dan ulangi.  

Dengan mengikuti peta jalan ini, organisasi anda dapat beralih dari **usaha manual reaktif** kepada **automasi pematuhan proaktif berkuasa AI**.

### Rujukan kepada Kerangka & Standard Umum (dipaut untuk akses cepat)

- **SOC 2** – [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2)  
- **ISO 27001** – [ISO 27001](https://www.iso.org/standard/27001) / [ISO/IEC 27001 Pengurusan Keselamatan Maklumat](https://www.iso.org/isoiec-27001-information-security.html)  
- **GDPR** – [GDPR](https://gdpr.eu/)  
- **HIPAA** – [HIPAA](https://www.hhs.gov/hipaa/index.html)  
- **NIST CSF** – [NIST CSF](https://www.nist.gov/cyberframework)  
- **DPAs** – [DPAs](https://www.dpocentre.com/what-is-a-dpa-and-why-do-you-need-one/)  
- **Cloud Security Alliance STAR** – [Cloud Security Alliance STAR](https://cloudsecurityalliance.org/star/)  
- **PCI‑DSS** – [PCI‑DSS](https://www.pcisecuritystandards.org/pci_security/)  
- **CCPA** – [CCPA](https://oag.ca.gov/privacy/ccpa)  
- **CPRA** – [CPRA](https://thecpra.org/)  
- **Gartner Security Automation Trends** – [Gartner Security Automation Trends](https://www.gartner.com/en/documents/5202463)  
- **Gartner Sales Cycle Benchmarks** – [Gartner Sales Cycle Benchmarks](https://www.gartner.com/en/sales)  
- **MITRE AI Security** – [MITRE AI Security](https://www.mitre.org/)  
- **EU AI Act Compliance** – [EU AI Act Compliance](https://digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai)  
- **SLAs** – [SLAs](https://www.ibm.com/think/topics/service-level-agreement)  
- **NYDFS** – [NYDFS](https://www.dfs.ny.gov/industry_guidance/cybersecurity)  
- **DORA** – [DORA](https://www.eiopa.europa.eu/digital-operational-resilience-act-dora_en)  
- **BBB Trust Seal** – [BBB Trust Seal](https://www.bbb.org/)  
- **Google Trust & Safety** – [Google Trust & Safety](https://safety.google/)  
- **FedRAMP** – [FedRAMP](https://www.fedramp.gov/)  
- **CISA Cybersecurity Best Practices** – [CISA Cybersecurity Best Practices](https://www.cisa.gov/topics/cybersecurity-best-practices)  
- **EU Cloud Code of Conduct** – [EU Cloud Code of Conduct](https://eucoc.cloud/en/home)