# Quy Trình 03B — Hiệu Đính Bản Dịch Việt

> **Dành cho Translator Agent**
> Cập nhật: 2026-05-16 | Phiên bản: 1.0

---

## Tổng Quan

**Mục tiêu:** Hiệu đính bản dịch Việt từ Myanmar → chuẩn thuật ngữ, mượt văn phong, giữ không khí kinh điển.

**Agent phụ trách:** `translator` (model: openrouter/google/gemini-3-flash-preview)

**Input:** Bản dịch Việt thô (từ [[02-Dich-Song-Ngu]])
**Output:** Bản dịch Việt chuẩn, sẵn sàng xuất bản

---

## Quy Trình

### Các bước

1. **Đọc file nguồn** — bản dịch Việt cần hiệu đính
2. **Tra cứu glossary** — BẮT BUỘC dùng SQLite-vec (KHÔNG đọc file .md glossary):
   ```bash
   python3 -c "
   import sqlite3
   conn = sqlite3.connect('/home/tuan-nguyen/.openclaw/workspace/data/myanmar_pali_viet_terms_vec.db')
   cur = conn.cursor()
   cur.execute('SELECT pali, vietnamese, desc_vi, category FROM terms ORDER BY category, id')
   for r in cur.fetchall():
       print(f'{r[0]} | {r[1]} | {r[3]}')
   "
   ```
3. **Chuẩn hóa thuật ngữ** — theo database glossary, nhất quán 100%
4. **Sửa lỗi dịch thuật** — sai nghĩa, bỏ sót, dịch thừa
5. **Chuẩn hóa cấu trúc markdown** — headers, lists, quotes
6. **Cải thiện văn phong** — mượt mà, thoát ý, giữ không khí kinh điển
7. **Highlight** — bọc `<mark>` quanh chỗ đã sửa (xem [[#Quy-ước-Highlight]])
8. **Ghi output** — bản dịch Việt hoàn chỉnh

### Mục tiêu chất lượng
- Độ chính xác dịch thuật ≥ 95%
- Thuật ngữ nhất quán 100% với glossary
- Văn phong trang trọng, mượt mà
- Tất cả chỗ hiệu đính đều được `<mark>`

---

## Quy Ước Highlight

### Phân loại

| Tag | Ý nghĩa | Ví dụ |
|-----|---------|-------|
| `<mark>` | Đã sửa — nội dung đã hiệu đính | `<mark>bất cộng trụ</mark>` |
| `<mark doubt="term">` | Nghi ngờ thuật ngữ — cần tra cứu lại | `<mark doubt="term">Tăng tàn</mark>` |

> **Lưu ý:** Translator KHÔNG dùng `doubt="ocr"` (dành cho Editor ở 03A).

### Quy tắc

1. **Bọc đúng vị trí** — chỉ highlight từ/cụm từ được sửa, không highlight cả câu
2. **Không highlight hàng loạt** — nếu sửa quá 50% câu, ghi chú riêng dòng phía trên
3. **Ghi chú lý do** (khuyến khích):
   ```html
   <mark title="Sửa 'con gái' → 'vợ' (sai nghĩa)">vợ</mark>
   ```
4. **Batch QA** — Architect dùng `<mark>` để truy vết nhanh:
   ```bash
   grep -c '<mark' output/*.md               # tổng số chỗ đã sửa
   grep -n 'doubt="term"' output/*.md        # liệt kê chỗ nghi ngờ thuật ngữ
   ```

### Ví dụ

```markdown
Vị Tỳ-khưu phạm tội <mark title="Chuẩn hóa thuật ngữ: Pārājika → Bất cộng trụ">bất cộng trụ</mark>.
Vị ấy <mark doubt="term">không được</mark> sống chung với Tăng chúng.

> Ghi chú: dòng 2 — `không được` nghi ngờ dịch chưa sát, 
> bản gốc Myanmar dùng `အပ်သည်` (bị cấm/không được phép)
```

---

## II. Phương Thức Tuần Tự (Sequential)

Áp dụng cho dự án nhỏ, batch rời rạc (vd: BMC1).

### Vai trò
| Vai trò | Agent | Nhiệm vụ |
|---------|-------|----------|
| Architect 🏗️ | architect | Điều phối, spawn, QA, báo cáo |
| Translator 📝 | translator | Hiệu đính từng file |

### Flow
```
Architect spawn translator → Translator hiệu đính → Architect QA → Next file
```

### Mẫu spawn
```javascript
sessions_spawn({
  agentId: "translator",
  task: `Hiệu đính bản dịch Việt file: [path].
Đọc [[Quy-Uoc-Dich-Thuat]] + [[Translator-Myanmar-Vi]].
Tra cứu glossary QUA SQLITE-VEC (KHÔNG đọc file .md).
Sửa lỗi → highlight <mark> → ghi output.`,
  mode: "run",
  runTimeoutSeconds: 600
})
```

---

## III. Phương Thức Cron Tự Động (Batch)

Áp dụng cho dự án lớn, nhiều batch (vd: Tam Bảo).

### Kiến trúc
```
batch-index.json (theo dõi tiến trình)
       │
       ▼
  ┌─────────────┐     5 phút      ┌─────────────┐
  │ Cron Job     │ ───────────────→ │ Cron Job     │
  │ (batch #1)   │                 │ (batch #2)   │
  │ isolated     │                 │ isolated     │
  └─────────────┘                 └─────────────┘
```

### Cấu hình cron job
```json
{
  "schedule": {"kind": "at", "at": "ISO-timestamp"},
  "payload": {
    "kind": "agentTurn",
    "message": "Hiệu đính bản dịch Việt batch #N. Đọc [[Quy-Uoc-Dich-Thuat]]. Tra cứu SQLite-vec...",
    "timeoutSeconds": 600
  },
  "sessionTarget": "isolated",
  "agentId": "translator",
  "deleteAfterRun": true,
  "delivery": {"mode": "announce", "channel": "webchat"}
}
```

### Batch index file
```json
{
  "project": "Tam-Bao",
  "total_batches": 87,
  "batches": [
    {"name": "001", "status": "done", "qa_passed": true},
    {"name": "002", "status": "in_progress", "qa_passed": false}
  ]
}
```

---

## IV. QA Checklist (Architect kiểm tra)

### Cấu trúc
- [ ] File output tồn tại & > 0 byte?
- [ ] Định dạng markdown chuẩn (headers, lists, quotes)?
- [ ] Không có header/footer/attribution thừa?

### Nội dung
- [ ] Thuật ngữ nhất quán với SQLite-vec glossary?
- [ ] Pāḷi giữ đúng dấu macron (ā, ī, ū, ṃ, ñ, ṭ, ḍ, ṇ, ḷ)?
- [ ] Văn phong trang trọng, mượt mà, thoát ý?

### Highlight
- [ ] Tất cả chỗ đã sửa đều có `<mark>`?
- [ ] Chỗ nghi ngờ thuật ngữ có `doubt="term"`?
- [ ] Có ghi chú lý do sửa cho các trường hợp quan trọng?
- [ ] Không highlight nguyên câu (chỉ highlight từ/cụm từ)?

### Kỹ thuật
- [ ] Đã dùng sqlitevec (KHÔNG đọc .md glossary)?
- [ ] Không paraphrase, không bỏ sót nội dung?

---

## V. Xử Lý Sự Cố

| Triệu chứng | Hành động |
|------------|-----------|
| Batch fail | Xóa output cũ → spawn lại với context batch trước |
| Thuật ngữ sai | Tra cứu lại sqlitevec → sửa → QA lại |
| Context thiếu | Tạo context-summary thủ công |
| Translator treo >30 phút | Kill + spawn lại, thử model khác (qwen/qwen3.5-plus) |

---

## VI. Dự Án Cụ Thể

### BMC1 — Buddhist Monastic Code I
- 52 file nguồn (mỗi file 10 trang)
- Dùng phương thức **tuần tự**
- Style guide: `Buddist-Monastic-Code-1/revised/STYLE-GUIDE.md`
- Glossary: SQLite-vec database → bảng `terms`
- Thuật ngữ đặc thù: Pārājika=Bất cộng trụ, Saṅghādisesa=Tăng tàn, Pācittiya=Ưng đối trị, Nissaggiya-pācittiya=Ưng xả đối trị, Dukkaṭa=Tác ác, Thullaccaya=Trọng tội

### Tam Bảo
- 87 batch, dùng **cron tự động**
- Context-summary sau mỗi batch để batch sau kế thừa

---

## Tài Liệu Tham Khảo

- [[Quy-Uoc-Dich-Thuat]] — Quy ước dịch thuật chuẩn
- [[Translator-Myanmar-Vi]] — Translator guide
- [[../huong-dan/Glossary-SQLite]] — Hướng dẫn tra cứu glossary
- [[prompt-template-v4]] — Prompt template

---

## File liên quan
- [[03-Hieu-Dinh]] — Overview hiệu đính
- [[03A-Hieu-Dinh-Myanmar-OCR]] — Hiệu đính OCR Myanmar (Editor)
- [[02-Dich-Song-Ngu]] — Dịch song ngữ
- [[01-Dieu-Phoi-Agent]] — Điều phối agent
- [[05-Cron-Quan-Ly]] — Quản lý cron job
