Cách champollion hoạt động
champollion dịch các tệp ngôn ngữ (locale) của ứng dụng chỉ bằng một lệnh duy nhất. Dưới đây là những gì diễn ra bên dưới hệ thống.
Quy trình xử lý (Pipeline)
Khi bạn chạy npx champollion sync, champollion sẽ thực thi một quy trình xử lý gồm sáu giai đoạn:
Các quyết định thiết kế cốt lõi:
-
Phát hiện thay đổi qua mã băm SHA-256. Champollion theo dõi từng giá trị nguồn bằng một mã băm trong
.champollion.lock. Khi bạn cập nhật một chuỗi tiếng Anh, chỉ có khóa đó được dịch lại. Đây là lý do tại saosyncchạy rất nhanh trong các lần chạy tiếp theo — nó thực hiện lượng công việc tối thiểu. -
Bộ nhớ đệm Bản dịch (Translation Memory caching). Trước khi thực hiện bất kỳ lệnh gọi API nào, champollion sẽ kiểm tra
.champollion/tm.jsonđể tìm các bản dịch đã được lưu trong bộ nhớ đệm (được định danh bằng văn bản nguồn + ngôn ngữ + phương thức). Trong một lần đồng bộ lại thông thường sau khi thay đổi một khóa, 142 khóa sẽ được lấy từ bộ nhớ đệm và chỉ có 1 khóa cần gọi API. -
Cổng kiểm soát chất lượng trước khi ghi (Quality gate). Mỗi bản dịch đều phải vượt qua năm bước kiểm tra tự động (trống, lặp lại nguồn, lặp ảo giác, phình to độ dài, tuân thủ hệ chữ viết) trước khi được ghi vào tệp của bạn. Các lỗi thất bại sẽ được ghi nhật ký (log) chứ không bao giờ được chấp nhận một cách âm thầm.
-
Thử lại phân cấp khi thất bại (Retry cascade). Nếu một loạt (batch) bị lỗi (lỗi phân tích cú pháp JSON, hết thời gian gọi API), champollion sẽ thử lại với các loạt nhỏ dần: toàn bộ → một nửa → từng khóa riêng lẻ. Điều này giúp cô lập khóa gặp sự cố mà không làm nghẽn các khóa còn lại.
Các phương thức dịch
Champollion hỗ trợ bốn phương thức dịch, mỗi phương thức phù hợp với các tình huống khác nhau:
| Phương thức | Cách hoạt động | Phù hợp nhất cho |
|---|---|---|
llm | Prompt có cấu trúc gửi đến bất kỳ mô hình OpenRouter nào | Các ngôn ngữ có tài nguyên phong phú |
llm-coached | Cùng một prompt + quy tắc ngữ pháp, từ điển và lưu ý về phong cách | Các ngôn ngữ mà LLM thường mắc lỗi có thể dự đoán được |
google-translate | Yêu cầu hàng loạt (batch request) đến Google Cloud Translation API | Các ngôn ngữ tài nguyên cao có sự hỗ trợ tốt từ GT |
api | HTTP POST đến endpoint của riêng bạn | Các quy trình tùy chỉnh, các mô hình do cộng đồng kiểm soát |
Các phương thức được cấu hình theo từng cặp ngôn ngữ. Bạn có thể sử dụng google-translate cho tiếng Pháp nhưng lại dùng llm-coached cho tiếng Plains Cree — mỗi cặp ngôn ngữ sẽ sử dụng phương thức hoạt động hiệu quả nhất cho nó.
Dữ liệu huấn luyện (Coaching Data)
Đối với các cặp ngôn ngữ llm-coached, dữ liệu huấn luyện cung cấp cho LLM kiến thức ngôn ngữ rõ ràng: các quy tắc ngữ pháp, thuật ngữ bắt buộc và tùy chọn phong cách. Thông tin này được đưa vào mỗi prompt dưới dạng ngữ cảnh có cấu trúc.
{
"grammar_rules": ["Animate nouns take different plural forms than inanimate nouns"],
"dictionary": {"welcome": "ᑕᓂᓯ", "settings": "ᐃᑕᐢᑌᐘᐃᓇ"},
"style_notes": "Use Standard Roman Orthography (SRO) unless explicitly configured otherwise."
}
Dữ liệu huấn luyện là cơ chế chính để cải thiện chất lượng dịch thuật mà không cần tinh chỉnh (fine-tuning) mô hình. Thay đổi quy tắc → chạy lại đồng bộ (sync) → xem kết quả có cải thiện không. Quá trình thử nghiệm diễn ra tức thì.
Plugins
Plugin là các công thức dịch thuật được đóng gói sẵn cho các cặp ngôn ngữ cụ thể. Chúng là các tệp khai báo JSON — không phải mã nguồn — để chỉ dẫn cho champollion biết nên sử dụng phương thức nào, với cấu hình ra sao và chất lượng đã được đánh giá chuẩn (benchmark) như thế nào.
champollion plugin install ./crk-coached-v3/
champollion sync # uses the installed plugin for en→crk
Plugin giúp thu hẹp khoảng cách giữa nghiên cứu và thực tế triển khai: một phương thức đạt điểm cao trong MT Eval Arena có thể được đóng gói thành một plugin và triển khai tại đây.
Bức tranh toàn cảnh
champollion là một nửa của hệ sinh thái gồm hai phần:
- MT Eval Arena — nơi các phương thức dịch thuật được phát triển và chứng minh bằng các bài đánh giá chuẩn (benchmarking) có thể tái lập
- champollion — nơi các phương thức đã được chứng minh được triển khai để dịch nội dung thực tế
Eval Harness Bridge kết nối hai phần này với nhau. Một phương thức chứng minh được hiệu quả trong Arena sẽ được triển khai tại đây. Phản hồi từ người bản xứ trong môi trường thực tế sẽ giúp cải thiện phiên bản tiếp theo.
Tìm hiểu sâu hơn
- Cách hoạt động của Sync — hướng dẫn chi tiết từng bước về quy trình xử lý
- Cổng kiểm soát chất lượng (Quality Gate) — năm bước kiểm tra tự động
- Bộ nhớ đệm Bản dịch (Translation Memory) — lưu bộ nhớ đệm và tiết kiệm chi phí
- Các phương thức dịch — so sánh chi tiết các phương thức
- Kiến trúc — tổng quan về thiết kế hệ thống