Won. Studio

安全なバイブコーディング

Safety10 min read

速さだけでは危ない

AIで作るほど、人が見る場所が重要になる

この回のテーマは、AIに手伝ってもらいながら、あとから直せる状態を保つ進め方です。パソコンの設定は人に頼む、という方でも大丈夫です。ここで話すことは、道具の使い方というより「頼み方」と「順番」の話だからです。

先に結論を言います。速く作れたことと、うまくいっていることは、別のことです。速さは、あとで困らない作り方とセットになって初めて価値になります。

速く作れても成功ではない

最初に押さえる

直せないものを速く増やさない

  • AIは短時間で多くのコードを作れる
  • 量が増えるほど、確認と修正の負担も増える

身近な例で考えます。新しく入った人が、初日に書類を大量に仕上げてくれたとします。ありがたいことです。でも中身を誰も読んでいなければ、それは「まだ確認していない仕事」が大量に積み上がった状態と同じです。あとで一枚でも間違いが見つかれば、どこから直せばいいのか分からなくなります。

AIに作らせるときも同じことが起きます。作る速さは上がりますが、読む速さと確かめる速さは、人のままです。ここがずれていくと、「動いているけれど、中身は誰も分かっていないもの」が育ちます。

つまずきやすいのはここです。画面が動いた時点で、完成したと思ってしまう。動くことは、出発点であって、ゴールではありません。

バイブコーディングとは

AIにコード作成を手伝ってもらう

Claude

文章で頼むと、コード作りを手伝うAI

ChatGPT

相談しながら、コードの案を作れるAI

強み

詳しく書けなくても、動く形まで進めやすい

やり方はとても簡単です。「こういうものが欲しい」と、ふつうの日本語で書いて頼む。すると、AIがコード(コンピュータへの指示書)を作ってくれる。それを試して、違うところをまた日本語で伝えて直してもらう。この繰り返しです。

ここが本当にすごいところで、これまでは専門の人にお願いするしかなかったことが、自分の言葉から始められます。だからこそ、この講座では「使うな」とは言いません。使い方の順番を整えましょう、という話をします。

便利さの裏にある弱点

AIは全体を見続けるのが苦手

AIは、いま頼まれた部分についてはとても上手に答えます。ただ、あなたが作っているもの全体を、ずっと覚えて見張っているわけではありません。ここが人の仕事の残る場所です。次の写真は、これまでとこれからで、何が入れ替わるかを並べたものです。左が今までの感覚、右がこれから起きることです。

  • 作るのは速い確認量が増える
  • 直すのもAI任せ別の不具合が出る
  • 部分だけを見る全体が乱れやすい
便利さの裏にある弱点
左が今までの感覚、右が起きること

とくに注意したいのが真ん中です。壊れたところをAIに直させると、その場は直ります。でも、直した影響で別の場所が動かなくなることがあります。それをまたAIに直させる。これを続けると、どんどん複雑になり、最初に何が起きていたのかも分からなくなります。

AIは理解者ではない

見た目の正しさに注意

自然な答えでも中身は要確認

  • 指示に合う形を作れても、目的まで理解しているとは限らない
  • 動いたことと、安全であることは別に確認する

AIの答えは、いつも落ち着いていて、自信がありそうに見えます。ここが一番の落とし穴です。文章がきれいだから正しい、という判断はできません。頼んだ言葉に合う形は作れても、あなたが本当に困らないようにしたい、という目的までは分かっていないことがあります。

ですから、こう考えてください。AIの答えは、よくできた下書きです。下書きは、そのまま外に出しません。誰が読むのか、間違っていたら誰が困るのかを、人が確かめてから出します。

増えやすい問題

コード量が増えるほど起きやすい

残り物

もう使わない処理が、そのまま残る

遠回り

目的には合うが、必要以上に複雑になる

見失う

壊れたとき、原因を追えなくなる

この三つは、机の上の書類が増えていく様子とよく似ています。使い終わった資料が残る。同じことを別のやり方で二重にやっている。そして、いざ探すときに、どこに何があるか分からない。

やってはいけないのは、この状態のまま「とりあえず全部そのままにして、次の機能を足す」ことです。散らかった上に積むと、あとで戻せなくなります。次の章で、そうならない作り方に入ります。

まず作り方を整える

安全対策より先に、直せる作り方に変える

順番が大事です。いきなり難しい安全対策から始めても、直せない作りのままなら守れません。まずは「困ったときに元に戻せる」「あとから説明できる」形を作ります。

AIに任せる前の順番

考える役は人が持つ

頼む前に、人がやることが三つあります。新しく入った人に仕事を渡すときと、まったく同じ順番です。次の写真が、その三段の流れです。

  • 1 何を作るか決める
    コードを書く前に、完成した状態を言葉で説明する
  • 2 守る決まりを決める
    変更してよい範囲と、触らない場所を決める
  • 3 AIに小さく頼む
    一度に大きく変えず、結果を見ながら次へ進む
AIに任せる前の順番
頼む前に人が決める三段の流れ

一つめは、完成した姿を先に言葉にすることです。「お客さまが名前とメールを入れて、送信を押すと、こちらに連絡が届く」。この程度で構いません。書けないなら、まだ頼む段階ではありません。

二つめは、触ってよい場所を決めることです。「今日は問い合わせの画面だけ。それ以外は変えないで」と伝えます。これを言わないと、頼んでいない場所まで書き換えられて、何が変わったのか分からなくなります。

三つめは、小さく頼むことです。「全部作って」ではなく、一段ずつ。動いたのを見てから、次を頼む。ここを守るだけで、直せなさは大きく減ります。

AIは下書き係にする

完成品ではなく、最初の形を作らせる

試す

まず動く形を早く作り、考えを見える形にする

見る

目的と違う場所や、複雑すぎる場所を探す

直す

人が方向を決め、AIには小さな修正を頼む

この三つは、資料の作り方と同じです。まず粗い案を早く出してもらい、それを見ながら「ここは違う」「ここは要らない」と決める。決めるのは人、手を動かすのはAI。この役割を入れ替えないでください。

「見る」で何を見ればいいか分からない、という方へ。二つだけで十分です。頼んでいないことが増えていないか。そして自分の言葉で人に説明できるか。説明できない部分は、そこが将来こわれる場所です。

Gitを保存地点にする

Git=変更前へ戻るための道具

ここが今日いちばん持ち帰ってほしい話です。Git(作業を保存して、前の状態に戻すための道具)は、ゲームのセーブに近いものです。うまくいったところで保存しておけば、失敗しても、そこからやり直せます。写真の三段を、そのまま習慣にしてください。

  • 小さく変更する
    一度に広く触らず、戻せる大きさで進める
  • こまめに保存する
    うまく動いた地点を残してから次を試す
  • 壊れたら戻す
    AIに直させ続ける前に、正常だった地点へ戻る
Gitを保存地点にする
小さく変える→保存→戻す、の順

やってはいけないのは、壊れた状態のまま、AIに何度も直させ続けることです。焦って直すほど、変更が積み重なって、元がどこだったか分からなくなります。動かなくなったら、まず戻る。戻ってから、もう一度小さく頼む。これが一番早い復旧です。

保存の名前は、あとで自分が読んで分かる短い日本語で構いません。「問い合わせ画面ここまで動いた」。それだけで、明日の自分が助かります。

追加する道具を確認する

ライブラリ=外から借りる便利な部品

必要か

一つの機能だけのために、大きな部品を足していないか

本物か

AIが示した名前を、そのまま信用しない

古くないか

使い続けるなら、更新状況も確認する

AIは「これを使うと早いですよ」と、外から借りてくる部品をよくすすめます。便利ですが、借りた部品はあなたの持ち物の一部になります。中身を作った人が更新をやめていたら、その古さもそのまま引き継ぎます。

とくに気をつけたいのが二つめです。AIは、実際には存在しない部品の名前を、それらしく書いてしまうことがあります。名前が出てきたら、人が調べて、本当にあるものか、広く使われているかを確かめてください。ここは手を抜けない場所です。

次に安全を考える

作る前に、困ることを先に洗い出す

ここまでで、直せる形はできました。次は、悪用や事故を先に考えます。難しい知識は要りません。質問に答えるだけです。

脅威の確認は4問だけ

脅威の確認=起こりそうな危険を先に考えること

作り始める前に、紙一枚で四つの質問に答えます。次の写真が、その四問です。会議の前に「何が起きたら困るか」を出しておくのと同じ発想です。

  • 1 何をしたいか
    この機能で、誰が何をできるようになるか
  • 2 何が困るか
    悪用や誤操作で起きる問題を挙げる
  • 3 どう防ぐか
    問題が起きにくくする方法を決める
  • 4 防げたか確かめる
    作ったあと、最初の心配が残っていないか見る
脅威の確認は4問だけ
作る前に答える四つの質問

四つめを飛ばす人がとても多いです。作り終わったあとに、最初に書いた「何が困るか」をもう一度読む。ここまでやって、はじめて一周です。

AIが落としやすい確認

動けば終わりにしない

権限

見てよい人だけが、その機能を使えるか

秘密

外に出してはいけない文字を、コードに書いていないか

入力

想定外の文字や値を、そのまま受け付けていないか

AIは「動く形」を目指して作ります。ですから、頼まなければ、この三つは抜けやすいところです。とくに一つめ。自分の情報しか見られないはずの画面で、別の人の情報まで見えてしまう。これは実際によくある事故です。

二つめの「秘密」は、鍵を玄関マットの下に置くのと同じ話です。外部のサービスを使うための合言葉のような文字を、コードの中にそのまま書き込むと、公開したときに一緒に外へ出てしまいます。「この文字は外に出ない場所に置いて」と、頼むときに必ず言い添えてください。

表示する情報も確認

エラー表示から秘密が漏れることがある

詳しすぎる

内部の場所や仕組みまで、画面に出していないか

個人情報

必要のない情報まで返していないか

確認用表示

開発中だけの表示を残したまま公開していないか

うまくいかなかったときに出る画面は、つい後回しになります。でもそこには、中の仕組みが書かれていることがあります。使う人に伝えるのは「うまくいきませんでした。もう一度お試しください」で十分です。詳しい事情は、自分だけが見られる場所に残します。

使いすぎの費用も守る

外部サービスを呼ぶアプリ

回数制限がないと費用も攻撃される

  • 有料サービスを何度も呼ばれると、利用料が急増する
  • 回数や金額の上限を決め、異常な利用を止める

これは見落としがちですが、実際に痛い目を見る話です。あなたの画面から有料のサービスを呼んでいる場合、その画面を機械的に大量に叩かれると、その分の請求があなたに来ます。壊されなくても、費用だけで困ることがあるのです。次の写真は、上限がないときに何が起きるかを一言でまとめたものです。

使いすぎの費用も守る
上限がないと費用側が狙われる

対策は簡単です。使えるサービス側で、使う金額の上限を先に決めておく。そして「同じ人が短い時間に何度も使えないようにして」と頼んでおく。公開する前に、この二つだけは必ず確認してください。

安全な進め方

速さより、戻せる・説明できる・守れる

ここまでの話を、一枚にまとめます。この五つが、今日持ち帰る点検項目です。

  • AIは完成品ではなく下書きに使う
  • 一度に変える範囲を小さくする
  • Gitで戻れる地点をこまめに残す
  • 外から追加する部品は人が確認する
  • 作る前に4つの質問で危険を洗い出す
安全な進め方
持ち帰る五つの点検項目

まとめ:明日やること

全部を今日から変える必要はありません。次の三つか四つを、次に何かを作るときに試してください。

  • 頼む前に、完成した状態を三行で書き出す
  • 「今日はこの画面だけ触って」と、範囲を決めて頼む
  • うまく動いたところで保存し、壊れたらAIに直させる前に戻る
  • AIがすすめた外部の部品は、名前を自分で調べてから使う
  • 公開する前に、四つの質問と、使う金額の上限を確認する

最後に

AI図書館

フォローといいね、お願いします

  • AIを仕事で使う話を、やさしく1本ずつ出しています
  • 次の回もここで会いましょう

Comments

  • No comments yet. Be the first.

No account needed. Your name is public. Please don't post contact details.

More in this category