アイアンマンを見てから、子供のころからAIアシスタントを作りたかった。Voice CommanderでWindows 98の音声操作を設定し、マウスを動かしてプログラムを起動させたけれど、役に立つというより見栄えがするものだった。当時は音声認識さえ大仕事で、会話できるのは100年先だろうと思われていた。
2024年が来た。
プログラマーとして育ち、スタックやフレームワークを覚え、どんなプロジェクトでも素早く立ち上げる自分用のテンプレートを作った。そうして受託の仕事をしながら、ゆっくりスタートアップへ向かっていった。
ChatGPTで大量のコードを書き、自分のテンプレートなら書けると分かった。全体がどうできているかを伝えればよかった。
自分のデータベースも扱える。上手に頼み、アクセスを渡せばいい。
雑務は多く、GPTはそれをようやく片付ける理想的な方法に見えた。
最初の版。これはアプリの核で、テキストを受け取り、課題を分析し、GPTに何を補えばいいか聞いて、それを書く。実際には、今多くのIDEに入ってきているCopilotだ。

最初の結果をコードにしたあと、はっきりした。手元にあるのはコードのファイルではなく、プロジェクトだ。プロジェクト対応を足した。
プロジェクトは一つのフォルダではない。フォルダを走査し、その中身がどの種類かを見分ける仕組みを作った。この段階でジャービスは自分のプロジェクト台帳を持った。知らないフォルダについては、何のプロジェクトで何をしているのかを尋ね、コードが必要なときは事前プロンプトにそれを入れ、プロジェクトのことをより知ったうえで書いた。
データベースの操作。自分の依頼でデータベースを自分で扱ってほしかったので、それを作り、コードが正しいかの確認も足した。フィールドを一つ足すだけでなく、必要ならテーブルをゼロから全部作り、中身も入れられる。
同時に、質問するよう教え、パソコンの中で自宅にいるようにさせた。動いているプロセス、ウィンドウ、ファイル、今自分が何をしているかを知っているので、どこで何をすればいいか説明しなくてよい。
もっと楽にコードを書くため、ジャービスにVS Codeのプラグインを書かせた。情報をそっと取り、分析のために自分へ返すものだ。プラグインの書き方を何も知らないまま、そうして作った。
ジャービスが自分のためにやったことだ。
そして入力画面に加え、IDEとの密な連携ができた。
VS Codeからファイルを取り出し、動いているプロジェクトを自分で判断し、テーブル構造を抜き、ローカルへデプロイした。

ただし。何を具体的に書き換えたのか分からないことがある。新しい差分を見てすぐ戻せるよう、Gitに対応させた。今ではジャービスが変更用のブランチを自分で切り、うまくいったものは自分でコミットする。
自分のテンプレートに近づき、必要なものを数秒で作るときが来た。
まず新しいプロジェクトのセットアップ。インストール用スクリプトを全部移し、ジャービスの助けでC#に書き直した。
Vue 3 + TypeScript、Yii2、Bashなどに対応させた。いちばん大事なのは、テーブルからモデルを自動で作り直す仕組みだ。
今のジャービスはデータベースを作るだけでなく、モデルも自分で設定する。大きな雑務が肩から落ちた。マイグレーションも合わせてくれるようにしたい。
仕事
ジャービスはすでにいくつかのプロジェクトを通っていて、触れていない場所、自分のgitブランチを残していない場所はどんどん減っている。あまりに便利だからだ。
この先は?
見ていこう。
