# Recursive Flint: model coding local mở, thử với Pi, OpenCode và PandaCode

[AICodeKing](https://homus.dev/speakers/aicodeking) · [AICodeKing](https://homus.dev/orgs/aicodeking)

> Thử Recursive Flint (MoE 40B, 2,5B active) chạy local qua llama.cpp: tốc độ theo context, cài vào Pi, OpenCode, PandaCode và bốn bài coding thật.

Topics: Coding Agents, Dev Tools, Agents

Canonical: https://homus.dev/talks/recursive-flint-this-open-local-coding-model-is-crazy-tested-with-pi-opencode-pandacode

## 1. Flint: một model mixture of experts cho agentic coding trên máy của bạn

AICodeKing mở đầu bằng một model mới: **Flint**, do một công ty tên là **Recursive** làm ra. Theo anh (video đăng ngày 22/10/2026), model này được làm cho đúng một việc: chạy agentic coding ngay trên máy tính của bạn, và chạy nhanh.

Flint là một model mixture of experts (MoE). Theo Recursive (video đăng ngày 22/10/2026), nó có tổng cộng 40 tỷ parameter, nhưng với mỗi token chỉ khoảng 2,5 tỷ parameter được kích hoạt. AICodeKing giải thích đó chính là lý do nó có thể chạy nhanh trên một chiếc laptop.

![Slide mixture of experts: 40B parameters in total, 2.5B active, bên cạnh một lưới ô vuông chỉ vài ô được tô màu](https://homus.dev/photos/oJ0gSua-fE0-0023.jpg)

Slide minh hoạ ý MoE, theo Recursive (video đăng ngày 22/10/2026): 40B parameter tổng cộng nhưng chỉ 2,5B hoạt động cho mỗi token, lưới ô bên phải chỉ tô màu vài ô trong rất nhiều ô.

## 2. Open weights, Apache 2.0 và engine rec

Theo Recursive (video đăng ngày 22/10/2026), một team nhỏ đã build Flint từ con số không trong chưa tới bốn tháng, với sự trợ giúp của các agent làm nghiên cứu tự động. Trang giới thiệu của Recursive (đọc ngày 22/10/2026) gọi hệ thống đó là Eureka Machine.

Tính đến video đăng ngày 22/10/2026, weights của Flint nằm trên Hugging Face theo license Apache 2.0, nên theo AICodeKing bạn dùng nó vào việc gì cũng được, và không phải trả tiền cho một API nào. Cũng theo video ngày đó, Flint chạy được với llama.cpp, Ollama, LM Studio, Unsloth, vLLM và SGLang. Ngoài ra Recursive còn tự làm một inference engine nhỏ cho máy Mac, tên là **rec**.

Các đường chạy Flint mà AICodeKing liệt kê trong video đăng ngày 22/10/2026: qua các runtime phổ biến, hoặc qua engine rec mà Recursive làm riêng cho Mac.

## 3. Những gì Recursive tuyên bố

Tiếp theo anh đi qua các tuyên bố của Recursive. Đây là lời của hãng, chưa phải số đo của anh. Theo Recursive (trang giới thiệu Flint, video đăng ngày 22/10/2026), Flint là model mixture of experts tốt nhất trong nhóm dưới 50 tỷ parameter trên SWE-Bench Pro, Terminal-Bench và SWE-Bench Verified. Hãng cũng nói Flint code tốt ngang các dense model từ 25 đến 40 tỷ parameter, nhưng chạy nhanh hơn trên năm lần.

Về tốc độ, theo Recursive (video đăng ngày 22/10/2026), Flint đạt hơn 125 token mỗi giây trên một chiếc MacBook Pro M4 Pro, và hơn 150 token mỗi giây trên một máy RTX Spark. Trên trang giới thiệu hiện trong video, đoạn này ghi rõ là với inference engine đã tối ưu của hãng, ở context ngắn.

![Trang Introducing Recursive Flint với đoạn về tốc độ trên M4 Pro và RTX Spark được khoanh lại, bên dưới là biểu đồ Quality and decode speed on M4 Pro](https://homus.dev/photos/oJ0gSua-fE0-0109.jpg)

Trang giới thiệu Flint của Recursive, đoạn được khoanh (video đăng ngày 22/10/2026): với engine tối ưu của hãng, Flint sinh hơn 125 token/giây trên MacBook Pro M4 Pro và hơn 150 token/giây trên máy NVIDIA RTX Spark 64GB ở context ngắn. Bên dưới là biểu đồ chất lượng và tốc độ decode trên M4 Pro do hãng công bố.

Về context window, theo Recursive (video đăng ngày 22/10/2026), Flint hỗ trợ tới 512 nghìn token, nhưng hãng khuyên bạn nên giữ dưới 256 nghìn.

## 4. Không chạy KingBench: bốn việc thật cho một model local

Trước khi bắt đầu, AICodeKing (video đăng ngày 22/10/2026) nói rõ một điều: anh sẽ không cho Flint chạy KingBench. KingBench được làm cho các frontier model lớn, còn Flint là một model nhỏ chạy trên laptop. Nếu đặt nó cạnh những model kia, nó sẽ thua, và kết quả đó chẳng cho bạn biết điều gì hữu ích. Như vậy là không công bằng.

Thay vào đó, anh giao cho nó đúng loại việc mà người ta thật sự giao cho một model local, và tự tay kiểm tra từng kết quả.

![Slide bốn thẻ: landing page in Pi, bug fix in Pi, link shortener API in OpenCode, Breakout game in OpenCode; dòng every result checked by hand](https://homus.dev/photos/oJ0gSua-fE0-0143.jpg)

Bốn bài test của video: landing page và bug fix chạy trong Pi, API rút gọn link và game Breakout chạy trong OpenCode; mọi kết quả đều được kiểm bằng tay.

Anh cũng chạy toàn bộ trong **PandaCode**. Với ai chưa biết, PandaCode là desktop app cho coding agent do chính anh làm; theo AICodeKing, tính đến video đăng ngày 22/10/2026, app miễn phí, mã nguồn mở, và Pi lẫn OpenCode đều đã được hỗ trợ đầy đủ trong đó. Đó lại đúng là hai harness mà Recursive khuyên dùng cho Flint, nên anh thấy thời điểm này "khá đẹp". Anh sẽ chỉ luôn cách thiết lập.

## 5. Cài đặt: cách dễ là rec, nhưng rec từ chối chiếc M4 Max

Phần đầu tiên là setup. Máy của AICodeKing là một chiếc Mac M4 Max với 48 GB bộ nhớ. Theo Recursive (video đăng ngày 22/10/2026), bạn cần ít nhất 48 GB, nên anh nằm đúng ở mức tối thiểu.

Theo AICodeKing (video đăng ngày 22/10/2026), cách dễ là dùng rec. Bạn cài nó bằng một lệnh curl, rồi chạy `rec launch pi`. Lệnh đó tải model, khởi động server và mở Pi cho bạn.

![Slide the easy way: rec, với hai lệnh curl cài đặt và rec launch pi, kèm nhãn downloads the model và starts the server](https://homus.dev/photos/oJ0gSua-fE0-0223.jpg)

Slide "the easy way": một lệnh curl để cài rec (đường dẫn được rút gọn trên slide), rồi `rec launch pi` để tải model và khởi động server.

Trong terminal của anh, lệnh cài chạy với đường dẫn đầy đủ, giống lệnh trong README của repo rec (đọc ngày 22/10/2026):

```
curl -fsSL https://raw.githubusercontent.com/recursive-oss/rec/main/install.sh | bash
rec launch pi
```

Nhưng đến đây có một chuyện buồn cười. Khi anh chạy, rec báo máy Mac của anh không đạt yêu cầu; trên màn hình, rec ghi "Flint requires an Apple M4 Pro, M5 Pro or M5 Max; detected Apple M4 Max". Tính đến video đăng ngày 22/10/2026, rec chỉ hỗ trợ M4 Pro, M5 Pro và M5 Max. Vậy là M4 Max bị loại, dù nó là con chip nhanh hơn. Theo AICodeKing, lý do là rec dùng các kernel tuỳ chỉnh mà Recursive tinh chỉnh riêng cho từng chip. Anh mong họ sớm thêm các chip khác, vì phần lớn tốc độ nằm ở rec: theo Recursive (video đăng ngày 22/10/2026), rec nhanh hơn llama.cpp từ 1,4 đến 2,6 lần.

## 6. Chạy bằng llama.cpp: build từ pull request, tải GGUF 26 GB, start server

Vì vậy anh dùng llama.cpp. Lúc anh test, hỗ trợ Flint trong llama.cpp vẫn còn là một pull request đang mở, nên anh tự build llama.cpp từ branch đó. Anh nói nếu bạn xem video này muộn hơn một chút thì có lẽ PR đã được merge, và chỉ cần cập nhật bình thường là được. Trên màn hình, một nhãn ghi PR #30928 "open when I tested (Oct 21) · merged since", và trang PR trên GitHub hiện trạng thái Merged (video đăng ngày 22/10/2026).

Sau đó anh tải file GGUF INT4 từ Hugging Face (video đăng ngày 22/10/2026). Repo là `RecursiveSI/flint-int4-gguf`, và file nặng khoảng 26 GB. Repo này còn có hai file config nhỏ, một cho Pi và một cho OpenCode, điều anh thấy rất tiện.

Để khởi động server, bạn chạy `llama-server` với file model, cờ `--jinja` (cho chat template), và các thông số sampling mà Recursive khuyên dùng (theo video đăng ngày 22/10/2026): temperature 1, top-p 0.95 và top-k 20. Đây là lệnh trên slide của anh:

```
llama-server
-m flint-int4-gguf/flint-int4-q4_1.gguf
--jinja
--temp 1 --top-p 0.95 --top-k 20
```

![Slide start the server: lệnh llama-server với -m flint-int4-gguf/flint-int4-q4_1.gguf, --jinja (chat template), --temp 1 --top-p 0.95 --top-k 20; dòng what Recursive recommends](https://homus.dev/photos/oJ0gSua-fE0-0330.jpg)

Slide "start the server": file model, cờ `--jinja` để dùng chat template, và bộ sampling Recursive khuyên dùng.

Anh nói lệnh đầy đủ nằm trong model card. Model card của bản GGUF (đọc ngày 22/10/2026) ghi lệnh tải và lệnh server đầy đủ như sau:

```
hf download RecursiveSI/flint-int4-gguf flint-int4-q4_1.gguf pi-models.json opencode.json \
--local-dir flint-int4-gguf

llama-server -m flint-int4-gguf/flint-int4-q4_1.gguf \
--alias flint -ngl all -c 262144 -np 1 --cache-ram 0 \
-b 256 -ub 128 -t 8 -fa on -ctk f16 -ctv f16 --jinja \
--temp 1 --top-p 0.95 --top-k 20 --min-p 0 \
--host 127.0.0.1 --port 8080
```

## 7. Tốc độ: nhanh ở prompt ngắn, chậm dần khi context dài

Rồi tới tốc độ, vì đó là điểm chính của model này. Theo số đo của AICodeKing bằng llama-bench trên chiếc M4 Max (video đăng ngày 22/10/2026), Flint ra khoảng 110 token output mỗi giây với prompt ngắn, và đọc prompt cũng rất nhanh. Anh nhận xét con số đó thật sự nhanh với một model cỡ này. Trên màn hình, bản tóm tắt trong PandaCode ghi tốc độ đọc prompt ngắn khoảng 1.314 token/giây.

Nhưng tốc độ giảm khi context dài ra. Cũng theo số đo của anh (video đăng ngày 22/10/2026): ở 8.000 token context, Flint chạy khoảng 52 token/giây; ở 32.000 token, khoảng 32 token/giây.

Chuyện này rất quan trọng với agent, vì coding agent gửi đi những prompt rất lớn. Trong các lần chạy của anh (video đăng ngày 22/10/2026), prompt đầu tiên từ Pi khoảng 17.000 token, và prompt đầu tiên từ OpenCode khoảng 26.000 token. Nghĩa là bạn bắt đầu ngay trong vùng context dài. Trong các lần chạy agent thật, anh chủ yếu thấy từ 40 đến 60 token/giây. Ở một lần chạy dài, context lên tới khoảng 115.000 token, và tốc độ tụt xuống còn khoảng 9 token/giây.

Tốc độ output của Flint trên llama.cpp theo số đo của AICodeKing trên M4 Max (video đăng ngày 22/10/2026): ba dòng đầu từ llama-bench, hai dòng cuối từ các lần chạy agent thật.

Kết luận của anh: nó nhanh, nhưng hãy giữ task ngắn và tập trung. Anh cũng dặn nên xem các con số này với một chút dè dặt. Đây là llama.cpp với một pull request mà chính tác giả nói vẫn còn chậm hơn từ 10 đến 30% (theo tác giả PR, video đăng ngày 22/10/2026), và đây không phải rec.

## 8. Đưa Flint vào PandaCode qua Pi và OpenCode

Giờ tới phần thiết lập trong PandaCode, theo cách AICodeKing làm trong video đăng ngày 22/10/2026. Với Pi: chép file config Pi từ repo Hugging Face vào thư mục của Pi, đặt tên là `models.json`. Đó là thư mục `.pi/agent` trong home folder của bạn. Với OpenCode: thêm khối provider Flint từ file config OpenCode của repo vào config OpenCode của bạn.

Sau đó mở PandaCode. Bấm vào model picker, và Flint đã có sẵn ở đó, cả dưới Pi lẫn dưới OpenCode. Theo AICodeKing (video đăng ngày 22/10/2026), bạn không cần chỉnh thêm gì trong PandaCode, vì app đọc model thẳng từ Pi và OpenCode.

![Model picker trong PandaCode: nhóm Pi có Flint (local) 262.1K context flint-local/flint, nhóm OpenCode có Flint, cùng các nhóm Claude Code và Codex](https://homus.dev/photos/oJ0gSua-fE0-0503.jpg)

Model picker của PandaCode trong video (video đăng ngày 22/10/2026): Flint xuất hiện dưới Pi ("Flint (local)", 262.1K context, `flint-local/flint`) và dưới OpenCode, bên cạnh các harness khác như Claude Code và Codex.

Theo AICodeKing (video đăng ngày 22/10/2026), từ đó bạn có mọi thứ như với bất kỳ agent nào khác: khung chat, các diff, các permission mode và task board. Với Pi, bạn còn có thể bấm Command+Enter để lái (steer) agent trong lúc nó đang làm việc.

## 9. Agent teams và mẹo một slot

Cho các bài test trong video đăng ngày 22/10/2026, AICodeKing dùng tính năng agent teams của PandaCode. Anh có một lead gửi từng bài test cho một worker, và các worker chạy trên Pi hoặc OpenCode với Flint. Tất cả các lần chạy hiện ở sidebar.

![PandaCode: sidebar project MyVault với nhiều task Pi và OpenCode chạy Flint; khung chính là báo cáo của lead về llama.cpp, tốc độ llama-bench và bốn worker đã Completed](https://homus.dev/photos/oJ0gSua-fE0-0520.jpg)

Lead trong PandaCode tóm tắt phần chuẩn bị (build llama.cpp từ PR, kiểm SHA256 của file GGUF 26 GB, số đo llama-bench, thêm Flint vào picker của Pi và OpenCode) rồi spawn bốn worker: landing page, bug fix, backend API và canvas game, cả bốn đều Completed (video đăng ngày 22/10/2026).

Một mẹo của anh (video đăng ngày 22/10/2026): ở đây llama.cpp chạy với một slot, nên anh cho các worker chạy lần lượt, không chạy cùng lúc.

## 10. OpenCode bỏ cuộc sau năm phút, và cách sửa

Có một điều quan trọng nếu bạn dùng OpenCode. Theo AICodeKing (video đăng ngày 22/10/2026), OpenCode ngừng chờ một model sau năm phút không có phản hồi. Với một model local, việc đọc một prompt 26.000 token có thể mất ngần ấy thời gian, vì server không gửi gì cả cho tới khi đọc xong toàn bộ prompt. Thế là OpenCode bỏ cuộc rồi thử lại, hết lần này tới lần khác, và chẳng có gì xảy ra.

Cách sửa đơn giản: trong phần options của provider Flint trong config OpenCode, đặt `headerTimeout` và `timeout` thành `false`. Theo AICodeKing (video đăng ngày 22/10/2026), sau đó mọi thứ chạy ổn. Trên màn hình, anh in phần options của provider `flint-local` trong `~/.config/opencode/opencode.json` ra như sau:

```
{
"baseURL": "http://127.0.0.1:8080/v1",
"apiKey": "local",
"headerTimeout": false,
"chunkTimeout": 1800000,
"timeout": false
}
```

![Terminal chạy jq đọc options của provider flint-local trong config OpenCode, các dòng apiKey, headerTimeout false và timeout false được khoanh](https://homus.dev/photos/oJ0gSua-fE0-0603.jpg)

Kết quả lệnh `jq` đọc options của provider `flint-local`: hai dòng `headerTimeout` và `timeout` đặt thành `false` được khoanh lại, cùng `baseURL` trỏ về llama-server ở cổng 8080.

## 11. Test 1: landing page Ember Notes trong Pi

Giờ tới các bài test. Bài đầu là frontend, chạy trong Pi. AICodeKing yêu cầu một landing page cho một notes app bịa ra, tên là Ember Notes. Trang phải có: một nav bar dính (sticky), một hero, sáu thẻ feature có icon, phần pricing với công tắc tháng/năm, một FAQ, một công tắc dark mode nhớ lựa chọn của bạn, và một footer. Tất cả trong một file HTML, không dùng thư viện nào.

Theo đánh giá của AICodeKing (video đăng ngày 22/10/2026), kết quả trông đẹp: thiết kế gọn gàng, màu sắc hợp nhau, typography đẹp. Công tắc yearly giảm 20% giá như yêu cầu. Công tắc dark mode hoạt động, và trang vẫn tối khi bạn tải lại. FAQ mở ra đóng vào được, và trang hiển thị ổn trên màn hình cỡ điện thoại.

Nhưng theo AICodeKing (video đăng ngày 22/10/2026), có một bug rõ ràng trong các thẻ pricing: icon dấu tích không được đặt kích thước, nên chúng hiện ra to khổng lồ và làm vỡ cả phần pricing. Đây là lỗi dễ sửa, nhưng bạn sẽ thấy ngay lập tức.

![Phần pricing của Ember Notes ở dark mode với ba gói Free 0 đô, Pro 4 đô, Team 8 đô, mỗi thẻ có một dấu tích màu cam khổng lồ đè lên nội dung](https://homus.dev/photos/oJ0gSua-fE0-0633.jpg)

Phần pricing của trang Ember Notes ở dark mode, công tắc Yearly "Save 20%" đang bật: ba dấu tích không có kích thước phình to, đẩy danh sách tính năng của từng gói ra ngoài thẻ (video đăng ngày 22/10/2026).

Bài này cũng mất nhiều thời gian: theo số đo của AICodeKing (video đăng ngày 22/10/2026), khoảng một tiếng. Pi cứ thêm vào context, và trong một lượt Flint viết khoảng 35.000 token, nên context trở nên rất dài, và như anh đã nói, tốc độ giảm mạnh ở mức đó. Trên slide tổng kết bài này (cùng video), context đi từ 17,4K lên 114,6K token, còn tốc độ từ 23,7 xuống 9 token/giây.

## 12. Test 2: sửa sáu bug trong một thư viện giỏ hàng

Bài thứ hai là sửa bug, cũng trong Pi. AICodeKing làm một thư viện giỏ hàng nhỏ, cài sẵn sáu bug, kèm một bộ test. Sáu trên bảy test đang fail. Anh bảo Flint sửa source code mà không được động vào các file test.

Theo kết quả AICodeKing tự kiểm (video đăng ngày 22/10/2026), nó làm rất tốt và tìm ra đủ sáu bug:

- Sửa lỗi làm tròn số thực khi đổi giá sang cent.

- Sửa lỗi thiếu số 0 đệm khi định dạng số cent.

- Gộp các món có cùng mã sản phẩm, thay vì thêm chúng hai lần.

- Tìm ra mức trần giảm giá 50% đã được khai báo trong code nhưng chưa bao giờ được dùng, và áp dụng nó.

- Sửa quy tắc miễn phí vận chuyển để đơn đúng 50 đô cũng được tính.

- Tính thuế trên giá đã giảm.

![Slide bug 6 of 6: tax on the discounted price, 200 đô với 10% giảm giá, 1600 thành 1440, kèm diff hàm tax trong src/cart.js](https://homus.dev/photos/oJ0gSua-fE0-0743.jpg)

Bug thứ sáu: với đơn 200 đô giảm 10%, thuế phải tính trên phần đã giảm (trên slide: 1600 thành 1440). Diff trong `src/cart.js` đổi hàm `tax` từ `subtotal(cart) * TAX_RATE` sang `(subtotal(cart) - discount(cart)) * TAX_RATE`.

Cả bảy test giờ đều pass, và nó không đụng vào file test nào. Theo số đo của AICodeKing (video đăng ngày 22/10/2026), bài này mất khoảng bảy phút rưỡi; một slide trong video ghi 7,2 phút cho toàn bộ lần sửa. Anh nói đây đúng là kiểu task mà một model local nhỏ rất hợp lý.

## 13. Test 3: API rút gọn link trong OpenCode

Bài thứ ba là backend, chạy trong OpenCode. AICodeKing yêu cầu một API rút gọn link viết bằng Node, không có dependency nào. Nó cần các endpoint create, redirect, stats và delete; kiểm tra URL hợp lệ; kiểm tra slug trùng; lưu ra file JSON một cách an toàn; một rate limit; và test.

Flint viết server cùng 14 test, và theo kết quả anh chạy (video đăng ngày 22/10/2026), cả 14 đều pass. Anh không dừng ở đó mà còn tự start server và thử bằng tay. Một slug trùng trả về 409. Một link FTP hoặc JSON hỏng trả về 400. Redirect hoạt động và đếm được lượt click. Sau khi delete, link biến mất; báo cáo trên màn hình ghi DELETE trả về 204. Rate limit bật lên đúng ở request thứ 31 trong một phút.

![PandaCode: báo cáo cuối của worker OpenCode về link shortener REST API, Worked for 9m 15s, nhãn the run that worked: 14/14, dòng npm test: PASS (14/14)](https://homus.dev/photos/oJ0gSua-fE0-0847.jpg)

Báo cáo cuối của lần chạy thành công: Node 22 REST API không dependency, các route `POST /links`, `GET /:slug`, `GET /links/:slug/stats`, `DELETE /links/:slug`, rate limit 30 request/phút mỗi IP (429), và `npm test: PASS (14/14)` sau 9 phút 15 giây (video đăng ngày 22/10/2026).

Nó còn ghi file JSON ra một file tạm trước rồi mới đổi tên, để file dữ liệu không bị hỏng. Theo AICodeKing (video đăng ngày 22/10/2026), đây chắc chắn là một kết quả chắc tay, và theo số đo của anh nó mất khoảng chín phút.

## 14. Bài học về scope: đừng để Flint lục cả thư mục notes

Có một điều anh để ý trong OpenCode (video đăng ngày 22/10/2026). Ở lần thử đầu, Flint bắt đầu tìm khắp thư mục notes của anh để xem ví dụ về URL shortener trước khi viết bất kỳ dòng code nào. Trên màn hình, lần thử trước đó (run 3) cho thấy nó chạy `grep -ril "shortener"` trên cả thư mục vault notes. Thư mục notes của anh rất lớn, nên context đầy rất nhanh.

Khi anh bảo nó chỉ làm việc trong thư mục của riêng nó và bắt đầu viết ngay, nó xong trong chín phút (theo số đo của AICodeKing, video đăng ngày 22/10/2026). Vậy nên với một model local nhỏ, anh khuyên hãy giữ scope thật hẹp.

Hai lần chạy bài API rút gọn link mà AICodeKing kể (video đăng ngày 22/10/2026): giới hạn scope là thứ làm nên khác biệt.

## 15. Test 4: game Breakout phong cách neon

Bài thứ tư là một game, chạy trong OpenCode. AICodeKing yêu cầu game Breakout trong một file HTML, điều khiển bằng chuột và phím mũi tên, góc nảy phụ thuộc vào chỗ bóng chạm thanh đỡ, có điểm và số mạng, một màn thứ hai, các màn hình pause, bắt đầu và game over, và một high score.

![Màn hình bắt đầu của game NEON BREAKOUT với dòng DARK // NEON ARENA, HIGH SCORE: 0, nút START, hướng dẫn di chuyển bằng chuột hoặc phím mũi tên và P để pause](https://homus.dev/photos/oJ0gSua-fE0-0924.jpg)

Màn hình bắt đầu của game Flint viết: tiêu đề "NEON BREAKOUT" phát sáng, high score, nút START, và hướng dẫn điều khiển bằng chuột hoặc phím trái/phải, P để pause.

Theo đánh giá của AICodeKing (video đăng ngày 22/10/2026), game trông rất đẹp, theo phong cách neon với hiệu ứng phát sáng trên mọi thứ. Màn hình bắt đầu hoạt động, bóng và thanh đỡ hoạt động, gạch vỡ, điểm tăng lên, và bạn mất mạng khi để rơi bóng. Phím P tạm dừng game. Màn 2 dùng một lưới gạch hơi khác, và bóng nhanh hơn rất nhiều. High score được lưu khi game kết thúc.

Anh nhận xét bố cục màn 2 lẽ ra có thể khác biệt hơn, nhưng nhìn chung game chạy tốt. Theo số đo của anh (video đăng ngày 22/10/2026), bài này mất khoảng 13 phút.

## 16. Kết luận: Flint hợp với việc gì

Vậy anh nghĩ gì? Theo AICodeKing (video đăng ngày 22/10/2026), với một model chạy trên laptop, Flint khá tốt. Bài sửa bug và API backend đều đúng, và anh đã tự kiểm tra. Phần frontend trông đẹp, nhưng bạn sẽ phải sửa vài thứ nhỏ như mấy dấu tích kia. Và chạy nó không tốn của bạn đồng nào, điều anh gọi là "just amazing".

Tốc độ là điểm chính, và theo anh nó hơi lẫn lộn (theo số đo của AICodeKing, video đăng ngày 22/10/2026): với task ngắn thì rất nhanh, còn với các lần chạy agent dài thì tốc độ giảm mạnh, ít nhất là trên llama.cpp tại thời điểm video. Slide tổng kết ghi 110 token/giây cho task ngắn và 31 token/giây cho các lần chạy agent dài.

Lời khuyên chọn engine của AICodeKing trong video đăng ngày 22/10/2026, theo danh sách chip rec hỗ trợ tại thời điểm đó.

Theo AICodeKing (video đăng ngày 22/10/2026), nếu bạn có M4 Pro, M5 Pro hoặc M5 Max, hãy dùng rec, vì Recursive build Flint cho nó. Nếu không, llama.cpp vẫn chạy được, nhưng hãy giữ task ngắn.

Theo AICodeKing (video đăng ngày 22/10/2026), Flint sẽ không thay thế được một frontier model cho các task lớn. Nhưng với code riêng tư, làm việc offline, hoặc đơn giản là không phải trả tiền cho từng token, đây là một lựa chọn rất tốt. Cá nhân anh sẽ dùng nó cho các task tập trung như sửa bug, feature nhỏ và viết test. Và nếu bạn muốn dùng nó với một giao diện đẹp, nó chạy với Pi và OpenCode trong PandaCode: bạn thêm config một lần, và Flint hiện ra trong model picker.

Nhìn chung, anh thấy nó khá hay. Anh mời người xem chia sẻ suy nghĩ ở phần bình luận, rồi chào tạm biệt và hẹn gặp lại ở video sau.

## Nguồn và liên kết

- Tên gốc: Recursive Flint: This OPEN Local Coding Model is CRAZY! (Tested with Pi, OpenCode & PandaCode)
- Sự kiện: [YouTube](https://homus.dev/events/youtube)
- Video gốc: [https://www.youtube.com/watch?v=oJ0gSua-fE0](https://www.youtube.com/watch?v=oJ0gSua-fE0)

- Kênh YouTube AICodeKing (AICodeKing): [youtube.com/channel/UC0m81bQuthaQZmFbXEY9QSw](https://www.youtube.com/channel/UC0m81bQuthaQZmFbXEY9QSw)

- Bài giới thiệu Flint của Recursive (kích thước model, các tuyên bố benchmark và tốc độ, Eureka Machine; đọc ngày 22/10/2026): [recursive.com/updates/introducing-recursive-flint](https://recursive.com/updates/introducing-recursive-flint)

- Model card Flint trên Hugging Face: [huggingface.co/RecursiveSI/flint](https://huggingface.co/RecursiveSI/flint)

- Bản Flint INT4 GGUF (file Q4_1 26 GB, lệnh llama-server, config cho Pi và OpenCode; đọc ngày 22/10/2026): [huggingface.co/RecursiveSI/flint-int4-gguf](https://huggingface.co/RecursiveSI/flint-int4-gguf)

- Repo rec, inference engine của Recursive (yêu cầu chip M4 Pro, M5 Pro hoặc M5 Max và ít nhất 48 GB; tuyên bố 1,4 đến 2,6 lần throughput so với llama.cpp trên M4 Pro; đọc ngày 22/10/2026): [github.com/recursive-oss/rec](https://github.com/recursive-oss/rec)

- Pull request thêm Flint vào llama.cpp (#30928, trạng thái Merged khi đọc ngày 22/10/2026): [github.com/ggml-org/llama.cpp/pull/30928](https://github.com/ggml-org/llama.cpp/pull/30928)

- Pi coding agent: [pi.dev](https://pi.dev/)

- OpenCode: [opencode.ai](https://opencode.ai)

- Repo PandaCode trên GitHub: [github.com/aicodeking/pandacode](https://github.com/aicodeking/pandacode)

Nguồn: https://homus.dev/talks/recursive-flint-this-open-local-coding-model-is-crazy-tested-with-pi-opencode-pandacode · cập nhật 2026-10-22
