はじめに
最近話題の Vibe Coding
で作ったツールを紹介させてください。
Vibe Coding
とは Gemini にょると
Vibe Coding(バイブコーディング)とは、AI(大規模言語モデル)に自然言語で指示を出すことで、コードを生成・修正させる新しいプログラミング手法です。2025年2月にAndrej Karpathy氏が提唱しました。従来のプログラミングのように、細かいコードの記述や構文に縛られず、「こういうものを作りたい」という「雰囲気(vibe)」をAIに伝え、まるでコードの存在を忘れて開発を進めるような体験を特徴とします。
とのこと。
私の場合は実際もっと泥臭い感じでかなり積み上げてきた事前準備や試行錯誤、時々一緒にデバッグなどもしている一方、使っているツールはAIエージェントではなく無料でも使える範囲のLLMなので、「それで Vibe Coding って言っちゃうの?」的な反応はあるかも。。
いずれにせよ、日々の BizRobo! ライフで役に立ちそうであれば、使ってもらえると嬉しいです。
前提
いずれも非公式ツールのため、現段階での利用は自己責任でお願いします。
ここで紹介するツールは主に休日の趣味として勝手に作ったものなので、所属する会社が何ら責任を持つものではありません。
ただし社内にも紹介はしているので、業務に使えそうということになればソースコードごと会社に譲渡しようと思いコードの公開はしておりません。(以前はOSS公開してました)
ツールの紹介と実績
BR! Setup Toolkit (BizRobo! 環境セットアップツールキット)
BR! 環境セットアップ キット配布用リポジトリ。BizRobo! の導入や運用保守の現場で頻繁に発生する、煩雑な確認作業や定型作業を効率化することを目的としています。
いくつかの機能が搭載されていますが、メインは「コンポーネント間疎通チェッカー」です。
例えば上記の場合、「Design Studio
から DAS に接続できない!」といったときに、ネットワークレベルでそもそも疎通が成り立つかをチェックすることで、アプリケーションの設定に問題があるのか、ネットワーク/ファイアウォールの設定に問題があるのかを探るヒントになります。
BizRobo! アクセシビリティチェッカー
DASで操作しようとしているデスクトップアプリケーションの構成を読み取ることで、画面がオブジェクト認識できなかった際にその原因や打開策を客観的に検討できるようにします。
こちらは全く鳴かず飛ばずで、作成したものの即廃盤です。
ただ以下、例えばタスクマネージャーのアクセシビリティをチェックしてみると、 「管理者権限:はい」 となっており、見た目ではわかりませんが、タスクマネージャーが管理者権限で動いていることがわかります。
つまり、標準ユーザーの権限でDASが起動している場合、権限の強さを理由にタスクマネージャのUIへのアクセスが拒否されてしまうわけで、結果「DASで画面が読み取れません。」ということになります。
この場合、DASを管理者権限で起動してみる。というのが一つの対応方法なのですが、現状では「DASで画面とれません。画像認識しましょう。」みたいな流れになるのが個人的には残念過ぎるなぁと。
こちらについては再度作り直して OSS で完全公開にするかもしれません。
BizRobo! Timeline Manager
BizRobo! Timeline Manager 配布用リポジトリ。BizRobo!のロボット(
.robot
)やタイプ(.type
)ファイルの 「いつ」「誰が」「何を」変更したのかを記録・管理するためのツール です。Git の難しいコマンドを覚える必要はなく、画面のボタンをクリックするだけで、安全にバージョン管理(タイムライン管理)を行えます。
「開発者モード」と「RLM(Robot Lifecycle Management)モード」があり、もともとは Robot Lifecycle Management を手軽に使ってもらうためのレポジトリ管理ツールとして作成しました。
その後、「せっかくなら開発中のロボットファイルについてもバージョン管理できるといいかもね。」というところから「Git を知らない非エンジニア(業務部門のロボット開発者)であっても安全にロボットのバージョンを管理しながら開発ができる仕組みを提供したい。」と考え、開発者モードを追加しました。
あくまで「非エンジニア」向けのツールなので、エンジニアの方はいつも通りコマンドでGitを操作してもらったほうが楽かと思いますが、基本的な履歴管理の機能についてはエンジニアでなくとも使えるようになると生産性も上がるだろうな。。と思ってます。
まとめ
単に、作ったもの紹介したい!というだけの動機付けなので実際に Vibe Coding
をどのように進めているか。などの内容には触れませんでした。最近では非常に優れた、具体的な内容のブログも増えてきたので。
ただ、いくつかメモ的に箇条書きをするとすれば、思いつくままですが以下のような感覚を持っています。
-
Vibe Coding
で得たものは結果としてのアプリケーションよりも、過程としての学習。 -
System Role
の与え方がかなり重要。AI側のふるまい方に関する基本方針になるので。 - 会話が長くなってくると基本方針でも忘れてくるので、会話の中でも念を押す必要があるのと、一定以上プロンプトが長くなったら仕切り直し(新しいチャットでやり直し)したほうがいい。
- 回答を迫るときにはできるだけ小出しに、キャッチボールをしながら進めるように依頼する。
- Garbage in, garbage out. 質問が悪けりゃ回答も悪い。何がしたいかを明確にするのは前提ですが、答えを評価できる知識やスキル、もしくは評価できる形式でのアウトプットを取得しないと、前に進まない。
- 意外と面倒くさい。まさに、得意同士の協業という感じ。Easy come, Easy go. さぼればそれなり。
- 割とLLMの回答に突っ込みをいれて、結果的にこちらでデバッグしてることもあるが、それはラスト1マイルなことが多い。やはり協業の意識がないと、結果が運任せ。
- ちゃんと説明する、説明させる。常識とコンテキストを伝えないとかみ合わないこと多し。
- 様々な質問(詳細・具体度、角度・視点、範囲の特定、期待の明確化)方法を身に着けるとよい。
- ちなみに一番最近作成した「BizRobo! Timeline Manager」は、アプローチを変えながら、最終的に4回ぐらい最初から作り直しました。
最後に
使ってるコードは以下です。
- Google AI Studio、Gemini 2.5 Pro:コード生成
- ChatGPT 4o:ロゴ作成
- VSCode:コーディング