Bài học khi chuyển prompt 35KB từ Claude sang Ollama tự vận hành
Một kỹ sư chia sẻ ghi chú thực tế khi di chuyển các prompt khổng lồ 35KB từ Claude/OpenAI sang mô hình 27B tự vận hành trên Ollama. Bài viết phân tích các vấn đề về cửa sổ ngữ cảnh, hiện tượng agent "mất trí nhớ", và cách tái cấu trúc prompt để chạy ổn định trên phần cứng cá nhân.

Bài học khi chuyển prompt 35KB từ Claude sang Ollama tự vận hành
Khi các nhà cung cấp AI hàng đầu ngày càng bị nghi ngờ về việc lấy dữ liệu người dùng để huấn luyện, nhiều lập trình viên đang tìm cách đưa mô hình về chạy trên phần cứng của chính mình. Nhưng hành trình đó không hề bằng phẳng — đặc biệt khi bạn mang theo những prompt khổng lồ 35KB vốn chạy tốt trên Claude hay OpenAI.
Một kỹ sư đã chia sẻ ghi chú chi tiết về quá trình thử nghiệm chuyển các prompt "nặng ngữ cảnh" sang mô hình mở 27B tham số chạy trên Ollama, với mục tiêu kép: tránh bị từ chối trả lời các câu hỏi về bảo mật, và bảo vệ nội dung phiên làm việc khỏi bị các nhà cung cấp lớn thu thập.
Minh họa quá trình chuyển đổi mô hình AI tự vận hành
Vì sao người dùng muốn rời bỏ nhà cung cấp lớn?
Động lực không chỉ là bảo vệ dữ liệu cá nhân. Theo tác giả, thứ giá trị nhất có thể không phải dữ liệu của bạn, mà là metadata về các phiên làm việc — cách bạn tư duy, cách bạn "dụ" AI giải quyết vấn đề. Những phiên agent đó chính là bản ghi lại những bài toán khó nhất bạn từng xử lý.
Tác giả lập luận khá gay gắt rằng các nhà cung cấp mô hình tiên phong không chỉ đáng nghi ngờ mà còn chủ động lách luật. Khi được hỏi về khả năng lưu trữ và huấn luyện trên dữ liệu người dùng, câu trả lời tốt nhất họ đưa ra là "không thể loại trừ khả năng đó". Chúng ta không thể kiểm toán pipeline của họ — và dường như chính họ cũng không làm được.
Nếu muốn bảo vệ ý tưởng của mình, bạn không thể chạy suy luận trên phần cứng của người khác.
Nút thắt cửa sổ ngữ cảnh
Đây là phần kỹ thuật đáng chú ý nhất. Tác giả chạy thử trên máy AMD Ryzen AI MAX+ 395 với 128GB RAM, trong đó 32GB dành cho hệ điều hành, phần còn lại cấp cho suy luận.
Kết quả: những prompt chạy sạch trên API hàng đầu lại sụp đổ hoàn toàn trên mô hình tự vận hành. Nguyên nhân không phải do mô hình nhỏ hơn, mà do cửa sổ ngữ cảnh nhỏ hơn nhiều. Hệ thống tự vận hành của tác giả giới hạn ở khoảng 65.000 token.
Một prompt 35KB ngay lập tức chiếm 14% tổng cửa sổ ngữ cảnh. Cộng thêm lịch sử phiên, ngữ cảnh bị bão hòa chỉ sau vài vòng lặp — đôi khi còn trước khi mô hình kịp trả lời.
Tác giả dùng một hình ảnh rất dễ nhớ để mô tả tình trạng này:
Với cửa sổ ngữ cảnh hạn chế, prompt của bạn giống như đang giao việc cho một người đàn ông tái sinh mỗi 90 giây. Anh ta thực hiện mệnh lệnh cuối cùng mà không hề biết gì về 15 yêu cầu trước đó.
Các triệu chứng cụ thể bao gồm: agent gọi công cụ trùng lặp liên tục, đọc đi đọc lại cùng một file, viết lại phần việc đã hoàn thành, và tệ hơn là lỗi phân tích cú pháp tool-call — khiến lượng dữ liệu thô khổng lồ tràn vào ngữ cảnh và phá hủy cả phiên làm việc.
Giải pháp: Prompt đơn mục tiêu
Tin tốt là đây không phải ngõ cụt. Tác giả đưa ra một loạt nguyên tắc để thích nghi:
- Chia prompt thành các đơn vị đơn mục tiêu — mỗi prompt chỉ giải quyết một vấn đề
- Định nghĩa agent theo kiểu khai báo trong OpenCode, lưu tại
~/.config/opencode/agents, thay vì dùng thủ thuật đọc file làm prompt - Tinh chỉnh độ dài ngữ cảnh rõ ràng trong Ollama — mặc định của Ollama cực kỳ nhỏ
- Ghi trạng thái phiên xuống đĩa để hỗ trợ bàn giao phiên thường xuyên hơn, giúp agent chỉ đọc lại đúng phần cần thiết
- Giảm số lượt gọi công cụ trong mỗi bước agent
- Thay "đừng làm X" bằng chỉ thị khẳng định như "chỉ làm Y"
Cấu trúc agent và quản lý ngữ cảnh
Chỉ số MTTF: Số token đến khi quên
Tác giả đề xuất một khái niệm thú vị — MTTF (Mean Tokens To Forget), tức số token trung bình trước khi mô hình "quên". Các dấu hiệu cảnh báo cần theo dõi trong log:
- Gọi công cụ giống hệt nhau liên tiếp
- Đọc cùng một file nhiều lần
- Agent nhắc lại mục tiêu của chính mình
- Lỗi phân tích cú pháp tool-call
- Số lượt hội thoại cao bất thường so với số file thay đổi
Món hời Faustian của cửa sổ ngữ cảnh lớn
Tác giả chỉ ra một nghịch lý quan trọng: thứ giá trị nhất mà các nhà cung cấp hàng đầu cung cấp không phải là mô hình, mà là cửa sổ ngữ cảnh khổng lồ. Chính vì có ngữ cảnh rộng, Chain of Thought (chuỗi suy luận) mới có đất diễn, giúp mô hình "đoán" được ý bạn muốn ngay cả khi prompt viết cẩu thả.
Với ngữ cảnh rộng và CoT, ngay cả prompt dở cũng cho kết quả tốt.
Nhưng đây là một cuộc trao đổi kiểu Faust: bạn trở nên phụ thuộc vào nhà cung cấp, trong khi bạn thậm chí không biết prompt của mình có vấn đề gì, bởi CoT chỉ được cung cấp dưới dạng tóm tắt.
Kết luận cho người dùng Việt Nam
Nếu bạn đang cân nhắc tự vận hành mô hình để bảo vệ quyền riêng tư, bài học từ thí nghiệm này rất đáng tham khảo:
- Đừng mang nguyên prompt cũ sang — hãy thiết kế lại từ đầu cho cửa sổ ngữ cảnh hẹp
- Đầu tư vào RAM và VRAM là quan trọng, nhưng cách viết prompt còn quan trọng hơn
- Theo dõi log chặt chẽ để phát hiện sớm dấu hiệu bão hòa ngữ cảnh
Với sự phát triển nhanh của các mô hình mở như Qwen, Llama hay Gemma, con đường tự vận hành AI đang dần trở nên khả thi hơn. Nhưng như tác giả kết luận: nó đòi hỏi bạn phải nghiêm túc hơn trong cách định nghĩa agent, thay vì dựa vào những "mánh" prompt chạy được trên API.


