# Chính sách xác nhận

> Cấu hình quy tắc xác nhận tự động và thủ công cho các hành động của AI Admin Assistant.

**Quyền truy cập:** Cần quyền **Quản lý chính sách AI Admin** **Điều hướng:** `Trợ lý AI > AI Admin Assistant > Cài đặt`

***

## Tổng quan

Chính sách xác nhận (Confirmation Policies) xác định khi nào AI Admin cần hỏi người dùng trước khi thực hiện một hành động. Đây là cơ chế bảo vệ quan trọng để tránh thực hiện những thao tác nhạy cảm không mong muốn.

Mỗi người dùng có bộ chính sách riêng. Hệ thống tự động tạo các chính sách mặc định khi người dùng sử dụng AI Admin lần đầu.

***

## Truy cập cài đặt

1. Mở **AI Admin Assistant** (`/manage/ai/admin-assistant`)
2. Nhấp nút **Cài đặt** (biểu tượng bánh răng) trên thanh tiêu đề
3. Hộp thoại cài đặt mở ra với danh sách chính sách xác nhận

***

## Cấu trúc chính sách

Mỗi chính sách bao gồm:

| Trường              | Mô tả                               |
| ------------------- | ----------------------------------- |
| **Tên**             | Tên chính sách (tối đa 200 ký tự)   |
| **Mô tả**           | Mô tả mục đích (tối đa 1.000 ký tự) |
| **Loại chính sách** | Cách xác định hành động nào áp dụng |
| **Tiêu chí**        | Điều kiện cụ thể để khớp chính sách |
| **Hành vi**         | Xử lý khi chính sách khớp           |
| **Độ ưu tiên**      | Số nhỏ hơn = ưu tiên cao hơn        |
| **Bật/tắt**         | Trạng thái kích hoạt                |

***

## Loại chính sách (Policy Type)

| Loại              | Mô tả                    | Ví dụ tiêu chí                             |
| ----------------- | ------------------------ | ------------------------------------------ |
| `action_type`     | Dựa trên loại hành động  | `{ actionCategories: ['delete'] }`         |
| `entity_type`     | Dựa trên loại đối tượng  | `{ entityTypes: ['employee', 'orgUnit'] }` |
| `tool_specific`   | Theo tên công cụ cụ thể  | `{ toolNames: ['employee.create'] }`       |
| `threshold_based` | Dựa trên ngưỡng số lượng | `{ minRecords: 5 }`                        |
| `custom`          | Quy tắc tùy chỉnh        | (tùy chỉnh)                                |

***

## Hành vi xác nhận (Behavior)

| Hành vi                    | Mô tả                                                                                    |
| -------------------------- | ---------------------------------------------------------------------------------------- |
| `always_confirm`           | **Luôn xác nhận.** Mỗi lần đều hỏi người dùng                                            |
| `auto_confirm`             | **Tự động xác nhận.** Thực hiện ngay không hỏi                                           |
| `confirm_once_per_session` | **Xác nhận một lần mỗi phiên.** Sau lần đầu, tự động xác nhận cho đến khi kết thúc phiên |
| `confirm_first_n`          | **Xác nhận N lần đầu.** Sau N lần xác nhận, tự động xác nhận                             |
| `threshold_based`          | **Xác nhận theo ngưỡng.** Chỉ hỏi khi vượt ngưỡng (ví dụ: tạo từ 5 records trở lên)      |

### Cấu hình bổ sung

* **confirm\_first\_n:** Cần thêm trường `confirmCount` (số lần xác nhận). Hệ thống theo dõi `currentCount` (số lần đã xác nhận).
* **threshold\_based:** Cần thêm trường `threshold` với:
  * `field`: Trường kiểm tra (ví dụ: `recordCount`)
  * `operator`: Toán tử so sánh (`gt`, `gte`, `lt`, `lte`, `eq`)
  * `value`: Giá trị ngưỡng

***

## Chính sách mặc định

Hệ thống tự động tạo 5 chính sách mặc định cho mỗi người dùng:

| Chính sách                     | Loại              | Hành vi                          | Độ ưu tiên |
| ------------------------------ | ----------------- | -------------------------------- | ---------- |
| **Luôn xác nhận khi xóa**      | `action_type`     | `always_confirm`                 | 10         |
| **Xác nhận tạo nhiều records** | `threshold_based` | `threshold_based` (>= 5 records) | 20         |
| **Tự động đọc dữ liệu**        | `action_type`     | `auto_confirm`                   | 50         |
| **Xác nhận tạo đơn lẻ**        | `action_type`     | `confirm_first_n` (3 lần)        | 30         |
| **Xác nhận cập nhật**          | `action_type`     | `confirm_once_per_session`       | 40         |

### Chi tiết từng chính sách mặc định

**1. Luôn xác nhận khi xóa**

* Áp dụng cho: Tất cả thao tác **Xóa**
* Hành vi: Luôn hỏi trước khi xóa
* Là chính sách hệ thống (không thể xóa)

**2. Xác nhận tạo nhiều records**

* Áp dụng cho: Thao tác **Tạo mới** khi số lượng >= 5
* Hành vi: Chỉ hỏi khi vượt ngưỡng 5 records
* Là chính sách hệ thống

**3. Tự động đọc dữ liệu**

* Áp dụng cho: Thao tác **Đọc/xem** và **Liệt kê**
* Hành vi: Tự động thực hiện, không hỏi
* Là chính sách hệ thống

**4. Xác nhận tạo đơn lẻ**

* Áp dụng cho: Thao tác **Tạo mới** với 1-4 records
* Hành vi: Xác nhận 3 lần đầu, sau đó tự động
* Người dùng có thể chỉnh sửa

**5. Xác nhận cập nhật**

* Áp dụng cho: Thao tác **Cập nhật**
* Hành vi: Xác nhận một lần trong phiên, sau đó tự động
* Người dùng có thể chỉnh sửa

***

## Loại hành động (Action Categories)

Các loại hành động được sử dụng trong tiêu chí chính sách:

| Loại                   | Mô tả              |
| ---------------------- | ------------------ |
| **Đọc/xem**            | Đọc/xem dữ liệu    |
| **Liệt kê**            | Liệt kê danh sách  |
| **Tạo mới**            | Tạo mới            |
| **Cập nhật**           | Cập nhật           |
| **Xóa**                | Xóa                |
| **Tạo hàng loạt**      | Tạo hàng loạt      |
| **Cập nhật hàng loạt** | Cập nhật hàng loạt |
| **Xóa hàng loạt**      | Xóa hàng loạt      |

***

## Độ ưu tiên

Khi nhiều chính sách cùng khớp một hành động, chính sách có **độ ưu tiên thấp hơn** (số nhỏ hơn) sẽ được áp dụng.

Ví dụ: Nếu cả "Luôn xác nhận khi xóa" (priority=10) và "Tự động đọc dữ liệu" (priority=50) đều khớp, chính sách có priority 10 sẽ được áp dụng.

***

## Chính sách hệ thống vs. Chính sách người dùng

| Loại                              | Mô tả                                                       | Sửa/Xóa                   |
| --------------------------------- | ----------------------------------------------------------- | ------------------------- |
| **Hệ thống** (`isSystem=true`)    | Chính sách do hệ thống tạo, đảm bảo an toàn cơ bản          | Không thể xóa, có thể tắt |
| **Người dùng** (`isSystem=false`) | Chính sách do người dùng tạo hoặc hệ thống tạo (có thể sửa) | Có thể sửa và xóa         |

***

## Lưu ý

* **Chính sách xác nhận là riêng từng người dùng.** Thay đổi không ảnh hưởng người dùng khác.
* **Chính sách hệ thống** không thể xóa nhưng có thể tắt.
* **Xóa dữ liệu luôn yêu cầu xác nhận** theo mặc định. Nên giữ chính sách này luôn bật.
* **Đọc dữ liệu tự động xác nhận** để trải nghiệm mượt mà hơn.
* **Độ ưu tiên** quyết định chính sách nào được áp dụng khi có xung đột.
* **`confirm_first_n`** hữu ích cho người dùng mới: xác nhận vài lần đầu để làm quen, sau đó tự động.

***

## Xem thêm

* [Sử dụng AI Admin](https://docs.noova.vn/tri-tue-nhan-tao/07-ai-admin/su-dung) -- Cách ra lệnh và xác nhận hành động
* [Cấu hình chatbot](https://docs.noova.vn/tri-tue-nhan-tao/07-ai-admin/cau-hinh-chatbot) -- Chọn model và cấu hình endpoint
