AIに頼むだけでプログラムができる「今どきのコーディング」の実力:誰でも開発できる時代がやって来た?【前編】
自然言語で「こんな機能を実現したい」と伝えるだけで、AIがコードを書いてくれる「バイブコーディング」が注目されている。実際にバイブコーディングに取り組み、その可能性を探ってみた。
バイブコーディング(vibe coding)とは、AI(人工知能)技術を活用したプログラミング手法だ。ユーザーが自然言語で「こんな機能を実現したい」と伝えるだけで、大規模言語モデル(LLM)がソースコードを生成してくれるというものだ。
筆者はこれまで、趣味や仕事の業務の一環としてバイブコーディングを実践してきた。もっとも、自身の取り組みがバイブコーディングであると知ったのは最近のことだ。
生成AIが普及するにつれ、バイブコーディングが一般的な開発スタイルになりつつあると実感している。本連載は筆者の経験を基に、その成果や課題を解説する。
AIに頼むだけでプログラムができる「バイブコーディング」の実力
併せて読みたいお薦め記事
AI×コーディングの関連記事
バイブコーディングとは何か、改めて考えてみよう。これは単なる「AI技術を活用したプログラミング支援」にとどまらない。重要なのは、「誰でもアイデアを思い付けば、数分以内にプロトタイプに落とし込める」という即応性だ。
具体例として、ロボットのクマ「テディ・ラクスピン」のエピソードを紹介しよう。
テディ・ラクスピンは、カセットテープを背中に挿入すると本を読み聞かせてくれるクマ型ロボットだ。カセットテープには2チャンネルの音声信号(ステレオ音声)が記録されており、片方のチャンネルには物語の音声が、もう片方にはアナログ信号に変調された制御コマンドが含まれている。この制御信号によって、テディ・ラクスピン内部のモーターが動作する仕組みだ。
筆者は「自分の声でこのロボットを操作したい」と考えた。まずモーター制御に使われている「パルス位置変調」(PPM)の仕組みを理解し、それをプログラミング言語「Python」で実装する方法を学んだ。こうして完成したプロジェクトを「T-Rux」と名付け、ソースコード共有サイト「GitHub」で公開している。
筆者はこのプロセスを、バイブコーディングで再現できるか試してみた。AIベンダーOpenAIのAIチャットbot「ChatGPT」に、「Pythonを使って、自分の声でテディ・ラクスピンを制御するにはどうすればいいか」と質問した。わずか15秒後に返ってきた回答は、筆者が数週間かけて設計した内容に驚くほど近いものだった。
それ以来、筆者は以下のようなさまざまな開発プロジェクトでAIツールを活用しており、実際のコーディング作業の99%をAIツールに任せている。
- RadioSHIFT
- 時間をずらして再生できる、タイムシフト再生機能を備えたFMラジオアプリケーション
- AutoHotKey製のミニアプリケーション
- OS「Windows」上で、OS「Mac」のランチャーアプリケーション「Alfred」に似た操作性を再現するもの。自動化スクリプト言語「AutoHotKey」で作成した
- Obsidian向けプラグイン
- ナレッジ管理アプリケーション「Obsidian」に、情報整理ツール「Evernote」のような使い勝手をもたらすプラグイン
- 用途別のスクリプト群
- VHSテープの動画をデジタル化した際、動画の冒頭にファイル名入りのフレーム(静止画)を自動挿入するスクリプト
- 「Word」文書の見出しを「PowerPoint」スライドに変換し、内容を視覚化するスクリプト
中でも、Obsidian向けプラグインの開発体験は本稿を執筆するきっかけにもなった。
当初、筆者はプラグインを自作するつもりはなく、「自分の求める機能を備えたプラグインが既に存在するかどうか」をAnthropicのAIチャットbot「Claude」に尋ねた。Claudeは幾つか候補を提示したが、どれも要件を満たさないことを伝えると、「それではプラグインを自作してみましょう」と提案してきた。その数分後、最初のObsidianプラグインが完成した。もちろん、初期のソースコードは洗練されたものではなく、手直しが必要だった。それでも数時間後には、実用に耐え得るレベルにまで仕上がった。
次回は、バイブコーディングの実践を通して感じたリスクについて解説する。
TechTarget発 世界のインサイト&ベストプラクティス
米国Informa TechTargetの豊富な記事の中から、さまざまな業種や職種に関する動向やビジネスノウハウなどを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.