PaPoo
cover
technews
Author
technews
世界の技術ニュースをリアルタイムでキャッチし、日本語でわかりやすく発信。AI・半導体・スタートアップから規制動向まで、グローバルテックシーンの「今」をお届けします。

Ornith-1.0がかなり本気の「コードを書くAI」だった話

GitHubを眺めていて、思わず目を止めたのが Ornith-1.0 という公開リポジトリでした。名前だけ見ると何だか鳥の品種みたいですが、中身はかなり攻めています。ひとことで言うなら、​コードを書くための自己改善型AIモデルです。しかも、ただのデモではなく、ベンチマークの数字までしっかり出してきています。

面白いのは、このプロジェクトが「賢いコード生成」だけを狙っていないところです。READMEを読むと、モデル自身が解決案を出すだけでなく、その解決に至る“考え方の枠組み”まで学ぶ、と説明されています。ここがちょっと珍しい。AIに答えを出させるのではなく、​どうやって答えにたどり着くかまで学ばせようとしているわけで、かなり本気の研究色があります。

まず押さえておきたいポイント

何がうれしいのか

Ornith-1.0の説明でまず目に入るのは、「open-source models for agentic coding」という一文です。agentic codingというのは、単にコードを出すだけでなく、タスクを分解したり、試行錯誤したり、ツールを使ったりしながら前に進むタイプのAIを指します。最近のAIコーディングはここが肝で、ただの補完ではなく、半分“作業者”みたいに振る舞えるかが勝負になっています。

Ornith-1.0はその領域に真正面から挑んでいて、しかも9Bの小さめモデルから397Bの巨大モデルまで並べている。ここがかなり実用的です。研究室のスーパーマシン向けだけではなく、比較的小さな構成でも触れる入口を残しているからです。個人的には、こういう「大きいのもあるけど、小さいのもちゃんとある」設計は好感が持てます。触る側の現実をちゃんと見ている感じがするんですよね。

自己改善型というのが少し変わっている

READMEで特徴として挙げられているのが、​RLを使った self-improving training framework です。RLは reinforcement learning、強化学習のこと。ざっくり言うと、正解っぽい出力をたくさん覚えるのではなく、試行錯誤の結果として「より良い振る舞い」を身につけさせる方法です。

image_0001.png

ここで面白いのは、Ornith-1.0が「解答そのもの」だけでなく、その解答を導くための scaffold まで学ぶ、と書かれている点です。scaffold は土台や足場のような意味で、要するに問題を解くための段取りや探索の枠組みのことだと思っていいでしょう。AIに“答え”だけを渡すより、どう考えるかの型を持たせたほうが、複雑なコード修正や探索で強くなる。これはかなり筋がいい発想だと思います。

もちろん、こうした自己改善の効果がどこまで一般化するかはケース次第です。ただ、少なくとも README に出ているベンチマークを見る限り、「机上の空論」で終わってはいなさそうです。

ベンチマークの数字はけっこう強い

READMEには、Terminal-Bench 2.1、SWE-bench Verified、SWE-bench Pro、NL2Repo、Claw-eval など、コード系のベンチマーク結果が並んでいます。専門外の人には少し呪文っぽいですが、これらは要するにAIが実際の開発っぽい課題をどれだけうまく処理できるかを見るテストです。

たとえば 9B モデルでは、同クラスの Qwen3.5-9B や Gemma4-12B と比べて、いくつかの項目でかなり良いスコアを出しています。35B版になるとさらに伸びていて、SWE-bench Verified で 75.6、Terminal-Bench 2.1 でも高い値が出ています。397B版はもっと強く、OpenAI系や他の巨大モデルと並べて比較されるほどです。

ここで大事なのは、単に数字が高いことよりも、​​「オープンソースのコードAIとして、かなり上位に食い込んでいる」​という点です。巨大なクローズドモデルだけが強いわけではない、という空気を感じます。これはオープンソース派にはかなりうれしい展開ではないでしょうか。

ただし、ベンチマークはあくまでベンチマークです。実運用では、プロジェクトの癖や社内コードの独特さで簡単に崩れることもあります。なので、数字を鵜呑みにするより、「少なくとも試す価値は十分ある」と受け取るのがちょうどいいと思います。

どのモデルを選ぶかで現実感が変わる

image_0002.png

Ornith-1.0は、使い方に応じて複数のチェックポイントが用意されています。9Bは single-GPU serving や fine-tuning に向いていて、GGUF版なら llama.cpp や Ollama を通じたローカル推論にも使えます。35Bと397Bは MoE、つまり Mixture-of-Experts です。これは、全体を一気に動かすのではなく、内部で“専門家”を切り替えながら計算する仕組み。大きいのに比較的効率よく動かせるのが利点です。

READMEでは、9Bは単一の 80GB GPU に収まるとされています。35Bや397BはマルチGPU前提で、tensor parallelism を使って分散します。要するに、​手元のPCで気軽に、というよりは、ちゃんとしたGPU環境で本領を発揮するタイプです。

このへんはかなり正直で、逆に好印象でした。最近は「ローカルで動く」と言いながら、実際にはかなり厳しいモデルも多いので、必要な条件を明記しているのはありがたいです。

使い始めるときの感覚

公開されているサーバーの立て方は、vLLM か SGLang を使う形です。どちらも高速にLLMを動かすための実行基盤で、OpenAI互換のAPIとして立てられるのがポイントです。つまり、既存のツールやアプリに組み込みやすい。

READMEには、推奨の sampling parameters として temperature=0.6、top_p=0.95、top_k=20 が示されています。temperature は出力の“自由さ”、top_p は候補をどれだけ広く見るかの設定です。要するに、少し賢く、少し落ち着いて答えてほしい時のバランス設定ですね。ベンチマーク再現用には temperature=1.0 を使うとありますが、普段使いではもう少し控えめにする意図が見えます。

また、このモデルは reasoning model だと明記されています。assistant turn の最初に <think> ブロックが入る形式で、推論過程を separate reasoning_content として扱う仕組みです。ここは好き嫌いが分かれそうですが、私はこういう“考え方を分けて扱う”設計はかなり興味深いと思います。答えだけを見るより、途中の思考を確認できるほうが、開発用途では都合がいい場面が多いからです。

MITライセンスなのも地味に大きい

image_0003.svg

こういうモデルは、性能だけでなくライセンスも重要です。Ornith-1.0は MIT license です。これはかなり自由度が高いライセンスで、商用利用や改変もしやすい部類です。地域制限もないと書かれていて、世界中から触りやすい。

この「使っていいよ」の姿勢は、研究成果を外に開くうえでやはり強いです。高性能でもライセンスが重いと、実務では急に使いにくくなることがあるので、MIT で出しているのはかなり実用寄りの判断だと思います。

ただ、魔法の杖ではない

ここまで読むと「じゃあこれ一択でいいのでは」と思いたくなりますが、そこは少し冷静でいたほうがいいです。Ornith-1.0は強いですが、巨大なモデルほど扱いは重いし、環境構築もそれなりに面倒です。さらに、AIコーディングのベンチマークが良いからといって、実際の開発現場で毎回同じように働くとは限りません。

でも、それでも面白い。なぜかというと、Ornith-1.0は「オープンソースでも、ここまで来た」という現在地をかなりわかりやすく示しているからです。単なる研究発表よりも、実際に試せる形で置かれているのがいい。読んで終わりではなく、触って確かめたくなるプロジェクトです。

個人的には、こういうモデルは「AIがコードを書く」未来の本命候補のひとつだと思います。少なくとも、補完ツールの延長ではなく、開発の進め方そのものを変える側に入ってきています。Ornith-1.0は、その流れのかなり前のほうにいる印象です。


参考: GitHub - deepreinforce-ai/Ornith-1

同じ著者の記事