Từ Cha sang Ch
Thông báo lớn
Tôi đang ngừng hỗ trợ Cha và tập trung vào Ch. Vào ngày 23 tháng 8 năm 2025 tôi đã đánh dấu Cha là đã bị khai tử và chuyển toàn bộ nỗ lực phát triển trong tương lai sang Ch. Triết lý bây giờ rất đơn giản: giữ một công cụ đơn giản, nhẹ và nhanh, duy trì nó và sửa lỗi. Không chạy theo tính năng.
Vì sao tôi ban đầu xây dựng Cha
Khi LLM và ChatGPT còn mới, những công cụ CLI tôi muốn dùng lại không bao giờ xuất hiện. ChatGPT ra mắt vào tháng 11 năm 2022 và thực sự bùng nổ vào đầu năm 2023 với việc phát hành GPT-4. Tôi đã chờ các công cụ dòng lệnh vững chắc xuất hiện, nhưng không có công cụ nào thật sự hoạt động theo cách tôi muốn. Vì vậy tôi xây dựng Cha và dùng nó hằng ngày. Thực ra, trong bài blog đầu tiên của tôi tôi đã nói rất rõ: những dự án như thế này khá phổ biến, nhưng không dự án nào phù hợp với nhu cầu của tôi, nên tôi tự viết một cái.
Cha là đứa con tinh thần của tôi. Tôi dùng nó hằng ngày và rất thích làm việc với nó. Và chỉ trong vòng một năm, nó đã phát triển một chút khi tích lũy được hơn 60 sao trên GitHub. Trong thời gian này, nó bổ sung quét web, lấy bản chép lời YouTube, tạo ảnh, nhập liệu nhiều dòng, cả trò chuyện tương tác/không tương tác, nhập prompt STT, hỗ trợ các công cụ tùy chỉnh, hỗ trợ nhiều nền tảng khác ngoài OpenAI, công cụ Answer Search riêng của nó, điều hướng thư mục & chỉnh sửa tệp nâng cao, khả năng sao chép nội dung vào clipboard, TTS cho phản hồi, v.v. Nó làm được rất nhiều thứ, hoạt động tốt, và thực sự hữu ích và mạnh mẽ như một công cụ dòng lệnh.
Vì sao chuyển sang Ch (Python sang Go)
Theo thời gian, Cha trở nên nặng nề. Bộ tính năng rất tốt, nhưng diện tích bề mặt quá lớn so với thứ tôi cần dùng hằng ngày. Điều này khiến Cha trở nên thực sự cồng kềnh. Việc nó được viết bằng Python cũng không giúp ích gì khi tạo ra hai vấn đề nghiêm trọng. Một là tốc độ, thời gian khởi động ban đầu vẫn mất 0,8 giây và đó là sau rất nhiều tối ưu hóa và kỹ thuật để vượt qua thời gian import gói ban đầu chậm của Python cũng như việc sử dụng đa xử lý. Và Python thì rất khó cài đặt. Do Cha phụ thuộc vào nhiều công cụ mã nguồn mở bên thứ ba, việc cài đặt nó rất khó khăn. Điểm bùng phát của tôi là khi tôi đi du lịch chỉ với một máy tính bảng Android chạy iTermux và nó hoàn toàn không hoạt động, còn việc khiến nó hoạt động được phần nào thì rất đau đầu và vô nghĩa.
Vì vậy tôi quyết định bắt đầu một thử nghiệm mới tên là Ch. Ch sẽ giống Cha NHƯNG được viết bằng GoLang thay vì Python và CHỈ chứa các tính năng thiết yếu của Cha, với ý tưởng là nhẹ, nhanh, dễ cài trên hầu hết hệ thống, và không quá nặng về tính năng. Khi làm như vậy, việc duy trì dự án với tư cách người bảo trì duy nhất sẽ dễ hơn.
Sau vài tháng làm việc và sử dụng Ch, tôi nhận ra tương lai của Cha nằm ở Ch chứ không phải ở codebase Cha ban đầu. Tôi đã dành quá nhiều thời gian cho Cha, việc duy trì cả hai codebase rất tốn thời gian đối với một nhà phát triển đơn lẻ trên các dự án đó, và Ch làm được phần việc cốt lõi trong khi lại nhẹ hơn, nhanh hơn và dễ cài đặt hơn rất nhiều. Điều đó khiến quyết định trở nên rõ ràng…
Bản viết lại bằng Go cho tôi khởi động nhanh, một tệp nhị phân duy nhất, và một mô hình tư duy nhỏ gọn hơn. README của Ch tóm tắt rất hay: Ch là phiên bản kế nhiệm với thời gian khởi động nhanh hơn hơn 10 lần và hiệu năng tốt hơn đáng kể.
Quyết định
Tôi chính thức ngừng hỗ trợ Cha vào ngày 23 tháng 8 năm 2025 và hướng mọi người sang Ch thông qua README của Cha. Kho Cha vẫn được giữ lại như một tham chiếu lịch sử và tôi đang giữ Ch ở chế độ bảo trì với trọng tâm là ổn định và sửa lỗi, rất ít quan tâm đến việc thêm tính năng mới trừ khi nó thực sự xứng đáng và/hoặc quan trọng phải thêm (dù điều đó có nghĩa là gì theo thời gian).
Những tính năng Ch hiện có hôm nay
Ch bao quát quy trình làm việc hằng ngày mà không cồng kềnh:
- Khởi động hiệu năng cao với CLI nhẹ được viết bằng GoLang
- Hỗ trợ nhiều nhà cung cấp (OpenAI, Groq, DeepSeek, Anthropic, XAI, Together, Gemini, Mistral, Ollama)
- Chế độ tương tác và trực tiếp, pipe từ bất kỳ lệnh nào, tải tệp và thư mục, đếm token, xuất khối mã, trình xem lịch sử chat, chuyển đổi mô hình/nền tảng, quay lui, đổ mã, ghi lại phiên shell, tích hợp clipboard
- Quét web và tìm kiếm tích hợp sẵn, bao gồm xử lý liên kết YouTube, được tích hợp theo cách đơn giản
Những gì còn thiếu trong Ch so với Cha (và tại sao)
Ch cố gắng chỉ giữ lại các tính năng thiết yếu của Cha nhưng khi làm vậy tôi đã loại bỏ các tính năng Cha sau khỏi Ch:
- Giao diện “Editor” nâng cao và “Answer Search” sẽ không được chuyển sang
- Hấp thụ âm thanh, video và hình ảnh, chuyển giọng nói thành văn bản và văn bản thành giọng nói, cùng một số tiện ích xuất và codedump bổ sung không phải ưu tiên
- Một số trợ giúp điều hướng và hành vi “change root dir” từ Cha không có trong Ch
- Các “profile với chat đã lưu” cục bộ không phải là đường đi mặc định theo chủ ý
Tôi gắn nhãn nhiều thứ trong số này là bloat hoặc “có thì tốt”. Điều tôi xem là quan trọng là duyệt web và quét web, vốn bị thiếu trong Ch nhưng sau đó tôi đã tích hợp vào Ch để vòng lặp cốt lõi hoàn chỉnh mà không cần phần còn lại. Không chỉ vậy, Ch còn có một tính năng mới tên là !x ghi lại một phiên shell trong khi bạn vẫn đang ở trong phiên Ch và thêm nó vào lịch sử chat, cho phép bạn dùng các công cụ CLI khác và lưu đầu ra của chúng cho mô hình nếu muốn. Tính năng này cho phép bạn đưa rất nhiều tính năng còn thiếu ban đầu của Cha vào Ch mà không khiến Ch phải gánh toàn bộ và bị cồng kềnh. Bạn có thể tìm hiểu thêm về Ch trong bài blog mới này.
Ch/Cha so với Claude Code
Vào tháng 7 năm 2025, tôi đã viết một bài so sánh Cha với các công cụ CLI chạy bằng AI mới nhất để giải thích Cha mang lại giá trị gì mà các công cụ đó không có. Biết điều này, tôi vẫn muốn đưa phần này vào bài blog vì Ch, ở cốt lõi của nó, mang lại cùng một giá trị và so sánh này vẫn đúng nhiều tháng sau đó, ngay cả sau khi chuyển đổi này. Triết lý tương tự cũng áp dụng cho Ch.
Những khác biệt chính
- Cách tiếp cận của Ch/Cha nhấn mạnh quyền kiểm soát hoàn toàn của người dùng ở mọi bước, không có tác nhân AI chạy nền tự đưa ra quyết định. Bạn có quản lý ngữ cảnh một cách rõ ràng, do người dùng kiểm soát, với chi phí thường vào khoảng 1 đến 20 đô la mỗi tháng cho mức sử dụng tích cực hằng ngày. Không có chỉnh sửa bất ngờ, mọi thứ đều do người dùng định hướng, khiến nó lý tưởng cho sự tham gia sâu và kiểm soát chi phí chặt chẽ.
- Các CLI tác nhân như Claude Code và Gemini đi theo một hướng khác với các quyết định quy trình làm việc tự động và các tác nhân thông minh đưa ra lựa chọn tự chủ. Chúng xử lý ngữ cảnh và quản lý tệp do AI đảm nhận, với chi phí thường vào khoảng 10 đến 200+ đô la mỗi tháng cho mức sử dụng tương tự. Chúng xuất sắc trong các sửa đổi mã tự động, khiến chúng hoàn hảo cho tạo mẫu nhanh và ủy quyền.
Khi nào nên chọn kiểu Ch/Cha
- Chi phí tối thiểu với tính minh bạch đầy đủ
- Kiểm soát hoàn toàn mọi tương tác
- Tham gia sâu vào quy trình phát triển của bạn
- Quản lý ngữ cảnh rõ ràng cho các dự án nhạy cảm
Khi nào nên chọn công cụ tác nhân
- Tạo mẫu nhanh và lặp nhanh
- Ưu tiên tự động hóa và ủy quyền bằng AI
- Tốc độ hơn là cân nhắc chi phí
Khuyến nghị
Không có viên đạn bạc nào cả. Không công cụ nào bao quát mọi trường hợp. Ch rất tuyệt cho các tác vụ hằng ngày tiết kiệm chi phí và kiểm soát chính xác. Các công cụ tác nhân như Claude Code hoặc Gemini CLI tỏa sáng trong lập trình phức tạp, nhiều tệp, nhiều môi trường với trọng tâm là tốc độ và tự động hóa. Hãy dùng Ch khi bạn muốn giảm chi phí và giữ quyền kiểm soát. Hãy dùng công cụ tác nhân khi bạn cần lặp nhanh và không ngại ủy quyền quyền kiểm soát. Nhiều người bắt đầu với Ch để học các mẫu tương tác tốt, rồi bổ sung công cụ tác nhân khi nhu cầu phát triển.
Tương lai của Cha và Ch
Tương lai của Cha và Ch là như thế này. Cha đã bị ngừng hỗ trợ và lưu trữ, đồng thời chỉ còn đóng vai trò như một dạng tham chiếu lịch sử. Ch giờ là Cha mới. Nó sẽ tiếp tục được duy trì, cải tiến (nếu cần), và sử dụng. Tôi sẽ kiên quyết chống lại feature creep cho Ch. Và từ nay về sau, khi tôi nói/đề cập đến Cha thì tôi đang nói về Ch, còn Cha cũ viết bằng python sẽ được gọi là “Cha v0” hoặc “Cha cũ”. Với điều đó trong đầu
Cảm ơn
Nếu bạn đã theo dõi hành trình của Cha ngay từ đầu, xin cảm ơn. Dự án đó đã dạy tôi rất nhiều và thúc đẩy tôi hướng tới một phiên bản phù hợp hơn với cách tôi thực sự làm việc, đồng thời cũng tốt hơn cho cộng đồng nói chung. Nếu bạn là người mới, hãy bắt đầu dùng Ch và hãy giữ mọi thứ đơn giản!