# Quy trình Hiệu đính — Buddhist Monastic Code I (Bản dịch Việt)

> **Dự án:** Hiệu đính 52 file markdown (~517 trang) bản dịch Việt Buddhist Monastic Code I
> **Ngày bắt đầu:** 2026-05-10
> **Kiến trúc:** Multi-Agent (Architect điều phối → Translator hiệu đính → Architect QA)

---

## 1. Kiến trúc Hệ thống

```
┌──────────────────────────────────────────────┐
│                 ARCHITECT                     │
│  (deepseek-v4-pro)                           │
│  ┌──────────────────────────────────────┐    │
│  │ Vai trò: Manager                     │    │
│  │ - Thiết kế pipeline                  │    │
│  │ - Điều phối agent (sessions_spawn)   │    │
│  │ - Kiểm định chất lượng (QA)          │    │
│  │ - KHÔNG tự làm dịch thuật/hiệu đính  │    │
│  └──────────────────────────────────────┘    │
│         │ sessions_spawn                      │
│         ▼                                     │
│  ┌──────────────────────────────────────┐    │
│  │         TRANSLATOR                    │    │
│  │  (deepseek-v4-pro)                   │    │
│  │  ┌──────────────────────────────┐    │    │
│  │  │ Vai trò: Hiệu đính viên      │    │    │
│  │  │ - Đọc file nguồn             │    │    │
│  │  │ - Tra cứu glossary (memory)  │    │    │
│  │  │ - Áp style guide             │    │    │
│  │  │ - Ghi output                 │    │    │
│  │  └──────────────────────────────┘    │    │
│  └──────────────────────────────────────┘    │
└──────────────────────────────────────────────┘
```

### Agent có sẵn:

| Agent ID | Chuyên môn | Model | 
|----------|-----------|-------|
| `architect` | Điều phối, QA, kiến trúc hệ thống | deepseek/deepseek-v4-pro |
| `translator` | Dịch & hiệu đính Phật học, Pāli | deepseek/deepseek-v4-pro |
| `editor` | Biên tập, trích xuất OCR | deepseek/deepseek-v4-flash |

### Cấu hình cross-agent spawn:

Thêm vào `~/.openclaw/openclaw.json` trong phần architect:

```json
{
  "agents": {
    "list": [
      {
        "id": "architect",
        "subagents": {
          "allowAgents": ["translator", "editor"]
        }
      }
    ]
  }
}
```

Sau đó: `openclaw gateway restart`

---

## 2. Định dạng Markdown Chuẩn

### 2.1 Cấu trúc file

Mỗi file tương ứng 10 trang sách, tuân thủ nghiêm ngặt:

```markdown
# Bản dịch Buddhist Monastic Code I (Trang X-Y)

## Trang X
{Nội dung trang X — có thể dài nhiều đoạn, dùng **in đậm**, *in nghiêng*}

---

## Trang Y
{Nội dung trang Y}
```

### 2.2 Quy tắc Markdown

| Thành phần | Cú pháp | Ví dụ |
|-----------|---------|-------|
| Tiêu đề file | `# Bản dịch Buddhist Monastic Code I (Trang X-Y)` | `# Bản dịch Buddhist Monastic Code I (Trang 1-10)` |
| Đánh dấu trang | `## Trang X` | `## Trang 7` |
| Phân cách trang | `---` (3 dấu gạch ngang) | |
| In đậm (nhấn mạnh) | `**text**` | `**Lời nói đầu**` |
| In nghiêng (thuật ngữ) | `*text*` | `*Dịch giải bởi Tỳ-kheo Thānissaro*` |
| Danh sách không thứ tự | `- item` hoặc `* item` | |
| Danh sách có thứ tự | `1. item` | |
| Trích dẫn kinh | `"text" — Nguồn` | `"..." — Trường Bộ Kinh (DN) 16` |
| Tóm tắt cuối mục | `*Tóm tắt: ...*` | `*Tóm tắt: Việc huấn luyện... là một tội ưng đối.*` |
| Phân cách mục lớn | `***` (3 dấu sao) | |

### 2.3 Quy tắc in đậm/nghiêng

- **In đậm**: Dùng cho tiêu đề mục, tên chương, nhấn mạnh thuật ngữ quan trọng lần đầu xuất hiện
- *In nghiêng*: Dùng cho tên sách, tên kinh bằng tiếng nước ngoài, chú thích, tóm tắt
- Thuật ngữ Pali: Để trong ngoặc đơn sau tên Việt, không in nghiêng/dam — Ví dụ: `Ưng đối trị (Pācittiya)`

### 2.4 Phân cấp nội dung

```
# Tiêu đề sách (H1) — 1 lần duy nhất đầu file
## Trang X (H2) — mỗi trang là 1 H2
**Tiêu đề mục** (bold) — tiêu đề phụ trong trang
### Tiêu đề phụ (H3) — chỉ dùng khi thực sự cần
```

### 2.5 Khoảng trắng & Xuống dòng

- **1 dòng trống** trước và sau mỗi `---` phân cách trang
- **1 dòng trống** trước và sau mỗi danh sách
- **Không có dòng trống thừa** (>2 liên tiếp)
- Đoạn văn dài >5 dòng: tách thành các đoạn nhỏ hơn bằng dòng trống

---

## 3. Style Guide — Văn phong Hiệu đính

### 3.1 Nguyên tắc cốt lõi

1. **Giữ nguyên** cấu trúc markdown, số trang, thuật ngữ Pali, trích dẫn kinh điển
2. **Chỉ thay đổi văn phong** — không thêm/bớt/sửa ý nghĩa
3. **Tiếng Việt tự nhiên** — như sách Phật học do người Việt viết
4. **Trang trọng, mượt mà** — không khô cứng, không suồng sã

### 3.2 Quy tắc cụ thể

| Vấn đề | Cách xử lý |
|--------|-----------|
| Câu dài >50 từ | Chẻ thành 2-3 câu ngắn hơn |
| Cấu trúc bị động | Chuyển sang chủ động khi có thể |
| Từ nối "và", "nhưng" lặp | Đa dạng: "tuy nhiên", "vì vậy", "ngoài ra", "trong khi đó" |
| Từ thừa | "điều này có nghĩa là" → "nghĩa là" |
| "nó"/"chúng" mơ hồ | Thay bằng danh từ cụ thể |
| "đối với" lặp | Bỏ hoặc thay "với" |

### 3.3 Cụm từ cần cải thiện

| Bản dịch hiện tại → Đề xuất |
|---|
| "điều này có nghĩa là" → "nghĩa là" / "tức là" |
| "đối với vị ấy" → "với vị ấy" |
| "mà trong đó" → "trong đó" |
| "có khả năng là" → "có thể" |
| "có vẻ như là" → "dường như" |
| "và vì vậy" → "vì vậy" |
| "trong bối cảnh của" → "trong bối cảnh" |
| "được đề cập đến" → "được đề cập" |
| "báo cáo" (dịch "account") → "trình bày" |
| "nó được coi là" → "được xem là" |
| "buộc tôi phải" → tách thành câu riêng |

---

## 4. Glossary — Thuật ngữ Chuẩn

### 4.1 Phân loại tội

| Pali | Tiếng Việt | Mức độ |
|------|-----------|--------|
| Pārājika | Bất cộng trụ | Nặng nhất, trục xuất khỏi Tăng đoàn |
| Saṅghādisesa | Tăng tàn | Cần Tăng đoàn xử lý |
| Aniyata | Bất định | Tùy tình huống |
| Nissaggiya Pācittiya | Ưng xả đối trị | Phải xả bỏ vật + sám hối |
| Pācittiya | Ưng đối trị | Chỉ cần sám hối |
| Pāṭidesanīya | Ưng phát lộ | Phải thú nhận |
| Sekhiya | Ưng học pháp | Quy tắc ứng xử |
| Adhikaraṇa-samatha | Pháp diệt tranh | Giải quyết tranh chấp |
| Dukkaṭa | Tác ác | Tội nhẹ |
| Thullaccaya | Thâu-lan-giá | Tội nặng |

### 4.2 Thuật ngữ cốt lõi

| Pali/English | Tiếng Việt |
|---|---|
| bhikkhu | tỳ-kheo |
| bhikkhunī | tỳ-kheo-ni |
| sāmaṇera | sa-di |
| Saṅgha | Tăng đoàn |
| Pātimokkha | Giới bổn |
| upasampadā | cụ túc giới |
| nissaya | y chỉ |
| vassa | an cư mùa mưa |
| Vibhaṅga | Bộ Phân tích |
| Aṭṭhakathā | Chú giải |
| Commentary | Chú giải |
| Sub-commentary | Phụ chú giải |
| Origin story | Câu chuyện duyên khởi |
| factor | yếu tố |
| effort | nỗ lực |
| object | đối tượng |
| intention | tác ý |
| perception | nhận thức |
| offense | tội |
| non-offense | không phạm tội |
| transaction | Tăng sự |
| censure | khiển trách |
| admonish | khuyên răn |
| probation | biệt trú |
| penance | hành phạt |
| disrobing | hoàn tục |

### 4.3 Tên Kinh điển

| Viết tắt | Pali | Tiếng Việt |
|----------|------|-----------|
| DN | Dīgha Nikāya | Trường Bộ Kinh |
| MN | Majjhima Nikāya | Trung Bộ Kinh |
| SN | Saṃyutta Nikāya | Tương Ưng Bộ Kinh |
| AN | Aṅguttara Nikāya | Tăng Chi Bộ Kinh |
| Mv | Mahāvagga | Đại Phẩm |
| Cv | Cullavagga | Tiểu Phẩm |
| Dhp | Dhammapada | Kinh Pháp Cú |

---

## 5. Quy trình Hiệu đính (Step-by-Step)

### Bước 1: Architect tạo sub-agent Translator

```
sessions_spawn(
  agentId: "translator",
  task: "<nhiệm vụ hiệu đính chi tiết>",
  mode: "run"
)
```

### Bước 2: Translator đọc tài liệu tham chiếu

1. Đọc `STYLE-GUIDE.md`
2. Đọc `GLOSSARY.md`  
3. Dùng `memory_search` tra cứu thuật ngữ
4. Đọc file nguồn (10 trang)

### Bước 3: Translator hiệu đính

- Duyệt từng dòng, từng trang
- Áp style guide + glossary
- Giữ nguyên cấu trúc markdown
- Ghi output

### Bước 4: Architect QA

1. Kiểm tra cấu trúc: số trang, separator `---`
2. So sánh diff với file gốc: đảm bảo không mất nội dung
3. Kiểm tra thuật ngữ: nhất quán với glossary
4. Đọc lướt: văn phong có tự nhiên không?

### Bước 5: Lặp lại cho 52 file

---

## 6. Bộ nhớ Vector (Memory Search)

### Cơ chế
OpenClaw dùng **LanceDB** làm vector backend, tự động index `MEMORY.md` và `memory/*.md`.

### File đã index
- `/home/tuan-nguyen/.openclaw/workspace-translator/MEMORY.md` — Quy ước dịch + glossary BMC1
- `/home/tuan-nguyen/.openclaw/workspace-translator/memory/2026-05-10-bmc1-glossary.md` — Glossary đầy đủ

### Cách dùng
```python
memory_search("pācittiya dịch là gì")
# → Trả về: Pācittiya = "Ưng đối trị" (chỉ cần sám hối)
```

---

## 7. Danh sách File

### Thư mục làm việc

```
/home/tuan-nguyen/.openclaw/workspace/Buddist-Monastic-Code-1/
├── buddhistmonasticcode_vi_001_010.md    (52 file nguồn)
├── ...
├── buddhistmonasticcode_vi_511_517.md
├── pdf/
│   └── buddhistmonasticcode-1.pdf        (PDF gốc)
└── revised/
    ├── STYLE-GUIDE.md                    (Style guide)
    ├── GLOSSARY.md                       (Thuật ngữ đối chiếu)
    ├── buddhistmonasticcode_vi_001_010.md (Đã hiệu đính)
    └── ...                               (Sẽ có 52 file)
```

### File cấu hình

```
~/.openclaw/
├── openclaw.json                         (Cấu hình chính — đã thêm subagents.allowAgents)
├── agents/
│   ├── architect/agent/                  (Cấu hình architect)
│   ├── translator/agent/                 (Cấu hình translator)
│   └── editor/agent/                     (Cấu hình editor)
└── workspace-translator/
    ├── MEMORY.md                         (Quy ước dịch + BMC1 glossary)
    └── memory/2026-05-10-bmc1-glossary.md
```

---

## 8. Lệnh Thường dùng

```bash
# Kiểm tra trạng thái
openclaw gateway status

# Restart sau khi đổi config
openclaw gateway restart

# Kiểm tra agent
openclaw agents list --bindings

# Xem sub-agent đang chạy
/subagents list
```

---

## 9. Bài học Kinh nghiệm

1. **Architect là Manager, không phải Doer** — không tự dịch, chỉ điều phối
2. **Cần cấu hình `subagents.allowAgents`** để cross-agent spawn hoạt động
3. **Cron job hoạt động nhưng sessions_spawn trực tiếp tốt hơn** — có context, có announce
4. **Vector memory cần file text nguồn** — MEMORY.md + memory/*.md được auto-index vào LanceDB
5. **Model phải tương thích provider** — Translator agent chỉ dùng được model của provider đã cấu hình
6. **Gateway restart cần thiết sau khi sửa config agents**

---

*Tài liệu này dùng cho Obsidian — copy vào vault của anh để tham khảo.*
