# Quy Trình Dịch Song Ngữ — Myanmar → Việt

> **Dành cho Architect Agent** — điều phối dịch thuật
> Cập nhật: 2026-05-13 | Phiên bản: 3.0

---

## I. TỔNG QUAN

Architect **không trực tiếp dịch**. Architect điều phối translator agent qua `sessions_spawn`.

### Flow chính
```
Architect ──spawn──→ Translator (batch N)
                        ├── Đọc Guide (~/obsidian/Translator-Guide-Myanmar-Vi.md)
                        ├── Đọc file nguồn
                        ├── Đọc context-summary của batch N-1 (nếu N>1)
                        ├── Dịch → ghi output (CHỈ nội dung dịch)
                        └── Ghi context-summary cho batch N
Architect ←──kết quả──
Architect ──spawn──→ Translator (batch N+1)
                        ├── Đọc context-summary của batch N
                        └── ...
```

### File liên quan
| File                                                    | Vai trò                        |
| ------------------------------------------------------- | ------------------------------ |
| `~/obsidian/Quy-Trinh-Dich-Song-Ngu-Architect-Guide.md` | Guide cho Architect (file này) |
| ~/obsidian/huong-dan/Translator-Myanmar-Vi.md           | Guide cho Translator           |
| `{dự án}/split/*.md`                                    | File nguồn (đã cắt batch)      |
| `{dự án}/translate-my-vi/*.md`                          | File output (dịch song ngữ)    |
| `{dự án}/translate-my-vi/context-summary/*.md`          | Context summary từng batch     |

---

## II. CHUẨN BỊ DỰ ÁN MỚI

### 1. Cắt file nguồn thành batch
Mỗi batch ≤ 5 trang. Script mẫu: tách theo marker trang.

### 2. Tạo thư mục
```
{dự án}/translate-my-vi/
{dự án}/translate-my-vi/context-summary/
```

### 3. Xác định thuật ngữ đặc thù dự án
Nếu dự án có thuật ngữ ngoài bảng chuẩn → thêm vào prompt spawn.

---

## III. MẪU SPAWN TRANSLATOR

```javascript
sessions_spawn({
  task: "[prompt — xem Mục IV]",
  mode: "run",
  agentId: "translator",  // BẮT BUỘC: spawn translator agent
  model: [anh Tuấn yêu cầu],
  runTimeoutSeconds: 600,
  cleanup: "delete"
})
```

### Tham số cố định
- **Model:** [anh Tuấn yêu cầu]
- **Mode:** `"run"` (one-shot background)
- **Cleanup:** `"delete"` (xóa session sau khi xong)
- **Timeout:** 600s (10 phút) — điều chỉnh nếu batch lớn

---

## IV. CẤU TRÚC PROMPT SPAWN

### Mẫu prompt
```
Dịch song ngữ Myanmar → Việt cho batch: [TÊN-BATCH]

## Hướng dẫn
Đọc Guide đầy đủ tại: ~/workspace/obsidian/Translator-Guide-Myanmar-Vi.md

## 📚 BẮT BUỘC: Tra cứu glossary trước khi dịch
Chạy lệnh này để load toàn bộ thuật ngữ từ SQLite-vec:
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]}')
"
⚠️ TUYỆT ĐỐI KHÔNG đọc file .md glossary nào.

## Files
- Nguồn: [đường-dẫn-nguồn]
- Output: [đường-dẫn-output]
- Context-summary output: [đường-dẫn-context-summary-dir]/[TÊN-BATCH]-context-summary.md

## Bối cảnh từ batch trước (nếu có)
[PASTE NỘI DUNG context-summary của batch N-1 vào đây]

Nếu đây là batch đầu tiên: "Đây là batch đầu tiên, không có bối cảnh trước đó."

## Thuật ngữ bổ sung dự án
[Thêm nếu có — format bảng giống Guide]

⚠️ TUYỆT ĐỐI:
- CHỈ dịch, không thêm tiêu đề, footer, attribution vào output
- Mỗi đoạn: Myanmar gốc → Việt dịch
- Không paraphrase, không bỏ sót
- Ghi context-summary sau khi dịch xong
```

### Quy tắc prompt
1. **Ngắn gọn** — Guide đã có đầy đủ trong obsidian, prompt chỉ truyền tham số
2. **Context pasted** — paste nguyên nội dung context-summary của batch trước vào prompt
3. **Đường dẫn tuyệt đối** — tránh nhầm lẫn
4. **BẮT BUỘC gắn lệnh sqlitevec** — mỗi prompt spawn đều phải có section "📚 BẮT BUỘC: Tra cứu glossary"

---

## V. QUẢN LÝ CONTEXT SUMMARY

### Cấu trúc thư mục
```
translate-my-vi/context-summary/
├── Introduction-context-summary.md
├── tam-bao-001-005-context-summary.md
├── tam-bao-006-010-context-summary.md
└── ...
```

### Cách dùng
1. **Batch 1:** Spawn translator, không có context → translator tạo `context-summary/{batch1}-context-summary.md`
2. **Batch N:** Đọc `context-summary/{batch-N-1}-context-summary.md` → paste vào prompt → spawn translator
3. **Làm lại batch cũ:** Có sẵn context của batch trước đó → spawn lại được ngay

### Đọc context summary
```bash
cat "translate-my-vi/context-summary/{batch-trước}-context-summary.md"
```

---

## VI. KIỂM TRA CHẤT LƯỢNG (QA)

Sau mỗi batch, Architect kiểm tra:

### Kiểm tra cấu trúc
- [ ] Mỗi đoạn có Myanmar gốc → Việt dịch?
- [ ] Dùng đúng dấu `→` phân cách?
- [ ] **KHÔNG có** header/footer/attribution thừa?
- [ ] Số đoạn dịch = số đoạn nguồn?

### Kiểm tra nội dung
- [ ] Pāḷi giữ đúng dấu macron?
- [ ] Thuật ngữ đúng bảng chuẩn?
- [ ] Văn phong trang trọng, không cường điệu?

### Kiểm tra context-summary
- [ ] Đã tạo file context-summary cho batch này?
- [ ] ≤ 200 từ?
- [ ] Tóm tắt đúng nội dung batch vừa dịch?

---

## VII. VÍ DỤ: DỰ ÁN TAM BẢO

### Cấu trúc
```
An Duc Tam Bao/ver-2/
├── split/                          # File nguồn đã cắt
│   ├── Introduction.md
│   ├── tam-bao-001-005.md
│   └── ... (87 batch)
├── translate-my-vi/                # Output
│   ├── Introduction.md             # ✅ Đã dịch
│   ├── context-summary/
│   │   └── Introduction-context-summary.md  # ✅
│   └── ...
└── pdf/
    └── Tam-Bao-Final-Edit.txt
```

### Prompt spawn cho batch tam-bao-001-005 (sau khi Introduction xong)
```
Dịch song ngữ Myanmar → Việt cho batch: tam-bao-001-005

## Hướng dẫn
Đọc Guide: ~/workspace/obsidian/Translator-Guide-Myanmar-Vi.md

## Files
- Nguồn: ~/workspace/An Duc Tam Bao/ver-2/split/tam-bao-001-005.md
- Output: ~/workspace/An Duc Tam Bao/ver-2/translate-my-vi/tam-bao-001-005.md
- Context-summary: ~/workspace/An Duc Tam Bao/ver-2/translate-my-vi/context-summary/tam-bao-001-005-context-summary.md

## Bối cảnh
[PASTE nội dung Introduction-context-summary.md]

⚠️ TUYỆT ĐỐI: CHỈ dịch, không thêm header/footer. Giữ nguyên Myanmar.
```
