開発者やエンジニアは、ソフトウェアの作成プロセスを単純化するためにさまざまなツールが使用されるのを見てきました。学生の頃には Scratch を使用して、IFTTT シナリオ (「これが起きれば自動でこれを実行する」) で機能する、ブロックのパイプラインを構築しました。その後、ノーコードツールが登場しました。これは、優れたアイデアはあるものの、アプリケーション作成の技術的な経験が限られているユーザーを支援するものでした。アプリケーション開発の単純化における最新の飛躍的進歩は、言語モデルです。これは、自然言語コマンド (「株のティッカーを表示する Quarkus アプリケーションを React フロントエンドでビルドして」など) を解釈して、プロジェクトの設定、コードの生成、テストの実行などのタスクを自動化します。このトレンドは「バイブコーディング」として知られており、エージェント型 AI が使用されています。バイブコーディングはすでに今日の開発環境に統合されていますが、それはどのような影響をもたらすのでしょうか?メリットよりも悪影響のほうが多いのでしょうか?

コード支援の進化

バイブコーディングとは、AI プロンプトと対話して使用可能なコードを生成することです。多くの場合、単独でコーディングする技術的能力がなくても使用できます。最近、コードエディターに大きな変化が見られました。たとえば、GitHub CoPilot は、GPT スタイルの言語モデルのパブリックサービスがリリースされる前の 2021 年 10 月にリリースされ、すぐにコードの自動補完のためのツールとして広く採用されるようになりました。たとえば、System.out.print と入力した場合、GitHub CoPilot は ln(“Hello World!”); と自動補完します。ただし、このような自動補完機能があったとしても、CoPilot に何かを完了させるにはコードの記述方法を十分に知っている必要があります。

AI を活用した統合開発環境 (IDE) である Cursor のリリースによってコーディングの障壁が低くなって以後、バイブコーディングをめぐる議論は、OpenAI の創設メンバーである Andrej Karpathy 氏などの業界リーダーが参加して「バイブコーディング」という用語を生み出したことで注目を集めました。

人気のある Visual Studio Code IDE を基盤として構築された Cursor は、一見すると、他の多くのコードエディターと似ています。しかし、Karpathy 氏の説明によると、バイブコーディングはプロジェクトの望ましい結果やコードの変更を自然言語で記述することができ、モデルのバックエンドが提案を行うか、自律的に変更を加えます。これは、おそらくエージェント型 AI の最も一般的なユースケースです。つまり、モデルは自律性を持ち、ツールにアクセスして機能を拡張できます。AI 支援コーディングツールの場合、これにはファイルの読み取りと書き込み、ドキュメントや Web ページへのオンラインアクセス、テストを実行するためのターミナルアクセスなどが含まれます。 

IDE with additional AI features

しかし、この機能にとって欠かせない重要な役割を果たしているのは、言語モデルの拡張コンテキストウィンドウです。これにより、一度に処理できるトークン数が数百から数百万にまで拡張され、コードベース全体を言語モデルのコンテキストとしてバイブコーディングで使用できるようになりました。たとえば、Llama 2 では 4,096 トークンのコンテキストウィンドウを、Llama 3 では当初は 8,192 トークンウィンドウをサポートし、Llama 4 ではコンテキストで最大 1,000 万トークンをネイティブに処理します。コンテキストが大きくなればなるほど、バイブコーディングに関心のある開発者やユーザーにとって利便性は高まります。

バイブコーディングを実行する前に知っておくべきこと 

私たちは全員が熟練した開発者ではありません。私たちの多くはテクノロジーに大きな関心があり、アイデアが現実になるのを見ることに興味を持っています。しかし、必ずしも構文やセミコロンの細かい使い方にはこだわりません。Cursor のようなツールは多くの人々に、便利なアプリケーションを開発できるという希望を与えてくれます。バイブコーディングを利用するユーザーの典型的なエクスペリエンスを見てみましょう。これにより、バイブコーディングの強み、苦手分野、また、このテクニックを使用してユーザーが独自のワークフローを改善する方法についての理解が深まります。 

ここで、Cursor の Web サイトから Cursor を実際にダウンロードしてみました。そのサイトには、Linux、Mac、Windows 用に事前コンパイルされたインストーラーが用意されていました。どのように開始すればよいかわからないため、Cursor 開始画面のスクリーンショットを AI アシスタントにアップロードしてガイダンスを求めました。その指示に従い、すべてのプロジェクトファイルを保存するためのフォルダーを作成し、Open project ボタンからそのフォルダーを開きました。  

 machine over SSH

 

Cursor インタフェースは VS Code と似ていますが、右側にチャットウィンドウがある点が異なります。このインタフェースでは、左側で作業環境とアクティブなファイルを開いて右側でチャットウィンドウを開くことができるため、ワークフローが単純化されます。そのため、AI システムとチャットするだけのために、Alt + Tab を押してウィンドウを切り替える必要はありません。チャットインタフェースはコードエディター自体に統合されています。

dashboard for Cursor

 

Red Hat では、コンテナ、Kubernetes、GitOps に関する Red Hat トレーニングと認定コースを通じて、あるいはオープンソース・プロジェクトへの貢献などを通じて、継続的な学習が奨励され、サポートされています。ですから、私はローカルで実行される暗記ツールを構築し、それをホストして他の人と共有できるようにしたいと考えました。 

最初のプロンプトはこうです。Create a flashcards app that I can run in my browser. (ブラウザーで実行できるフラッシュカード・アプリケーションを作成して。) I want to be able to flip and “favorite” the cards. (カードはめくれるようにすること。カードを「お気に入り」として設定する機能もつけて。)

私のこの要求はクラウドベースのモデルによって処理され、Cursor によって次の 3 つのファイルにコードが生成されました。 

  • index.html:メインページの構造
  • style.css:スタイリングとレイアウト
  • script.js:機能 

このプロセスの大部分では、各ファイルやコードの提案に対して何も考えずに accept をクリックするだけでした。 

その後に、フラッシュカードアプリへのリンクが提示されました。残念ながら、その時点ではまだ完全には機能しませんでした。 

チャットウィンドウに問題の説明を入力するのに、少し頭を悩ませる必要がありました。Cursor や多くの先進的なモデルは画像だけでなくテキストも処理できるので、スクリーンショットと、問題が起きた部分を自然言語で説明するテキストを含めました。何度かやり取りした後、うまく機能するようになりました。 

flashcards application

 

Cursor は、編集可能なカード、スムーズなめくりアニメーション、[previous (前へ)] ボタンと [next (次へ)] ボタン、永続ストレージを備えた完全なアプリケーションを生成しました。index.html を開けば実行されます。バックエンドがなかったり、デバイス間で同期されなかったり、スケーリングにはより多くの知識が必要とされるなど、完璧とは言えませんが、プロンプトのみで作成できたのは魔法のように感じられました。

一度もコードを作成したことがない人の場合、Cursor などのプラットフォームは、完全に機能するアプリケーションを作成するには不十分です。概念を理解せずに作成した AI コードは脆弱です。コードのデプロイやインフラストラクチャの管理、本番環境での問題のトラブルシューティングなどを行おうとすると、さまざまな問題に直面します。基礎知識がなければ、実際の環境でアプリケーションを拡張、保護、保守しようとするときに壁に突き当たることが多くなるでしょう。

それでも、経験レベルに関係なく、私は試す価値があると思います。タスクを実行するための道筋は複数あるため、初心者にとっては難しいかもしれません。ターミナルの挙動 (入力したコンピュータパスワードが表示されない、Y を押して確定するなど) についての基礎知識がないと、戸惑ってしまうでしょう。初心者向けのアドバイスとしては、どのように行き詰まっているのかを説明できない場合は、Cursor にスクリーンショットを提供します。そして、別のチャットボットを使用して、あなたが知っていると Cursor が想定している内容を説明し、何を尋ねるべきかを理解できるようにヘルプを求めることをおすすめします。これはますます一般的になってきており、AI に何を求めるべきかを知る (つまり、望ましい結果を得るために、モデルに対する質問やリクエストを効果的に作成する方法を知る) 技術を表す「プロンプトエンジニアリング」という用語も出現しました。 

バイブコーディングの現実

AI コーディングツールとバイブコーディングの技術により、今後もコーディングはより身近なものになっていくでしょう。その他のスキルの習得と同様に、またその他の業界や専門職と同様に、試行錯誤には多大な価値があります。デバッグセッション、Python や Java のバージョン、SDK やステップ実行に関する問題を明確に記憶している開発者は少なくありません。コードを作成することと、優れたコードを作成することは別のことです。現状としては、言語モデルがトレーニングされている方法により、データセットの一部に不正確な応答や不適切または古いコードが含まれている可能性があります。また、一般的なユーザーがモデルを自らで再トレーニングすることはできません

そのため、自分自身に投資することが解決方法になります。Red Hat では、AI や、Linux および Kubernetes などの基本的なテクノロジーに関する実践的なトレーニングを提供しています。AI の世界では、バイブコーディングと、従来のプログラミングによる AI 機能の拡張には、大きな将来性があります。これは「ラバーダック・デバッグ」のような手法だと思うかもしれません。ラバーダック・デバッグとは、開発者がコードの問題や意図を声に出してアヒルのおもちゃに説明し、問題を客観的に分析できるようにする一般的なテクニックです。AI とラバーダック・デバッグの違いは、AI の場合は、アヒルのおもちゃが答えを返してくれるという点です。

製品トライアル

Red Hat Enterprise Linux AI | 製品トライアル

LLM を実行するために最適化されたプラットフォームである Red Hat Enterprise Linux AI の 60 日間無料トライアルをダウンロードしてください。

執筆者紹介

Legare Kerrison is a Technical Marketing Manager and Developer Advocate working on Red Hat's Artificial Intelligence offerings. She is passionate about open source AI and making technical knowledge accessible to all. She is based out of Boston, MA.

Cedric Clyburn (@cedricclyburn), Senior Developer Advocate at Red Hat, is an enthusiastic software technologist with a background in Kubernetes, DevOps, and container tools. He has experience speaking and organizing conferences including DevNexus, WeAreDevelopers, The Linux Foundation, KCD NYC, and more. Cedric loves all things open-source, and works to make developer's lives easier! Based out of New York.

UI_Icon-Red_Hat-Close-A-Black-RGB

チャンネル別に見る

automation icon

自動化

テクノロジー、チームおよび環境に関する IT 自動化の最新情報

AI icon

AI (人工知能)

お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート

open hybrid cloud icon

オープン・ハイブリッドクラウド

ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。

security icon

セキュリティ

環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報

edge icon

エッジコンピューティング

エッジでの運用を単純化するプラットフォームのアップデート

Infrastructure icon

インフラストラクチャ

世界有数のエンタープライズ向け Linux プラットフォームの最新情報

application development icon

アプリケーション

アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細

Virtualization icon

仮想化

オンプレミスまたは複数クラウドでのワークロードに対応するエンタープライズ仮想化の将来についてご覧ください