AIに書き換えられても通る言語 一発で書けるかではなく、直され続けても壊れないか

エージェントに任せると、同じファイルが一日に何十回も書き換わります。人のレビューが入るのは、その連続のあとです。ここで効いてくるのは、モデルが一発で正しく書けるかどうかより、書き換えを重ねたあとでもコードが通り続けるかどうかになります。

Aid-Onが開発している言語Almideは、その一点だけを見て設計しています。

指標をひとつに絞る

言語の良し悪しを語る切り口はいくらでもありますが、追う数字はひとつに決めました。AIの編集を経ても通るコードの割合です。速度でも記述量でもありません。

数字がひとつだと、設計の議論が短くなります。ある構文を入れるか迷ったとき、それがこの割合を上げるのか下げるのかだけを見れば決まります。測り方は修正生存率の記事にまとめました。

エラーは、直し方をひとつに絞って出す

コンパイラのエラーに候補を三つ並べると、モデルは間違ったほうを選ぶことがあります。人なら文脈から選べますが、モデルは並んだ選択肢に対して確率的に振る舞います。

Almideのエラーは、直し方をひとつに絞って示します。親切さより、迷わせないことを優先しています。

同じことを二通りで書けないようにする

書き方の自由度は、人には便利でモデルには不利に働きます。同じ処理に複数の書き方があると、生成のたびに揺れます。揺れたコードが混ざったファイルは、次の編集でさらに壊れやすくなります。

暗黙の型変換を置かない。ループの構文を増やさない。省略記法を足さない。書けることを減らすほうが、書き換えに耐えます。

出力がバイト単位で一致する

AlmideはRust経由のネイティブと、WASMの両方に出力できます。同じソースからの出力は、どちらもバイト単位で一致します。

ここが揃っていると、同じコードを手元では素のプロセスとして、本番ではWASMサンドボックスの中で動かす、という選び方ができます。権限の閉じ方を環境ごとに変えても、挙動は変わりません。

学習データに無い、という不利

新しい言語はモデルが知りません。ここは設計では埋まらないので、書き方をAGENTS.mdで渡します。手引きを足したら割合がどう動いたかを見て、効かなかったものは消します。

言語から始めた理由

AIに任せられる範囲を広げるには、壁が二つあります。何を触らせるかという権限の壁と、書いたものが壊れないかという壁です。

前者はWASIのcapabilityやサンドボックスで閉じられます。後者は実行環境では閉じられません。言語のほうで引き受けるしかない、というのがAlmideを書き始めた理由です。

自社でAIにコードを書かせている場合、同じ問いは既存の言語でも立ちます。生成されたコードがどれだけ手直しされているか、一度数えてみると、投資すべき場所が見えてきます。

まずはお気軽にご相談ください。目的や課題を丁寧にヒアリングし、
ご予算や納期に合わせた最適なご提案をいたします。

まずはお気軽にご相談ください。
目的や課題を丁寧にヒアリングし、
ご予算や納期に合わせた最適な
ご提案をいたします。

無料相談はこちら