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

街たるごず、AIでMinecraftにしおみた第4話凊理時間を玄97%削枛 ― 11時間を、玄23分に

    前回たで

    平野でも、火山の島でも、デヌタを差し替えれば街が䜜れるようになった前回。

    今回は、その "街を眮く"䜜業そのもの でハマった話です。
    地味ですが、効果はいちばん倧きいかもしれたせん。

    ある日、VSCodeが突然匷制終了した

    ここたでは、順調だったんです。城の呚り400mから、2km、10km、別の地域  ず、範囲をどんどん広げおも、問題なく䜜れおきた。「これだけいけるなら、垂党䜓たるごずでも䜙裕でしょ」。
    そう高をくくっお、PLATEAUのフィヌルド党䜓を読み蟌たせお、実行。
    「よし、あずは任せた。おやすみなさ〜い」ず就寝。

      そしお朝。動いおいるはずの、開発に䜿っおいたVSCode゚ディタが、いない
    萜ちおる凊理も途䞭で止たっおいたした。え、なんで

    たず疑ったのは「ブロック数の䞊限4億に匕っかかったのでは」
    でも、調べおみるず違いたした。
    サヌバヌそのものは元気で、萜ちたのは"衚瀺しおいるVSCode"の方だけ。
    真犯人は、䞊限でも故障でもなく——ログ凊理の蚘録の措氎でした。

    なぜVSCodeが匷制終了するのか——数の話

    結論から蚀えば、今回配眮しおいたブロックは——なんず玄110億個。
    半埄2kmのひず区画"だけ"でも玄5,150䞇個ですから、街たるごずになるず桁が跳ねお、110億です。

    問題は、その眮き方でした。
    圓時は「ブロックを1個ず぀、サヌバヌに呜什しお眮いおいく」やり方図1巊偎。
    110億個ぶんの呜什を延々ず送る——そしお
    呜什を出すたびに、実行の蚘録ログが残っおいく。
    塵も積もれば、で、ログは玄3.2GBたで膚匵。
    VSCodeはこの蚘録の措氎に耐えられず、力尜きお萜ちたした。

    いやいや、3.2GBのログっお、ラノベ䜕冊分ですかね

    これだけの数を1個ず぀眮く → 蚘録が膚倧になる → VSCodeが匷制終了

    この回のゎヌル

    同じ街を、VSCodeが匷制終了せず、もっず速く眮けたら成功。

    画像
    図巊が改善前、右が改善埌

    たずは問題の切り分け。ログの膚倧さが真因なのか、別の原因でたたたた3.2GB付近で匷制終了するのか 
    ログを完党に抑制しお、ずにかく最埌たで配眮を仕切るこず。ログ抑制しお半日かけお凊理が無事終了。
    これで犯人が特定できたので、あらためお、"眮き方"そのものの芋盎しに着手したした。

    こうやっお盎した
    ——「送る」のをやめお「曞く」

    発想を倉えたした図1右偎。
    「1個ず぀呜什を送る」のをやめお、「完成品Minecraftのセヌブファむルを、盎接曞き蟌む」方匏に。

    たずえるなら、
    改善前は「積み朚を1個枡すたびに係員に眮いおもらう」
    改善埌は「完成した箱を、棚にそのたた差し蟌む」。
    係員サヌバヌずのやり取りが䞞ごず消えるので、呜什もログも出たせん。

    結果がこれです。
    同じ110億ブロックでも、旧来のRCON方匏呜什を1個ず぀だず玄11時間。それが、盎接曞き蟌みなら玄23分で完了。
    時間にしお、玄30分の1です。
    詊しに枬った半埄2kmの区画5,150䞇ブロックだず、たった4秒。
    玠晎らしい、想像以䞊の効果です。
    しかも眮かれるブロックの䞭身も、粟床も、たったく同じ。
    ぀いでに、呜什を出さないのでログも膚れず、VSCodeが匷制終了問題も根っこから消えたした。

    ちなみに、私がやったのはこういう流れです。
    たず凊理の流れパむプラむンを䞀床敎理しお、どこが詰たっおいるかボトルネックを芋぀ける。
    次に「分割する 䞊列にする 根本的に芋盎す」ず、AIず察策方法を察話し実珟方法を敎理する。
    方針が固たったら、あずは実装——そのコヌドは、もちろんAIが実装。

    正盎、実装力もさるこずながら、AIの蚭蚈力がすごい。
    こっちが指瀺しおいるのか、うたく誘導されおいるのか、分からないくらい笑。
    実際こねくり回すより "構造を䜜り替える" 。
    ただ、この倧芏暡な䜜り替えリファクタリングは、正盎、自分だったら気が滅入る  。
    そこを AIが高速に䜜り盎しおくれる のが、本圓にありがたい。
    もちろん、デグレヌド䜜り盎した結果悪化するこずはよくあるこずなので、そこは実装前にあらかじめ手を打っおおきたす。
    その段取りず芋極めこそが、人間偎の仕事なんだず思いたす。

    なにができた

    「できるかどうか」で蚀えば、A方匏でも䞀応できおはいたした。11時間かければ。
    でも仕事で効くのは、 「できた」「成果・効果」 です。

    画像
    効果怜蚌
    • 配眮時間110億ブロックの垂党䜓が、RCON方匏 箄11時間掚定→ 盎接曞き蟌み 箄23分実枬玄1/30(箄97%削枛)

    • 党工皋生成配眮は玄7時間。
      内蚳生成 箄6.7時間  配眮 箄23分。

    • 蚘録の措氎玄3.2GBでVSCodeが匷制終了問題解消

    • 街の䞭身玄110億ブロック、粟床もそのたた

    同じ結果を、桁違いに速く、安党に。
    これができるず、「もっず広い街を詊したくなる」のが人情ですよね
    "やれる/やれない"より、"やっお、効果がでるか"——ここを芋せられるのが、地味ですが倧事だず思っおいたす。

    たずめ

    VSCodeが匷制終了した原因は䞊限でも故障でもなく、ただの"蚘録の出しすぎ"。
    そしお本質的な解決は、「眮き方の構造そのものを倉える」 方法を取りたした。
    遊ぶナヌザには関係無いずころなのですが、開発者ずしおは倧事なポむントでした。できるからよい。では無く、改善できるこずはないか考え続けるのは倧事だず改めお感じた回でした。

    最埌に

    掟手な絵は無い回ですが、**「11時間が玄23分になる」**みたいな話こそ、珟堎では効いおきたす。
    遊んだこずもなかったMinecraftから始たっお、気づけば"どう速く・安党に回すか"たで来おしたいたした。
    AIの力を借りれば、意倖ずむロむロできるんだな、ず再実感。


    本蚘事は非公匏のファンコンテンツです。 Mojang / Microsoft が承認・提携するものではありたせん。 NOT AN OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.

    デヌタ出兞
    本蚘事の3D郜垂モデルは「PLATEAU」囜土亀通省を加工しお䜜成しおいたす。
    出兞囜土亀通省 PLATEAU ( https://www.mlit.go.jp/plateau/open-data )
    地圢囜土地理院 ( https://www.gsi.go.jp ) ( https://maps.gsi.go.jp ) を利甚
    道路・斜蚭等の䞀郚© OpenStreetMap contributors ( ODbL, https://www.openstreetmap.org/copyright )

    むラストは党おAIで䜜成しおいたす。

     
     

    connect with

     
     
    本業は瀟内SE. 副業で゚ンゞニア向けの瀟員教育やDX導入のご支揎をさせおいただいおおりたす

    あなたぞのおすすめ