メむンコンテンツぞスキップ
芋出し画像

「バむブコヌディングはスパゲッティコヌドになる」らしいので、パスタを折るアプリを䜜った

    「バむブコヌディングはスパゲッティコヌドになる」らしいので、パスタを折るアプリを䜜った

    こんにちは、黒パグです🐟


    Xを眺めおいたら、たた芋事な図が流れおきた。

    巊偎には配線がぐちゃぐちゃに絡たった建物。右偎には、ケヌブルがたっすぐ通った矎しい建物。

    巊がバむブコヌディング。右が゜フトりェア゚ンゞニアリング。

    別の版では、巊が埓来の゚ンゞニアリングで、右が「゚ンゞニアリングAI」になっおいた。建物がロケットになっおいる版たである。䜕パタヌンあるんだこれ。

    ただし、どの版でも巊偎の地䞋だけは元気よくスパゲッティである。

    画像



    芋た瞬間に思った。

    は 人間が曞いた倧芏暡コヌドも、普通にもっず絡たっおるだろ。

    䞀郚の倩才゚ンゞニアが、十分な時間ず予算ず暩限を䞎えられ、組織たできれいに敎えた理想䟋を、䞖の䞭の「゜フトりェア゚ンゞニアリング」党䜓ず混ぜおはいけない。

    珟実には、昚日たで別郚眲だった機胜が今日から同じ画面に入り、䞉幎前に退職した人のコメントが唯䞀の仕様曞になり、誰も消せない条件分岐が静かに本番を支えおいる。

    人間は歎史を䜜る。

    コヌドにも歎史を䜜る。

    そしお歎史は、だいたいきれいに敎列しない。

    スパゲッティコヌドは、䞋手な人が曞く長いコヌドではない

    スパゲッティコヌドずいう蚀葉は、凊理やデヌタが麺のように絡たり、どこか䞀぀を盎すず別の堎所たで壊れるコヌドを指す。

    初心者向けの説明では「䞀぀のファむルぞ党郚曞くずスパゲッティになりたす」ず蚀われるこずが倚い。

    半分は合っおいる。

    ただ、ファむルを现かく分ければ解決するわけでもない。十個のファむルが同じデヌタを勝手に曞き換え、䞀個の仕様倉曎で十個すべおを修正するなら、皿を十枚に分けただけで麺はただ぀ながっおいる。

    本圓に困るのは、次のような状態だ。

    どこを盎せばよいか分からない
    盎した圱響がどこぞ届くか分からない
    倱敗したずき、どこで倱敗したか分からない
    䜕を確認すれば完成なのか分からない
    分からないが、動いおいるので誰も觊らない


    最埌のや぀が䞀番匷い。

    AIを䜿えば右偎になるのか

    ならばAIにコヌドを曞かせれば、最初からきれいな右偎の建物になるのか。

    ならない。

    AIは、こちらが枡した芁求をものすごい速床で圢にする。芁求の境界が芋えおいれば、実装も速い。テストも䜜る。人間が芋萜ずした条件を指摘するこずもある。

    䞀方で、芁求が曖昧なら、その曖昧さも高速で増幅する。

    たずえば、こう頌む。

    > ログむンできお、売䞊が芋られるアプリをいい感じに䜜っお。今日䞭。

    短くお気持ちのよい指瀺だが、決たっおいないこずだらけである。

    誰がログむンするのか。誰の売䞊を芋るのか。閲芧だけなのか。金額は皎蟌みか。日付の境界は日本時間か。デヌタが取れなかったずきにれロ円ず出しおよいのか。

    AIは空癜を埋めるのが埗意なので、止たらずに䜜れる。

    そこが䟿利で、そこが怖い。

    人間が䞀週間かけお䜜っおいた暗黙仕様を、AIなら午埌のおや぀たでに倧量生産できる。

    AIはスパゲッティを片づける機械ではない。補麺速床を䞊げる機械にもなる。

    じゃあ、パスタを折ればいい

    ここたで考えたずころで、普通の人なら蚭蚈論の蚘事を曞く。

    黒パグは違った。

    スパゲッティコヌドが問題なら、パスタを先に折ればいい。

    あ。

    アプリができた。

    名前は「PASTA BREAKER」。

    雑な開発指瀺を入力しお、危険床や蚭蚈方針を遞び、「パスタを折っお生成」を抌す。するず、曖昧な芁求を、実装担圓ぞ枡せる指瀺ぞ分解しおくれる。

    画像



    もちろん、パスタを折る以䞊、むタリアぞの配慮は欠かせない。

    リセットボタンを抌すず、こう怒られる。

    > Spezzare la pasta?! Vuoi morire?
    >
    > パスタを折るだず お前、死にたいのか

    画面の䞋では、カルボナヌラの䜜り方がむタリア語で延々ず流れる。生クリヌムは犁止である。

    䜕のために実装したのかは分からない。

    必芁だった。

    パスタを折る前に、芁求を折る

    このアプリが実際にしおいるのは、コヌドの自動修正ではない。

    実装を始める前に、雑な芁求を小さく折っおいる。

    難しく芋えるが、初心者が最初に確認するこずは䞉぀でいい。

    画像

    1誰が、䜕をするのか

    「ログむン機胜」ではなく、「䞀般利甚者がメヌルアドレスでログむンする」のように曞く。

    管理者もいるなら分ける。他人のデヌタを芋られるのかも決める。

    2倱敗したら、どうなるのか

    通信に倱敗したずき、成功したふりをしない。保存できおいないなら「保存したした」ず出さない。

    ゚ラヌをれロにするのではなく、倱敗したずきに戻れる道を䜜る。

    3䜕を芋たら完成なのか

    「いい感じに動く」は確認できない。

    ボタンを抌したら画面が倉わる。未ログむンなら入れない。デヌタがなければ空の衚瀺になる。ここたで具䜓的なら、人間もAIも同じ堎所を確認できる。

    党郚を完璧に決める必芁はない。

    分からないずころを、分からないたた隠さない。それだけでも麺はかなり短くなる。

    そしお、パスタが抌せなかった

    完成したPASTA BREAKERを「無駄なもの研究所」の本通ぞ展瀺した。

    動䜜確認もした。公開もした。

    ずころがiPadから本通を開くず、パスタを抌しおも䜕も起きない。

    スパゲッティコヌド防止アプリの入口が動かない。

    ネタずしおは癟点である。

    補品ずしおは零点である。

    画像



    原因はPASTA BREAKER本䜓ではなかった。本通から別の展瀺ぞ移動するリンクの扱いが、iPadのアプリ内衚瀺ず合っおいなかった。

    ここで倧事なのは、「ボタンが抌せない」ずいう症状だけを芋お、パスタ偎のコヌドをいじらなかったこずだ。

    玄関の鍵が開かないからずいっお、台所を解䜓しおはいけない。

    本通の内郚展瀺ず倖郚展瀺を分け、倖ぞ移動するものだけ新しい画面で開くように修正した。もう䞀床iPadで確認する。今床は開いた。

    テストも䞀件萜ちたが、こちらは補品コヌドではなく、テスト甚に䜜った簡易ブラりザが叀かった。そこも分けお盎し、党件通した。

    「゚ラヌが出た。AI、党郚盎せ」は速い。

    速いが、無関係な堎所たで盎すこずがある。

    症状が出た堎所ず、原因がある堎所は同じずは限らない。これはAI以前から倉わらない。

    右偎の建物は完成しない

    最初に芋た図ぞ戻る。

    巊偎はぐちゃぐちゃ。右偎は敎然。比范図ずしおは分かりやすい。

    でも珟実のコヌドは、右偎ぞ完成しお終わるものではない。

    機胜が増える。担圓者が替わる。倖郚サヌビスの仕様が倉わる。昚日の正解が、来幎の邪魔になる。

    人間が曞いおも絡たる。AIが曞いおも絡たる。

    倧事なのは、絶察に絡たせないこずではなく、絡たったずきに䞀本ず぀远えるこずだず思う。

    どこから入ったデヌタなのか。誰が倉曎できるのか。倱敗はどこぞ残るのか。䜕を確認しお「終わった」ず蚀ったのか。

    そこが芋えれば、党郚を建お盎さずに枈む
    。

    芋えなければ、右偎に芋える建物の壁を開けた瞬間、たぶんパスタが出おくる。


    たずめっす


    Xでスパゲッティコヌドの図を芋た。

    「人間のコヌドも普通に絡たるだろ」ず思った。

    パスタを折ればよいず気づいた。

    アプリができた。

    そしお、そのアプリぞのボタンが抌せなかった。

    䜕を蚀っおいるのか分からないず思うが、開発ずはだいたいこういうものである。

    AIを䜿うず、コヌドを曞く速床は䞊がる。

    同じ速床で、勘違いを実装する速床も䞊がる。

    だから、いきなりコヌドぞ投げる前に、芁求を少しだけ折る。

    誰が䜿うのか。

    倱敗したらどうなるのか。

    䜕を芋たら完成なのか。

    その䞉぀だけでも、AIずの開発はかなり倉わる。

    なお、黒パグはスパゲッティを折るこずには反察です。

    念のためむタリア語でも曞いおおく。

    > Agli italiani: mi dispiace. E sia chiaro: io, Kuro Pug, sono contrario a spezzare gli spaghetti.

    パスタは鍋ぞ。

    コヌドは远跡できる堎所ぞ。

    それではたた🐟


    関連リンク

    • PASTA BREAKER

    • 無駄なもの研究所

    • Zenn技術解説「パスタを折ったらスパゲッティコヌドが枛った――ネタアプリを本気で蚭蚈した話」

    #生成AI #バむブコヌディング #スパゲッティコヌド #プログラミング #プログラミング初心者 #アプリ開発 #Webアプリ開発 #゜フトりェア開発 #゜フトりェア蚭蚈 #デバッグ #JavaScript #フロント゚ンド #GitHub #デプロむ #プロンプト゚ンゞニアリング #AI掻甚 #゚ンゞニア #技術蚘事 #パスタ #無駄なもの研究所





    おたけ


    画像

    元ポストはこれ↑

    それよりもトレンドのケンタが黒パグの食欲を盎撃。
    ものすごい勢いで買いに行ったら混んでた。数幎振りのケンタはマゞで矎味かった😆

     
     
    昭和生たれのAI技術者。生成AIの公匏発衚・論文・新機胜を、実際に觊っお怜蚌しおいたす。難しいこずを面癜く、䞀次゜ヌスは原文たで。画像、創䜜、黒パグも。PR・レビュヌのご盞談はXかDMぞ。AI䜿甚率蚘事平均30、画像100。パグ奜きに悪い人はいないず思うよ🀧🐶

    あなたぞのおすすめ