見出し画像

Day2:エラーもコピペで解決。AIを相棒に「売れるレベル」のUIと機能を実装する【文系バイブコーディング実録②】


ダサいUIは許せない。目指すは「モダンな黒パネル」

「もしかして売れるんじゃないだろうか??」 翌日、そんなことを考えながら冷静になって画面を見てみました。

昨日は「まあまあ」のものはできていましたが、タスクトレイに常駐しているだけでUIらしきものはありませんでした。「これではさすがに売れないな」「確かNano Bananaが強化されたよな」などといろいろ考えるうち、「コントロールセンターのような、モダンかつ直感的で洗練されたダークなUIを目指してみよう」と思い立ちました。

非エンジニアだからこそ、技術的な難易度を完全に無視して、理想のビジュアルだけをAIに投げ込みました。(※意外にも、この発想がバイブコーディングには合っているようです)

CustomTkinterとの出会いと泥沼

AIが提案してきたのは「CustomTkinter」というライブラリ。これを使うと、モダンなダークモード対応のUIが作れるようです。 しかし、ここからが本当の戦いでした。

なぜかコードを書き換えると、今まで動いていた機能が動かなくなるのです。何度か、画面が真っ白になることもなりました。 AIの説明によると「Right Click Menu」を作ろうとして、既存のタスクトレイ機能と干渉し、アプリが終了できなくなる「ゾンビ化現象」も起きていたようです。

AIとの「ペアプロ」という新体験


ただ、AIは強かった。「AttributeError って出た」と投げると、数秒で「ああ、その変数はクラス内で定義されていないですね。修正します」と一瞬で答えを出してきます。

このような画像をひたすらAIに投げ続けました。

エラーが出たら、赤い文字をそのままコピペしてAIに投げ、修正。またエラーが出て、キャプチャして投げ込んで、修正…

時にはAIも間違えるのが意外でした。修正コードでも動かないことはたびたび。 まだ完成していないアプリを使って「まだ直ってませんが」「そもそも音声認識モデル名違くない?」と音声で状況を説明しました。

時にAIは「申し訳ありません、アプローチを変えましょう」と別案を出してくることもありました。 仕事が恐ろしく速いエンジニアが隣に座って、一緒に開発しているような感覚。「ペアプログラミング」とはこのことか、と実感しました。

そうこうしているうちに、エラーは出なくなり、いったんアプリは完成しました。ここまで2日間、計約5時間程度。設定ウィンドウも、目に優しい?ダークなカラーになりました。

音声認識にはOpenAIの「Whisper」、整形には「GPT‐4o」などのモデルをAPIで使う仕組みにし、体感で95%程度は正しく出力されるようになりました。

「v1リリース」時の設定ウィンドウ

機能満載で「リリース」

さらに、修正のついでにAIに追加オーダーを出しまくった結果、この時点ですでに

  • 音声入力したテキストが、自分が設定したプロンプトに沿った形で出力される「出力モード機能」

  • すべての出力を「関西弁にする」「日英併記する」などの設定ができる「パーソナルプロンプト機能」

  • 出力するテキストを突然メールで送りたくなった時、自動でメールにしてくれる「自動メール送信機能」

  • 特によく使う言葉を登録しておいてAIに優先的に変換してもらう「カスタム辞書機能」

  • 使用するAIのモデルを指定し、出力の精度を高めたり、API使用料を抑えたりできる「AIモデル選択機能」

  • 出力した履歴を保存し、設定ウィンドウで確認できる「履歴保存機能」

などが実装され、実用可能なレベルになっていました(本当に必要なのかという機能も含まれていますが…)

「これは売れるっしょ」。野望は、より現実味を増したのでした。


いいなと思ったら応援しよう!

ゆらぎ文系思考ログ 記事を楽しんでいただけましたら、サポートいただけると嬉しいです。いただいたチップは、AIエージェントのAPI利用料、検証用ガジェットの資金、そして時々、オフィスの癒やし(金魚やイモリのエサ代)に使わせていただきます。「次の実験も楽しみにしてるよ」という応援、励みになります!

この記事が参加している募集