10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

※この記事はマナビDX Questで得たもの Advent Calendar 2025の15日目の記事です。
前日12/14はシーズン1は長生 卍郎さんの「卍郎、討ち入られる。~マナビDXクエスト企業協働(企業側)の話~」、翌日12/16は@NitCelciusさんの「マナビDXQに駆け込んで2年、もう大学生でなくなる私へ — データと泥臭く遊んだ、私なりのものづくりの記録」です。
シーズン2は前日12/14が座禅いぬさんの「PhysicalAIにチャレンジして撃沈した話」、投稿日の12/15が座禅いぬさんの「敢えて生成AIを使わない領域」、翌日12/16が座禅いぬさんの「成果だけを追うのではなく、負荷も追おうぜ」です。
同じ名前を3回書いた気がしますが多分気のせいでしょう。

※この記事はネタ記事です。
昨年までは(比較的)真面目な記事を書いていたので、今回はポップなテイストの記事になっています

はじめに

そもそもマナビDXQuestとは

マナビDXQuestとは、DXの実現に向け、ビジネスの現場における課題解決の実践を通じた 能力を磨く目的で経済産業省が実施しているプログラムです。

マナビDX Questは、企業データに基づく実践的なケーススタディ教育プログラム及び、地域の中小企業との協働による、デジタル技術を活用した地域企業協働プログラムからなります。

対象読者

この記事では、以下のような読者を想定しています。

  • マナビDXQuestに興味がある方
  • マナビDXQuestに参加された方
  • バイブコーディングについて気になっている方
  • 非エンジニアだが、AIがあればエンジニアが要らなくなると考えている方
  • 年末の忙しい時期に笑い話で一服したい方

事前知識:バイブコーディングとは

この記事にある「バイブコーディング(Vibe Cording)」とはざっくり書くと、「AIに指示を出すと、その内容のコードを作成、実装まで行ってくれる」コーディング手法のことです。
(OpenAI共同創設者、元Tesla AI責任者のAndrej Karpathy氏により2025年冒頭に提唱された概念だそうです)
従来のチャットベースのAIにコードを提示してもらうだけでなく、AIに指示を出すだけでコードを実際にファイルに書き込むことや編集・削除、環境の構築やライブラリのインストールなども実施してくれます。
自動車に例えるとこれまでの開発はマニュアル車、一方でバイブコーディングは自動運転タクシーのウェイモ(Waymo)のような感じです(=ゴールを伝えると、自動的にギアの調整やブレーキなどを操作して目的地に到着してくれるイメージ)

何があったのか

今年のマナビDXQuestで体験した、恐怖体験について時系列順でお伝えします。

第一章 Gemini CLIとの出会い

今年の上旬に知人と話していたところ、「Gemini CLI」というツールについて話を聞く機会がありました。
調べたところ、Googleが提供しているオープンソースの(基本)無料で使用できるAIエージェントツールとのことで、早速インストールしてみることにしました。
※AIエージェントとは、指示を受けてその回答をくれるだけではなく、その指示を元にAIが自律的に動いてくれるツールのことです。

ただ、ここで使用感をあまり確認せず、放置していたのが悲劇(喜劇)の始まりでした...
(起動後イメージ)
image.png

第二章 増長する人間

マナビDXQuestが開始した際、私はSIGNATE提供版のテーマ3を選択しました。
このテーマではPythonを使用したデータ分析を行う内容となっていました。
概要

Pythonを用いたプログラミングが必要です。表形式データを用いた予測や分類の基礎を学びます。

営業リストは多くの顧客情報であふれているけれど、誰にアプローチすべきかが見えない…。 このケースでは、地方銀行を舞台に、過去の営業データを分析して「成果が見込める顧客」をAIで予測。営業効率を高める施策立案を疑似体験します。

この課題を見た時に繁忙期で着手が遅れたこともあり「ちょっと前にインストールしたGemini CLIを使ってみるチャンスでは?」ということに気が付きました。
早速、課題の資料などを(AIに喰わせても問題ない形にした上で)Gemini CLIに読み込ませることが出来るのかや、何が出来るのかを試してみることにしました。
ちょっと調べてみたところ、ローカルにあるファイルを読み込ませられるということだったため、早速コマンドプロンプトからGemini CLIを起動し、以下のような指示を出しました。

やり取りは全て日本語でお願いします。また、都度私に確認と解説を入れながら作業をお願いします。
これからAIによる予測のコンペに参加して頂きます。
使用する言語はPythonです。
ローカルは競合の可能性があるので仮想環境を構築してPythonを実行ください。
コードの管理は以下のフォルダで実施します。
"path/path/path"
コンペに関する資料・データは以下の通りです。
"path/path/path"

すると爆速でGemini CLIは資料を読み込み、これから何をすればよいのか、そして次に何をすればよいのかと取組みの案を提示してくれました。
次の取組みも、YES/NOの方式で、その内容を実行して良いか聞いてくれる形式だったため、私はただエンターキーを押すか、追加の指示をするだけでどんどんコードが書かれて行きます。
(しかもChatGPTとのチャットで出したコードと違い、エラーが出た際も勝手に修正を行なってくれます)
私は調子に乗り、あれをやれだの、これをしろだのをただ自然言語で打ち込むだけ。
それだけなのにみるみるちゃんと動くコードが作られていく(しかも自分で書くより良いものが)、その全能感に酔いしれていきました...
image.png

そして追加の指示を出すこと数回、初回の結果がものの数分で出来上がりました。
昨年までえっちらおっちらと環境構築をしたり、各指標の意味を理解するのに一日かけていた過去が嘘のような速度で出来上がることに感動を覚えました。
そして結果を確認後、当然ここから精度のブラッシュアップをしていきます。
データ分析では、特徴量を増やす/減らす/変える などのアプローチをして、精度が上がらないかを試していきます。
当然精度が常に上がるわけではなく、下がることもあります。
これも当然にGemini CLIに「良さげな特徴量を提示してくれ」「YES(OK)」「実装してくだい」という指示を出すだけでコードは1分も掛からぬうちに変更され、まるで自分が魔法使いにでもなったのかのような勢いでコードが進化していきます。
そのまま、私が偉そうにエンターキーを押し続けたとき、遂に事件は起こりました...
image.png

第三章 そして悲劇(喜劇)は突然に

大小事件は色々あったのですが、特に印象的な2つの事件について紹介します。

第一節 復活(出来ない)の罠

少し時刻を遡りますが、実際にコードを書かせている最中、Gemini CLIがあるライブラリのインストール要求をしてきました。
早速許可したところ、「適用には再起動が必要です」とのコメントが返ってきました。
念のため、Gemini CLIに「ここまでの内容って再起動しても覚えてる?」と聞いたところ、「はい、私はちゃんと覚えています」という頼りになる回答が。
ChatGPTなどもこれまでのチャット内容などは覚えていてくれることから、同じだろうと高を括った私は早速PCを再起動し、再度Geminiを立ち上げて「さっきの続きからよろしく」と打ち込むと、「何のことでしょうか」という気の抜けた回答が返ってきます。
どういうことだとGemini CLIを激詰めすると、どうやらGemini CLIは過去(再起動前、というかGemini CLIを落とす前)に実施した作業を覚えていないということが判明しました。
頭を抱えるとともに、頭を抱えていても作業は進まないので改めて先ほどの指示を出し直し、その上でさらに今後は実施した作業内容を記録させることにしました。
image.png

第二節 タイムマシンはどこに行ったのか(失ったものは失って初めて大切さに気が付く)

そして精度が下がり、かつ上昇しなくなったタイミングで第二の事件は発生しました。
そのとき、私は何気なくコードの切り戻しを命じました。
すると、「切り戻し出来ない」との謎の回答が...
お前は何を言っているんだと、私は生意気にも「gitから巻き戻せ」という指示を出します。
※gitとは、ソースコードを履歴で管理し、切り戻しなどが出来るようにするWordの編集履歴のような機能です。
すると再度「出来ません」との回答が返ってきます。
もしや...と思い、「gitで管理してるよな...?GeminiCLI君...?」と聞いたところ「いいえ」との絶望的な回答が。
口汚く罵りながら諦めてそこからコード・精度を戻せないかと試みるも、残念ながらいずれも戻ることは無く、ただ徒に時間が過ぎていくだけでした...
ここで初めて私は、自分がgitで管理することを指示していなかったこと、自分では普段当たり前にやっている作業過ぎて気が付いていなかったこと、コミットとかも勝手にやってくれてるんだろうな〜と思い込んでいたという事実に気がつきました。
「AIエージェントがいくら賢かろうとも指示していないことはやってくれない」という(人間相手でも)当たり前すぎる事実を認識出来ていなかったのです。
(言い訳をするなら、あまりにも賢いのでGitでの管理くらい当然にやってくれているだろうという慢心がありました)
image.png

最終章 絶望の夜明けと結果発表

そしてついに、提出期限前日になりました。
悪の組織の幹部よろしく「もういい私が出る」としたものの、AIが書いた大量のコードを一日で読めるわけもなく、良い特徴量も提示出来ず、アッサリと返り討ちに合いただGemini CLIで精度が上がるのを期待することしか出来ません。
最終的に精度は上がらず、過去の一番の精度のもので提出することにしました。
その後、結果を見ると暫定順位から大幅に順位が下がっており、自分の愚かさを痛感した良い経験となりました。
image.png

マナビDXQuest(この失敗)から学んだこと

この経験から、以下の内容を学びました。

  • (人間も同じですが)AIに依頼するときは、使用するツールなどを事前に言語化した上で指定する必要がある
  • AIが何を行っているのか、自分で把握する、或いは簡単に把握できるようにする仕組みが必要
  • データ分析などでは、有効な特徴量が何なのかを自分で仮説立てる必要がある(AIが出したものを鵜呑みにしても上手くいかないことがあることを認識しておく)

今後に活かすこと

このようなことを避けるために、現在では以下のような指示書を書き、その指示書に沿って作業をしてもらうようにしています。

前提
やり取りは全て日本語でお願いします。また、都度私に確認と解説を入れながら作業をお願いします。
これからAIによる予測のコンペに参加して頂きます。

言語、ツール
使用する言語はPythonです。
コードはGitでの管理をお願いします。
また、VSCodeを使用するので、Gitとの接続等を適切に実施下さい。
ローカルは競合の可能性があるので仮想環境を構築してPythonを実行ください。
また、作業内容は適宜作業記憶としてテキストファイルを作成し、記載ください。
コードの管理は以下のフォルダで実施します。
"path/path/path/path"

元データ
「コンペデータ」配下にCSVで存在するため、それをMySQLに格納して正規化やリレーションシップ等、適切にデータベース設計をお願いします。
また、MySQLに格納したデータは適宜必要なviewを定義し操作していく想定ですが、より良い方法があればご提示ください。
コンペに関する資料は以下の通りです。
"path/path/path/path"

MySQL情報
また、インストールされているMySQLの情報は以下の通りです。データベースは適切に作成をお願いします。
mysql database

最後に

とネタ記事の形式で書きましたが、単純に私のAIに関する理解が足りていなかっただけだというのが結論だったので、皆さんには是非同じ轍を踏まないようにしていただけると幸いです。
AIが悪いわけではなく、ツールを使う側の理解が大切なので、「AIに任せれば全部解決」ではなく、良いパートナーとして皆さんも扱っていただけると良いと感じてます。
また、マナビDXQuestはとても楽しいのでご興味のある方は来年ご参加いただけると嬉しいです(多分来年もあるはず...)
教材だけでなく、受講生同士の交流や様々なイベントもあるので是非学習したい方や、他の方と交流したい方、知見を広めたい方などにはとても良い環境だと考えています。
是非、来年のマナビDXQuestでお会いしましょう!

10
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?