はじめに
この投稿では「小学生用ひらがなプログラミング言語あいな(Aina)」という自作コンパイラ言語のAI コードエディタのPoC/概念実証版を実装していきます。
「小学生用ひらがなプログラミング言語」とは
日本語プログラミング言語いずみ(Izumi)の使用可能文字種を「ひらがな」「かたかな」「全角数字」などに制限したバージョンとします。
制御構文の開始シンボルとして、◇、〇、□、・などの全角記号を用い、箇条書きされた日本文としての体裁をあおい(Aoi)いずみ(Izumi)の構文と共有します。小学生の方でも直感的に◇、〇が分岐とループだとわかってもらえそうな気がします![]()
小学生用ひらがなAI コードエディタとは
日本語プログラミング言語いずみ(Izumi)とその文字種制限版のあいな(Aina)は、基本的に静的型付けシステム言語です。ですので、引数を手前にもってきて日本語の語順でというわけではなく、中置記法のかっこ書きが基本となります。その手前の関数名やかっこ内の変数名はこどもたちのおもいおもいのひらがなイメージとなります。
したがって、ひらがなユーザーの方には、ひらがなでやりたいことをAIチャットゾーンにひらがな入力パネルから入力すると、エディタパネルにひらがなのあいな(Aina)構文が展開されて、それをなんらかのボタン操作でぽちっとやると、なにかがうごく...というイメージでございます。慣れてくれば中値記法をパネルから記号入力してプログラム文も書けるかも的な思惑です。
まるをいっぱいうごかしたい
・かず いっぱい = 0
〇くりかえす
◇いっぱい == 5 のとき
□やめる
◇ここまで
□(「〇」)を うつす
□いっぱい = いっぱい + 1
〇ここまで
※将来的にいずみ(Izumi)やあおい(Aoi)を使っていただくようになると、一般的な静的型付け高級言語との対比がつかみやすいかもという思惑もございます![]()
ローカルAIはFoundry Local
別件でOllamaを試してみましたところGPUスペックが足らなくて、だいぶ重かったので、今回はFoundry Localで試してみようと考えております。
小学生用ひらがな入力のキモ ~ひらがな入力パネル~
小学生ユーザーがコマンドプロンプトで仮名漢字変換をつかってひらがな入力するは想定しずらいので、専用のひらがな入力パネルを実装します。ここをはずすとかなりいたいのですが、おそるおそるPoCを公開いたします。
ひらがな入力パネルPoC
あくまでPoCなので、カラバリとか考えておりません
すっぴんのっぺらぼ~。
いちおう50音とはなんぞやというところを大事にしております。あ、か、さ、た、な~をまず選んで、その後、あいうえお選択でございます。
メニューはとりあえず漢字をひらがなに変えただけですが、単語自体のいいまわしも後でみなおします。
コモンダイアログでも文言変えれるところはひらがなにしています![]()
使用AI
GitHub Copilot
GitHub CopilotのPro+版。あおいと本件実装と検証の主担当。
Microsoft Copilot
Windows11アプリケーションのMicrosoft Copilot。GitHub Copilotの使い方スーパバイザとして利用しています。モードは「無料プラン」のsmart。
画面構成
AIと仕様確認用の要求仕様です。
┌─────────────────────────────────────────────────────────────┐
│ ふぁいる へんしゅう ひょうじ │
├───────────────────────┬─────────────────────────────────────┤
│ ひらがな入力パネル │ コンソール出力領域 │
│ │ │
│ │ │
│ │ │
│ │ │
│ ├─────────────────────────────────────┤
├──────────────────────├ 作業領域 │
│ フォルダエクスプローラ │ ┌─────────────────────────────────┐ │
│ ルート │ │ テキストエディタ │ │
│ ├─ フォルダ │ │ │ │
│ └─ ファイル │ └─────────────────────────────────┘ │
│ │ (将来: エディタ / AIチャット) │
├───────────────────────┴─────────────────────────────────────┤
│ 状態: ファイルパス / UTF-8 / 未保存 / 行・桁 │
└─────────────────────────────────────────────────────────────┘
ひらがな入力画面構成
最上行
ひらがな、かたかな、かず、きごう
の4択ボタン選択 ボタン幅は4文字分でそろえる
クリック時2行目の状態を変化させる
2行目
ひらがな選択時(既定)
あ、か、さ、た、な、は、ま、や、ら、わ
のボタン選択
クリック時3行目の状態を変化させる
かたかな選択時
ア、カ、サ、タ、ナ、ハ、マ、ヤ、ラ、ワ
のボタン選択
クリック時3行目の状態を変化させる
かず選択時
1、2、3、4、5、6、7、8、9、0
のボタン選択
クリック時テキストエディタのカーソル位置に該当文字セット
きごう選択時
▽□◇○、()「」、。、.,、=+-×÷、
のボタン選択
クリック時3行目の状態を変化させる
3行目 2行目2つ分の幅、高さの正方形状ボタン
文字サイズはボタン幅いっぱいのサイズ
ひらがなー>あー>
1段目 あ、い、う、え、お のボタン選択
2段目 ぁ、ぃ、ぅ、ぇ、ぉ のボタン選択
ひらがなー>かー>
1段目 か、き、く、け、こ のボタン選択
2段目 が、ぎ、ぐ、げ、ご のボタン選択
以下、さ、同様。
ひらがなー>たー>
1段目 た、ち、つ、て、と のボタン選択
2段目 だ、ぢ、づ、で、ど のボタン選択
3段目 、、っ のボタン選択 っの右側ボタン不要
な、は1段目のみ
ひらがなー>はー>
1段目 は、ひ、ふ、へ、ほ のボタン選択
2段目 ば、び、ぶ、べ、ぼ のボタン選択
3段目 ぱ、ぴ、ぷ、ぺ、ぽ のボタン選択
ひらがなー>やー>
1段目 や、、ゆ、、よ のボタン選択
2段目 ゃ、、ゅ、、ょ のボタン選択
ひらがなー>わー>
1段目 わ、ゐ、、ゑ、を のボタン選択
2段目 ん、、、、 のボタン選択
文字のない区切りは1ボタン幅空けて5列を維持。
かたかなー>アー> ア、イ、ウ、エ、オ のボタン選択
以下ひらがなと同様。
かたかなー>カー> カ、キ、ク、ケ、コ のボタン選択
クリック時テキストエディタのカーソル位置に該当文字セット
きごうー>▽□◇○ー> ▽、△、□、◇、○、・ のボタン選択
きごうー>()「」ー> (、)、「、」 のボタン選択
きごうー>。、.,ー> 。、、、.、, のボタン選択
きごうー>=+-×÷ー> =、+、-、×、÷ のボタン選択
のボタン選択
クリック時テキストエディタのカーソル位置に該当文字セット
**、**以外の、は選択肢の区切り
**、**の、は選択肢としての文字
ひらがなパネルの既定高さは基本的にひらがな・カタカナ3段が入る高さとする。
おわりに
いかがでしたでしょうか?同じことをしようとしている方々の参考になれば幸いです。次回はFoundry LocalのUIを実装してみます。



