Ornith-1.0 - Mô hình mã nguồn mở tự cải thiện cho lập trình tác tử
(github.com/deepreinforce-ai)- Ornith-1.0 là mô hình mã nguồn mở tự cải thiện dành cho lập trình tác tử, cung cấp các cấu hình 9B Dense, 31B Dense, 35B MoE, 397B MoE và được hậu huấn luyện trên Gemma 4 và Qwen 3.5
- Framework huấn luyện sử dụng học tăng cường, không chỉ tạo solution rollout mà còn học tạo scaffold dẫn dắt rollout, từ đó tối ưu đồng thời cả scaffold và lời giải đầu ra
- Theo README, Ornith-1.0 đạt hiệu năng hàng đầu so với các mô hình mã nguồn mở cùng cỡ trên các benchmark lập trình như Terminal-Bench 2.1, SWE-Bench, NL2Repo, OpenClaw
- Tất cả checkpoint đều cung cấp giao diện tương thích OpenAI và hỗ trợ cửa sổ ngữ cảnh 256K token, có thể chạy bằng vLLM, SGLang, Hugging Face Transformers, llama.cpp, Ollama...
- Phát hành theo giấy phép MIT, có thể truy cập toàn cầu không giới hạn khu vực, đồng thời có thể tách khối suy luận và lệnh gọi công cụ qua reasoning_content và tool_calls để kết nối với framework tác tử và coding CLI
Tổng quan mô hình và cách huấn luyện
- Ornith-1.0 là họ mô hình mã nguồn mở tự cải thiện cho lập trình tác tử
- Các kích cỡ được cung cấp gồm 9B Dense, 31B Dense, 35B MoE, 397B MoE, và được hậu huấn luyện trên Gemma 4 và Qwen 3.5
- Framework huấn luyện tự cải thiện sử dụng học tăng cường
- Mô hình được huấn luyện để không chỉ tạo solution rollout mà còn tạo cả scaffold dẫn dắt rollout
- Scaffold và lời giải kết quả được tối ưu cùng nhau để tìm ra quỹ đạo tìm kiếm tốt hơn và lời giải chất lượng cao hơn
- Giấy phép là MIT, có thể truy cập trên toàn thế giới và không có giới hạn khu vực
Kết quả benchmark
- Mỗi mô hình được so sánh với các mô hình chuẩn tương ứng về kích cỡ, và ba mô hình dùng cùng một harness và thiết lập decoding
-
Ornith-1.0-9B
- Trên Terminal-Bench 2.1 đạt 43.1 theo chuẩn Terminus-2 và 40.6 theo chuẩn Claude Code
- Đạt SWE-bench Verified 69.4, SWE-bench Pro 42.9, SWE-bench Multilingual 52
- Đạt NL2Repo 27.2, Claw-eval Avg 63.1
- SWE Atlas đạt QnA 17.9, RF 16.6, TW 15.3
-
Ornith-1.0-35B
- Trên Terminal-Bench 2.1 đạt 64.2 theo chuẩn Terminus-2 và 62.8 theo chuẩn Claude Code
- Đạt SWE-bench Verified 75.6, SWE-bench Pro 50.4, SWE-bench Multilingual 69.3
- Đạt NL2Repo 34.6, Claw-eval Avg 69.8
- SWE Atlas đạt QnA 37.1, RF 29.7, TW 27.8
-
Ornith-1.0-397B
- Trên Terminal-Bench 2.1 đạt 77.5 theo chuẩn Terminus-2 và 78.2 theo chuẩn Claude Code
- Đạt SWE-bench Verified 82.4, SWE-bench Pro 62.2, SWE-bench Multilingual 78.9
- Đạt NL2Repo 48.2, Claw-eval Avg 77.1
- SWE Atlas đạt QnA 41.2, RF 42.6, TW 39.1
Thiết lập đánh giá
- Đánh giá Terminal-Bench 2.1 Terminus-2 sử dụng framework Harbor/Terminus-2, parser=json, temperature=1.0, top_p=1.0, cửa sổ ngữ cảnh 128K
- Mỗi lần chạy dùng timeout 4 giờ, 32 lõi CPU, 48GB RAM và là trung bình của 5 lần chạy
- Qwen chat template được điều chỉnh để đảm bảo tính nhất quán giữa huấn luyện và suy luận, Harbor cũng được sửa để khớp với khóa reasoning_content của vLLM
- Đánh giá Terminal-Bench 2.1 Claude Code dùng Claude Code 2.1.126, parser=json, temperature=1.0, top_p=1.0, max_new_tokens=131072 và lấy trung bình 5 lần chạy
- SWE-bench Verified / Pro / Multilingual dùng OpenHands harness, temperature=1.0, top_p=0.95, cửa sổ ngữ cảnh 256K
- SWE Atlas QnA / RF / TW dùng mini-SWE-agent harness, temperature=1.0, top_p=0.95, cửa sổ ngữ cảnh 128K và lấy trung bình 5 lần chạy
- NL2Repo dùng temperature=1.0, top_p=1.0, ngữ cảnh 400K, đầu ra 48K, cùng anti-hacking filters
- ClawEval là benchmark mã tác tử dựa trên phân phối tác vụ người dùng thực, dùng temperature=0.6 và ngữ cảnh 256K
Chạy mô hình và checkpoint
- Ornith-1.0 là reasoning model, mặc định assistant turn bắt đầu bằng khối
<think> … </think>rồi mới trả về câu trả lời cuối cùng - Công thức phục vụ bật reasoning parser để trả chain-of-thought trong trường
reasoning_contentriêng, đồng thời bật tool-call parser để đưa khối<tool_call>ra dưới dạngtool_callskiểu OpenAI - Các phiên bản runtime cần thiết như sau
- Transformers ≥ 5.8.1
- vLLM ≥ 0.19.1
- SGLang ≥ 0.5.9
- Tham số lấy mẫu được khuyến nghị là
temperature=0.6,top_p=0.95,top_k=20- Để tái hiện thiết lập benchmark đã công bố, dùng
temperature=1.0
- Để tái hiện thiết lập benchmark đã công bố, dùng
- Tất cả checkpoint đều cung cấp cùng một giao diện tương thích OpenAI và hỗ trợ cửa sổ ngữ cảnh 256K, tức 262,144 token
- Dense 9B phù hợp với một GPU 80GB đơn
- Các checkpoint MoE được shard trên node nhiều GPU bằng tensor parallelism
- Các checkpoint được cung cấp
- Ornith-1.0-9B: Dense khoảng 9B, bf16, dành cho phục vụ và fine-tuning trên một GPU
- Ornith-1.0-9B-GGUF: Dense khoảng 9B, lượng tử hóa GGUF, dành cho suy luận cục bộ bằng llama.cpp / Ollama
- Ornith-1.0-35B: MoE 35B, bf16, dành cho phục vụ full-precision trên nhiều GPU
- Ornith-1.0-35B-FP8: MoE 35B, FP8, dành cho phục vụ trên GPU hỗ trợ FP8 để giảm gần một nửa VRAM
- Ornith-1.0-35B-GGUF: MoE 35B, lượng tử hóa GGUF, dành cho suy luận cục bộ bằng llama.cpp / Ollama
- Ornith-1.0-397B: MoE 397B, bf16, dành cho phục vụ full-precision trên node nhiều GPU
- Ornith-1.0-397B-FP8: MoE 397B, FP8, dành cho phục vụ tiết kiệm bộ nhớ trên GPU hỗ trợ FP8
API tương thích OpenAI và cách dùng cho tác tử
- Khi máy chủ vLLM hoặc SGLang chạy, có thể gọi endpoint
/v1/chat/completionsbằng client tương thích OpenAI - Ví dụ máy chủ cục bộ dùng
base_url="http://localhost:8000/v1",api_key="EMPTY",model="Ornith-1.0" - Trong thông điệp phản hồi, reasoning_content chứa trace suy luận
<think>, còncontentchứa câu trả lời cuối cùng - Khi truyền công cụ vào, Ornith-1.0 sẽ tạo function call đúng định dạng, và máy chủ sẽ parse chúng thành trường tool_calls tiêu chuẩn
- SDK tương thích OpenAI có thể dùng cùng endpoint này từ Python, Node.js,
curl, v.v.
Framework được hỗ trợ và coding CLI
- Ornith-1.0 được tối ưu cho gọi công cụ và khả năng lập trình tác tử
- Vì cung cấp endpoint tương thích OpenAI và tool calling, nó có thể dùng cùng các framework tác tử tiêu chuẩn
- README có ví dụ kết nối công cụ qua máy chủ MCP và ví dụ gọi công cụ hàm
run_shell - Các agent harness và runtime được nêu làm ví dụ gồm
- Hermes Agent: cấu hình
OPENAI_BASE_URL,OPENAI_API_KEY,MODEL="Ornith-1.0" - OpenHands: dùng đường dẫn
openai/Ornith-1.0của LiteLLM và base URL cục bộ - llama.cpp / Ollama: nạp các bản dựng GGUF 9B và 35B để suy luận cục bộ
- Unsloth Studio: dùng
FastLanguageModel.from_pretrainedđể suy luận cục bộ hoặc fine-tuning - OpenClaw: trỏ endpoint tương thích OpenAI tới máy chủ Ornith
- Hermes Agent: cấu hình
- Có thể kết nối coding CLI bằng cách trỏ
OPENAI_BASE_URLvàOPENAI_API_KEYtới endpoint Ornith-1.0 - Ví dụ OpenCode đăng ký provider Ornith cục bộ trong
~/.config/opencode/opencode.jsonvà dùng mô hìnhOrnith-1.0
1 bình luận
Ý kiến trên Hacker News
Thảo luận trước đó: https://news.ycombinator.com/item?id=48709744
https://swelljoe.com/post/will-it-mythos/: “Hiệu năng khá kém, chỉ tìm được đúng một lỗi mà gần như mọi mô hình khác đều tìm ra. Dù hiệu năng ở các benchmark khác rất ấn tượng so với kích thước, kết quả ở đây vẫn vậy. […] Ngay cả khi chat không có công cụ thì nó cũng hoạt động tệ và còn khá tích cực tạo ảo giác. Hiện tôi đang tái hiện với quyền truy cập đầy đủ vào công cụ, bao gồm bash/Python; trong trường hợp đó thì mô hình này có thể vẫn cạnh tranh được”
Đây là bản fine-tune Qwen đầu tiên không bị cộng đồng LLM cục bộ bác bỏ ngay lập tức, thậm chí trong vài trường hợp còn được khuyến nghị. Theo trải nghiệm dùng hạn chế của tôi thì nó ổn, và đưa ra các lời giải sáng tạo cho bài toán lập trình. Tôi không kỳ vọng mô hình 9~35B có thể tạo ra cả một ứng dụng chỉ bằng một cú nhấp chuột. Có vẻ phần lớn lời phàn nàn xuất phát từ chính kỳ vọng đó
Phần lớn các mô hình như Qwen, Gemma, Llama, gpt-oss hiện giờ thật sự rất phiền vì phải mò các bẫy lặt vặt như token đặc biệt, cấu trúc prompt hay sở thích của mô hình. Nhưng đổi lại, trong một môi trường thực thi tác tử được tinh chỉnh bằng prompt và tham số mà bạn khó nhọc mới học được, bạn có thể có một mô hình chạy cực kỳ tốt
Vì sao những mô hình “tự cải thiện” này rốt cuộc lại không cải thiện đến mức vượt qua cả các mô hình tiên tiến nhất?
Theo thử nghiệm trực tiếp của tôi, Ornith-1.0 35B nhỉnh hơn một chút so với Qwen-3.6 35B
Bài test của tôi là các tác vụ thêm hoặc sửa tính năng trong một codebase C++ lớn. Điều thú vị là mô hình này nhanh hơn Qwen3.6 35B rất nhiều. Có vẻ Ornith tạo ra chuỗi suy nghĩ ngắn hơn
Trong bài test của tôi, tốc độ tạo câu trả lời nhanh hơn tới 3 lần. Tôi đang dùng với llamacpp và codex-cli
Tôi đã test Ornith-1.0 35B bằng lượng tử hóa khối FP8 do tự mình tạo ra và khá thích nó. Trên RTX PRO 6000(sm120) với vLLM, nó đạt hơn 200 token/giây, và trong vài ngày qua tôi đã chạy hơn 140 triệu token được cache cho các tác vụ coding kiểu tác tử
Nó có vẻ đâu đó nằm giữa Qwen 3.6 35B-A3B và 27B, nhưng điểm hay là nó ít suy nghĩ quá mức hoặc rơi vào cùng một vòng lặp hơn hẳn Qwen 3.6. Nhìn vào trace suy nghĩ, tôi thích mẫu tiếp cận phân rã của nó
Trên một codebase Go cỡ vừa, nó xử lý tốt phân tích cơ bản, thực thi tác vụ và một số thay đổi frontend/backend, nhưng với các tác vụ triển khai kernel đơn giản mà dài hơn thì hoàn toàn chạm trần. Tôi đã lặp khoảng 100 lần trong môi trường thực thi Pi Agent mà vẫn thất bại; đây là kiểu tác vụ mà các mô hình công khai mạnh hơn như Kimi K2.6 hay GLM 5.2 có thể làm được
Có ai giải thích được ở đây đã xảy ra chuyện gì không? Họ chỉ thay vỏ ngoài cho Qwen thôi à? deepreinforce-ai là ai, và tại sao mô hình này lại không có trên website của họ?
Tôi cũng tò mò “tự cải thiện” ở đây nghĩa là gì. Mô hình trên đĩa có thay đổi không, hay nó chỉ trở nên tốt hơn trong phạm vi một lần chạy ngữ cảnh đơn lẻ?
Theo tôi hiểu thì có vẻ họ đã huấn luyện bằng reinforcement learning riêng của họ trên nền Qwen và Gemma 4. Tôi không rõ họ kết hợp trọng số của hai bên như thế nào, cũng không chắc là họ lấy Qwen làm nền và dùng Gemma 4 để hỗ trợ huấn luyện hay không. Ở đây, “tự cải thiện” có vẻ đang nói đến quy trình huấn luyện, chứ không phải cách các trọng số được dùng
Mấy cái này trông như chỉ là phiên bản tối ưu benchmark của Qwen hoặc Gemma 4
“Bản dense 9B vừa trong một GPU 80GB đơn lẻ”
Người bình thường như chúng ta chắc không dùng nổi
Tôi đã dùng khá nhiều mô hình cục bộ và thấy tất cả đều giống đồ chơi. Nhưng cái này thực sự cho cảm giác hữu ích. Tôi cũng nghe nói Qwen 36-A3B rất tốt, nhưng vẫn chưa thử
Hệ thống tự cải thiện thì rất thú vị, nhưng lại khiến việc truy xuất nguồn gốc và quản trị khó hơn nhiều. Nếu các tác tử có thể tự thay đổi hành vi theo thời gian, thì việc hiểu vì sao chúng hành xử theo một cách nhất định sẽ ngày càng trở nên quan trọng hơn