Improvのような〜AIアシスタントを使ったプログラミング

朝晩、多少は秋っぽくなってきましたが、まだまだ日中は暑くてついつい冷房が効いた部屋でコンピューターの前に座ってしまいます。

Improvなんて聞いたことも見たこともないという人の方が多いかもしれませんが、まだNeXT社がハードウェアを作っていた頃にLotus社がNeXTSTEP向けに開発した表計算ソフトです。後にLighthouse Design社がQuantrixとして同様のソフトウェアを開発しました。Quantrixは同名の会社に引き継がれて今でも開発が続いているようです。

汎用的なExcelなどの表計算とは違って少し尖った性格のソフトウェアで、使い手を選ぶようなところがあったので、ハマる人が少なかったのでしょう。どちらも好調なセールスを記録していません。

NeXTSTEPで育てられた自分としては、懐かしさもあるのですが、そういう感情とは別に20年ほど前に構想したソフトウェアがImprovに少し似ていて、Excelでは到底できない処理ができて、ImprovやQuantrixよりも現代的かつ少し未来も覗ける、そういうソフトウェアを作りたかった。セマンティックな表計算ソフトとでも言えばよいかな。

当時の技術では困難な機能が多くて、一旦は実装を諦めましたが、もしかしたらAIの力を借りれば、衰えた自分でもやれるかもしれないと思うようになりました。

テストデータとして、地域別、会計年度別、四半期別、商品カテゴリ別に売上や利益のデータがデータベースにあったと仮定した計算モデルを作りました。

これが計算モデルの軸。地域別、会計年度別、四半期別、商品カテゴリがあります。

軸に対するデータです。これは地域軸に入っているデータです。

これは数値が入るデータ項目。

この構造の上でピボットを表示します。この状態で数値の入力もできます。

軸を動かすとピボットのレイアウトが変わります。上の状態から商品カテゴリ軸を外した様子です。

さらに四半期軸を外すとこうなります。

まだ行の軸を設定できるだけですが、これから列の軸も設定できるようにします。軸の設定は画面のAVAILABLEと書かれた領域に置かれた軸を、ROWSやCOLUMNSと書かれた領域にドラッグ&ドロップするだけです。

分散型の計算モデルを作れるように、データはすべてバックエンドのデータベースに置きます。

以前、Angularで開発したことがあるソフトウェアですが、今回はReact+Next.jsでやっています。不慣れな環境ですが、AIアシスタンの助けを借りてやっています。

ChatGPTを使っているのですが、ChatGPTは知識もプログラミングの実力も私より上ですが、性急なところや忘れっぽいところ、間違えても強引に進もうとするところがあります。暴れる馬を抑えながら間違えを起こさないように作業を進めます。手を抜くとさっきまで動いていた機能が壊れてしまうことがあって気が抜けません。何度も仕切り直しをしました。コードを書く速度は人間の比でありませんから、主導権を握っていないと引き摺られてしまい精神的にキツくなります。

AI時代のエンジニアという姿を意識してこの作業をしています。最近書いたAI時代の失業問題ZIKUUの「二刀流」という考え方などの関連記事も合わせて読んでください。

「Improvのような〜AIアシスタントを使ったプログラミング」への1件のフィードバック

コメントする