
# سیاست به‌عنوان کد با هوش مصنوعی: تولید خودکار کد انطباق برای پاسخ به پرسش‌نامه‌ها

در دنیای سریع‌السیر SaaS، **پرسش‌نامه‌های امنیتی** و **ممیزی‌های انطباق** به دروازه‌بان‌های هر قرارداد جدید تبدیل شده‌اند. تیم‌ها ساعت‌ها وقت صرف پیدا کردن سیاست‌ها، ترجمه اصطلاحات قانونی به زبان ساده و کپی‌کردن دستی پاسخ‌ها در پورتال‌های فروشندگان می‌کنند. نتیجه این است که یک گلوگاه ایجاد می‌شود که چرخه فروش را کند می‌کند و خطای انسانی را به‌وجود می‌آورد.

وارد می‌شویم به **سیاست‑به‌عنوان‑کد (PaC)** — رویکرد تعریف کنترل‌های امنیتی و انطباقی به صورت قالب‌های ماشین‌خوان (YAML، JSON، HCL و غیره) که تحت نسخه‌بندی قرار دارند. هم‌زمان، **مدل‌های زبانی بزرگ (LLMs)** به گونه‌ای پیشرفت کرده‌اند که می‌توانند زبان پیچیده مقرراتی را درک کنند، شواهد را ترکیب کنند و پاسخ‌های متنی طبیعی تولید کنند که ممیزان راضی می‌شوند. وقتی این دو پارادایم با هم ترکیب می‌شوند، قابلیت جدیدی به‌وجود می‌آید: **انطباق‑به‌عنوان‑کد خودکار (CaaC)** که می‌تواند *به‌صورت پویا* پاسخ‌های پرسش‌نامه را تولید کند، به‌همراه شواهد قابل ردیابی.

در این مقاله ما:

1. مفاهیم اصلی سیاست‑به‌عنوان‑کد و دلیل اهمیت آن برای پرسش‌نامه‌های امنیتی را توضیح می‌دهیم.  
2. نشان می‌دهیم چگونه می‌توان یک LLM را به مخزن PaC متصل کرد تا **پاسخ‌های پویا و آماده حسابرسی** تولید شود.  
3. یک پیاده‌سازی عملی با استفاده از پلتفرم **Procurize** به‌عنوان مثال مرور می‌کنیم.  
4. بهترین شیوه‌ها، ملاحظات امنیتی و راه‌های حفظ اعتمادپذیری سیستم را برجسته می‌کنیم.  

> **TL;DR** – با کدنویسی سیاست‌ها، ارائه آن‌ها از طریق API و اجازه دادن به یک LLM تنظیم‌شده دقیق برای ترجمه این سیاست‌ها به پاسخ‌های پرسش‌نامه، سازمان‌ها می‌توانند زمان پاسخ‌گویی را از روزها به ثانیه‌ها کاهش دهند و همزمان یکپارچگی انطباق را حفظ کنند.

---

## 1. رشد سیاست‑به‌عنوان‑کد

### 1.1 سیاست‑به‌عنوان‑کد چیست؟

سیاست‑به‌عنوان‑کد، سیاست‌های امنیتی و انطباقی را همانند کد برنامه‌نویسی توسعه‌دهندگان مدیریت می‌کند:

| مدیریت سنتی سیاست‌ها | رویکرد سیاست‑به‌عنوان‑کد |
|---------------------|--------------------------|
| فایل‌های PDF، Word، spreadsheet | فایل‌های اعلان‌گر (YAML/JSON) ذخیره‌شده در Git |
| ردیابی نسخه به‌صورت دستی | کمیت‌های Git، مرور درخواست‌های کشش |
| توزیع غیرمنظم | خطوط لوله CI/CD خودکار |
| متن سخت‌جستجو | فیلدهای ساختاریافته، فهرست‌های قابل جستجو |

چون سیاست‌ها در **یک منبع حقیقت** زندگی می‌کنند، هر تغییری باعث اجرای خودکار خط لوله‌ای می‌شود که سینتکس را اعتبارسنجی می‌کند، تست‌های واحد را اجرا می‌نماید و سیستم‌های پایین‌دستی (مانند دروازه‌های امنیتی CI/CD، داشبوردهای انطباق) را به‌روز می‌کند.

### 1.2 چرا PaC مستقیماً بر پرسش‌نامه‌ها تأثیر می‌گذارد

پرسش‌نامه‌های امنیتی معمولاً از جملاتی نظیر این‌ها می‌پرسند:

> “روش حفاظت از داده‌ها در استراحت را توصیف کنید و شواهدی از چرخش کلیدهای رمزنگاری ارائه دهید.”

اگر سیاست پایه به‌صورت کد تعریف شده باشد:

```yaml
controls:
  data-at-rest:
    encryption: true
    algorithm: "AES‑256-GCM"
    key_rotation:
      interval_days: 90
      procedure: "چرخش خودکار از طریق KMS"
evidence:
  - type: "config"
    source: "aws:kms:key-rotation"
    last_verified: "2025-09-30"
```

ابزاری می‌تواند **فیلدهای مرتبط را استخراج** کند، آن‌ها را به زبان طبیعی قالب‌بندی نماید و فایل شواهد مورد ارجاع را ضمیمه کند — بدون این که انسان یک کلمه هم تایپ کند.

---

## 2. مدل‌های زبانی بزرگ به‌عنوان موتور ترجمه

### 2.1 از کد به زبان طبیعی

LLMها در تولید متن تخصص دارند اما برای جلوگیری از توهمات نیاز به زمینه‌ای قابل اطمینان دارند. با فراهم کردن یک **پیل لود ساختارمند سیاست** به‌همراه یک **قالب سؤال**، یک نگاشت قطعی ایجاد می‌کنیم.

**الگوی پرامپت** (ساده‌شده):

```
شما یک دستیار انطباق هستید. قطعه سیاست زیر را به یک پاسخ مختصر برای سؤال زیر تبدیل کنید: "<question>". هر شناسه شواهدی که ارجاع داده می‌شود را ارائه دهید.
Policy:
<YAML block>
```

زمانی که LLM این زمینه را دریافت می‌کند، حدس نمی‌زند؛ بلکه **داده‌های موجود در مخزن** را بازتاب می‌دهد.

### 2.2 تنظیم دقیق برای دقت حوزه‌ای

یک LLM عمومی (مانند GPT‑4) دانش وسیعی دارد اما ممکن است عبارات مبهم تولید کند. با **تنظیم دقیق** بر روی مجموعه‌ای از پاسخ‌های تاریخی پرسش‌نامه و راهنمایی‌های سبک داخلی، به دست می‌آید:

- لحن سازگار (رسمی، آگاه به ریسک).  
- اصطلاحات تخصصی انطباق (مثلاً “SOC 2”، “ISO 27001”).  
- هزینه کمتر با استفاده از توکن‌های کمتر.

### 2.3 محافظ‌ها و استخراج ارتقا‌یافته (RAG)

برای افزایش قابلیت اطمینان، ترکیب می‌کنیم **RAG**:

1. **Retriever** قطعه دقیق سیاست را از مخزن PaC می‌کشد.  
2. **Generator** (LLM) هم قطعه و هم سؤال را دریافت می‌کند.  
3. **Post‑processor** تأیید می‌کند که تمام شناسه‌های شواهدی که ذکر شده، در مخزن شواهد وجود دارند.

اگر عدم تطابقی شناسایی شود، سیستم به‌صورت خودکار پاسخ را برای بازبینی انسانی پرچم می‌زند.

---

## 3. جریان کار انتها‑به‑انتها در Procurize

در ادامه نمایی کلی از چگونگی ادغام PaC و LLM در Procurize برای ارائه **پاسخ‌های پرسش‌نامه به‌صورت زمان‑واقعی و خودکار** آمده است.

```mermaid
flowchart TD
    A["مخزن سیاست‑به‌عنوان‑کد (Git)"] --> B["سرویس تشخیص تغییر"]
    B --> C["ایندکس‌کننده سیاست (Elasticsearch)"]
    C --> D["Retriever (RAG)"]
    D --> E["موتور LLM (تنظیم دقیق)"]
    E --> F["فرمت‌کننده پاسخ"]
    F --> G["رابط کاربری پرسش‌نامه (Procurize)"]
    G --> H["بازبینی انسانی و انتشار"]
    H --> I["ثبت لاگ حسابرسی و ردیابی"]
    I --> A
```

### 3.1 گام به گام

| گام | عمل | فناوری |
|-----|------|----------|
| **1** | تیم امنیتی یک فایل سیاست را در Git به‌روزرسانی می‌کند. | Git, خطوط لوله CI |
| **2** | سرویس تشخیص تغییر، ایندکس‌گذاری مجدد سیاست را آغاز می‌کند. | وب‌هوک, Elasticsearch |
| **3** | هنگام دریافت پرسش‌نامه، رابط کاربری سؤال مرتبط را نمایش می‌دهد. | داشبورد Procurize |
| **4** | Retriever قطعات سیاست مطابقت‌یافته را جستجو می‌کند. | RAG Retrieval |
| **5** | LLM قطعه + پرامپت سؤال را دریافت کرده و پاسخ پیش‌نویس می‌سازد. | OpenAI / Azure OpenAI |
| **6** | فرمت‌کننده پاسخ، markdown اضافه می‌کند، لینک‌های شواهد را الصاق می‌کند و برای پورتال هدف قالب‌بندی می‌شود. | میکروسرویس Node.js |
| **7** | مالک امنیتی پاسخ را بازبینی می‌کند (اختیاری؛ می‌تواند بر اساس امتیاز اطمینان به‌صورت خودکار تأیید شود). | مودال بازبینی UI |
| **8** | پاسخ نهایی به پورتال فروشنده ارسال می‌شود؛ لاگ حسابرسی غیرقابل تغییر منبع را ثبت می‌کند. | API خرید، لاگ بلوکچینی شبهه |

تمام این چرخه می‌تواند در **کمتر از ۱۰ ثانیه** برای یک سؤال معمولی تکمیل شود؛ در مقابل، یک تحلیل‌گر انسانی ۲ تا ۴ ساعت برای یافتن سیاست، نوشتن و تأیید صرف می‌کند.

---

## 4. ساخت خط لوله CaaC خودتان

در ادامه راهنمای عملی برای تیم‌هایی که می‌خواهند این الگو را پیاده‌سازی کنند آورده شده است.

### 4.1 تعریف یک طرح‌بندی سیاست

با یک **JSON Schema** شروع کنید که فیلدهای ضروری را پوشش دهد:

```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"]
}
```

هر فایل سیاست را با یک گام CI **اعتبارسنجی** کنید (مثلاً `ajv-cli`).

### 4.2 راه‌اندازی بازیابی

- فایل‌های YAML/JSON را به **Elasticsearch** یا **OpenSearch** ایندکس کنید.  
- برای بازیابی معنایی از **BM25** یا **بردارهای چگال** (با استفاده از Sentence‑Transformer) استفاده کنید.

### 4.3 تنظیم دقیق LLM

1. جفت‌های تاریخی سؤال‑پاسخ (به‌همراه شناسه شواهد) را استخراج کنید.  
2. به فرمت پرامپت‑پاسخ مورد نیاز ارائه‌دهنده LLM تبدیل کنید.  
3. **پیکربندی تنظیم دقیق** را اجرا کنید (OpenAI `v1/fine-tunes`، Azure `deployment`).  
4. با معیارهای **BLEU** و اعتبارسنجی انسانی به‌ویژه برای انطباق مقررات ارزیابی کنید.

### 4.4 پیاده‌سازی محافظ‌ها

- **امتیاز اطمینان**: فقط در صورتی که امتیاز > 0.9 باشد، به‌صورت خودکار تأیید شود.  
- **اعتبارسنجی شواهد**: پس از تولید، پردازشگر بررسی می‌کند که هر `source` ارجاع شده در مخزن شواهد موجود باشد (SQL/NoSQL).  
- **محافظت در برابر تزریق پرامپت**: متن کاربر وارد شده را قبل از الحاق به پرامپت تمیز کنید.

### 4.5 یکپارچه‌سازی با Procurize

Procurize وب‌هوک‌های دریافت پرسش‌نامه را فراهم می‌کند. این وب‌هوک‌ها را به یک **تابع سرورلس** (AWS Lambda، Azure Functions) متصل کنید که کل خط لولهٔ بخش 3 را اجرا می‌کند.

---

## 5. مزایا، خطرها و اقدامات پیشگیرانه

| مزیت | توضیح |
|------|--------|
| **سرعت** | پاسخ‌ها در ثانیه تولید می‌شوند و زمان چرخه فروش را به‌طور چشمگیری کاهش می‌دهند. |
| **یکنواختی** | منبع یکپارچه سیاست‌ها تضمین می‌کند که متنی یکسان برای همه فروشندگان استفاده می‌شود. |
| **قابلیت ردیابی** | هر پاسخ به یک شناسه سیاست و هش شواهد متصل است؛ حسابرسان می‌توانند ریشه را ببینند. |
| **قابلیت توسعه** | یک تغییر در سیاست به‌سرعت به تمام پرسش‌نامه‌های در حال انتظار اعمال می‌شود. |

| خطر | پیشگیری |
|------|-----------|
| **توهم** | استفاده از RAG و اعتبارسنجی شواهد قبل از انتشار. |
| **شواهد منسوخ** | خودکارسازی چک‌های تازگی شواهد (مثلاً پردازش دوره‌ای برای پرچم‌گذاری مواردی که بیش از ۳۰ روز پیش‌به‌روز شده‌اند). |
| **دسترسی غیرمجاز** | مخزن سیاست را پشت IAM یا RBAC قرار دهید؛ فقط نقش‌های مجاز می‌توانند کمیت‌ها را اعمال کنند. |
| **انحراف مدل** | به‌صورت دوره‌ای مدل را در مقابل مجموعه تست تازه ارزیابی کنید. |

---

## 6. مطالعه موردی کوتاه

**شرکت:** SyncCloud (یک پلتفرم SaaS میان‌حجم تحلیل داده)  
**قبل از CaaC:** زمان متوسط پاسخ به پرسش‌نامه ۴ روز، ۳۰ ٪ بازکاری دستی به‌دلیل ناهماهنگی عبارات.  
**پس از CaaC:** زمان متوسط پاسخ ۱۵ دقیقه، ۰ ٪ بازکاری، لاگ‌های حسابرسی ۱۰۰ ٪ ردیابی شد.  
**شاخص‌های کلیدی:**  

- **زمان صرفه‌جویی:** حدود ۲ ساعت در هفته برای هر تحلیل‌گر.  
- **سرعت معاملات:** ۱۲ ٪ افزایش در فرصت‌های بسته‑شده.  
- **امتیاز انطباق:** از “متوسط” به “بالا” در ارزیابی‌های طرف‑ثالث ارتقاء یافت.

تحول با تبدیل ۱۵۰ سند سیاست به PaC، تنظیم دقیق یک مدل ۶ یا موردم در ۲ ۰۰۰ پاسخ تاریخی، و ادغام خط لوله در رابط کاربری Procurize حاصل شد.

---

## 7. مسیرهای آینده

1. **مدیریت شواهد صفر‑اعتماد** — ترکیب CaaC با notarisation بلاکچین برای اثبات لاک‌سازی شواهد.  
2. **پشتیبانی چند زبانه برای حوزه‌های قضایی مختلف** — گسترش تنظیم دقیق برای ترجمه‌های قانونی **GDPR** (مشاهده [GDPR](https://gdpr.eu/))، **CCPA** (مشاهده [CCPA](https://oag.ca.gov/privacy/ccpa)) و **CPRA** (مشاهده [CPRA](https://thecpra.org/)) و قوانین نوظهور حاکمیت داده.  
3. **سیاست‌های خود‑درمان** — استفاده از یادگیری تقویتی که بازخورد حسابرسان را دریافت می‌کند و به‌صورت خودکار پیشنهاد بهبود سیاست‌ها را می‌دهد.  

این نوآوری‌ها CaaC را از یک **ابزار بهره‌وری** به یک **موتور استراتژیک انطباقی** تبدیل می‌کند که به‌صورت پیش‌دستانه وضعیت امنیتی را شکل می‌دهد.

---

## 8. فهرست بررسی راه‌اندازی

- [ ] طرح‌بندی سیاست‑به‌عنوان‑کد را تعریف و نسخه‌بندی کنید.  
- [ ] مخزن را با تمام سیاست‌ها و متادیتای شواهد پر کنید.  
- [ ] سرویس بازیابی (Elasticsearch/OpenSearch) را راه‌اندازی کنید.  
- [ ] داده‌های تاریخی سؤال‑پاسخ را جمع‌آوری و LLM را تنظیم دقیق کنید.  
- [ ] لایه محافظ (امتیاز اطمینان + اعتبارسنجی شواهد) را پیاده‌سازی کنید.  
- [ ] خط لوله را با پلتفرم پرسش‌نامه (مانند Procurize) یکپارچه کنید.  
- [ ] یک پروژهٔ آزمایشی با پرسش‌نامه کم‌ریسک انجام دهید و بازخورد بگیرید.  

با دنبال کردن این مسیر، سازمان‌تان می‌تواند از **تلاش دستی واکنش‌پذیر** به **اتوماسیون هوشمند انطباق** حرکت کند.

---

### مراجع به چارچوب‌ها و استانداردهای شناخته‌شده (برای دسترسی سریع)

- **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 Information Security Management](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)