2025-10-23 AIコーディング事始め
木曜日。12:30起床。夜ふかしが祟ってあっという間に元通りに。
今日も寒い。あっという間に秋が終わってしまったみたいだ。一番好きな季節なのに。ただ、寒いと頭が冷えてよく働く。昨日も書いた気がするが。
起きたらもう昼過ぎで、出来る事も限られてくるなあと、思いついたかのように今日はAIを使ったコーディングを一気に取り入れてみる事にした。
エディタには既に生成AIがアシストしてくれる機能が乗っかってるが、本格的にイチから構築していく。まずは、仕事を想定して各言語と各フレームワークそしてテストの種類ごとにプロジェクトのスターターキットを作ってみる。
今日の課題はExpo(React Native)のプロジェクトを想定したものを。一番難しそうなところからやった方がいいと考えて、バイリンガル対応、テーマの切り替え(ライト/ダーク)、フォームの実装を想定したキットをChatGPTに依頼。
「React Nativeのプロジェクトの雛形を作って」というところからスタートして、各ライブラリの選定を指示、アプリの仕様の追加などを細かく指定していけば完成する。ここまでで1時間。あまりにも簡単に済みすぎて、本当にこのままビルドまで出来るのか不安になるぐらいである。
ChatGPTが出してくるコードの提案がなかなか良かったので、次はターミナル、VSCode、WebStormの各エディタにOpenAIが提供しているCLIツール「Codex CLI」をインストールして使ってみる事にした。プロンプトに書いて欲しいプログラムの内容を指示すれば、AIがそのタスクを実行する。
これは完全に思い込みだったのだが、Codexは機能を指示するとそれに見合ったコードとファイルの構成を吐き出すだけだと思っていたのだが、実際は現在のターミナルのディレクトリ位置にあるレポジトリの内容を分析し、このソースファイル、特にコンポーネントファイルにこんな機能を追加と指示をすると、対象のソースファイル上にコードを追加してくれる。
使ってみてかなり驚いたのは、新規のコンポーネント作成も既存の他のコンポーネントの実装に合わせて作成されていた事だ。例えばあるテキスト入力ボックスをタイトルや説明文をPropsで埋め込めるラッパーコンポーネントでくるんで実装していたとする。そのプロジェクト上で「画像のアップロードをさせるためのピッカーInputを作りたい」と指示すると、ちゃんと他のフォーム用の入力コンポーネントと同様にラッパーのコンポーネントにくるんでアップローダーを実装する。
もちろんプロンプトではそんな指示はしていないのに、である。これは本当に驚いた。
今日は一日、なぜこれをこれまで積極的に使ってこなかったのだろう?と大きな後悔をする一日だった。寝坊してよかったな、おかげでまた新しい事に気づく事ができた。
夕方、見事に秋晴れになったので6kmウォーキング。それが良かったのか、昼に起きたのにもう眠い。