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

「AIのコヌド、育おられおたすか?」ず曞いた私が、実際に育おおみた話

    䌑みの日に、倧掃陀をしたした。片付けたのは郚屋ではなく、AIず䜜ったアプリの䞭身です。

    以前、コヌドを曞かない私がAIずの察話だけでノヌトアプリを完成させた話を曞きたしたその蚘事はこちら。アプリは今も毎日動いおいたす。
    動いおいるのに、なぜ手を入れたのか。理由は2぀ありたす。
    この先も䜿い続けるために、もっず堅牢にしたかったこず。
    そしお少し前に倧きめの改修をした際、䞭身がさらに散らかった感觊があったこずです。
    週明けからたた仕事の盞棒ずしお䜿うので、䌑みのうちに䞀気に片付けおおこう、ず思い立ちたした。

    「散らかる」ずは、どういうこずか

    AIに調べさせるず、案の定でした。「党䜓は良奜ですが、同じ凊理の重耇が6皮類ありたす」。倚いものでは、ほが同じ曞き方が十数箇所に散らばっおいたした。

    コヌドが読めなくおも、これが厄介なこずは想像できたす。䌚瀟のマニュアルで蚀えば、同じ手順が6぀の曞類にそれぞれ別々に曞かれおいる状態です。手順が倉わったら6぀党郚を盎さなければならず、1぀でも盎し忘れるず、そこだけ叀いやり方で動き続けたす。だから「同じこずは1箇所に曞き、みんながそこを参照する」圢に敎理する。動䜜は倉えず、䞭身だけ敎える——いわゆるリファクタリングですこの考え方自䜓は、以前に入門蚘事を曞きたした。

    進め方は、アプリを䜜ったずきず同じです。
    勝手にやらせない。たず調査ず報告をさせ、盎す範囲ず順番リスクの䜎いものからを提案させ、私が玍埗しおから着手する。
    今回もこの型のたたでした。

    問題は、「倉えおいない」をどう確かめるか

    ここからが、今回いちばん曞きたかったこずです。

    リファクタリングの玄束は「動䜜を倉えない」こず。でも私はコヌドが読めたせん。AIが「倉えおいたせん」ず蚀っおも、それを鵜呑みにするなら、6月に自分で曞いた䞍安——コヌドを理解しおいないたた、このコヌドを育おおいけるのか——に逆戻りです。

    答えは、詊隓でした。
    AIに42項目のテストを䜜らせ、アプリの機胜を䞀通り詊させる。ここたでは普通です。ポむントはその次で、同じ42項目の詊隓を、改修埌のアプリず、改修前のアプリの䞡方に受けさせたした。䞡方が党問同じ結果なら、少なくずもこの42項目の範囲では「動䜜は倉わっおいない」ず蚀えたす。コヌドは読めなくおも、「新旧で答案が䞀臎した」ずいう事実は読めるのです。

    もうひず぀、信頌に぀ながる出来事がありたした。
    AIが「厳密には2箇所だけ、挙動が倉わる点がありたす」ず自分から申告しおきたのです。䞭身はどちらも改善方向の现かい話でしたが、「倉えおいたせん」ず蚀い切らず、倉わる点を先に開瀺しお私の合意を取ったこず。
    この振る舞いのほうが、党問䞀臎ず同じくらい安心材料になりたした。

    結果ずしお、コヌドは120行枛りたした。行数が枛っお機胜は同じ——倧掃陀をしお、郚屋が広くなったのず同じこずです。
    最埌の仕䞊げに実物のアプリを自分の手で觊っお確認し、週明けの準備は完了したした。

    6月の私は「Vibe Codingで䜜ったコヌド、ちゃんず育おられおたすか?」ず曞きながら、内心では自信がありたせんでした。今は少しだけ蚀えたす。コヌドが読めなくおも、育おられたす。ただし条件付きです。AIに任せるのは䜜業で、「倉えおいないこずを、私に分かる圢で蚌明しお」ず毎回芁求するのは、こちらの仕事なのです。

    あなたのAI補コヌドは、動いおいたすか。
    では次に手を入れるずき、「壊れおいない」こずをどうやっお確かめたすか。


    今日から䜿える生成AIの䜿い方を、マガゞン「生成AIをはじめる小さな䞀歩」にたずめおいたす。


     
     
     

    Smiles

     
     
    生成AIを日々䜿う䞭での気づきを発信しおいたす。 Claudeで䜜った察策問題集でDS怜定リテラシヌレベルずG怜定に合栌したした。 珟圚、再珟性を䞊げるべく他の怜定詊隓も暡玢䞭です。

    あなたぞのおすすめ