コンテンツにスキップ

Vibe Codingで調子に乗って失敗した話

Author: Murata
  • 「業務をもっと楽したいなぁ」からこの話が始まった
  • 画面の結合テストの案をAIに出してもらおう!
  • なんか識字率低くね?
    • PythonでOCRのプロダクト作って座標とテキストを出力するプロダクトを作ろう!
  • 自分でイチからPython書くのめんどくさすぎる
    • ClaudeCodeさん、出番です
  • プロンプトを書いてテストして、細かいバグフィックスをして、を繰り返す
  • 割といい感じに作れた(ここまで1時間程度)
  • OCRの精度テストしよー

    • あれ?やっぱり識字率がよくないな・・・
      • 文字認識の精度(%)が30%とか出てくるな・・・
        • OCRエンジン変えてみるか
        • チューニングしてみるか
  • 識字率アップのために、規定の精度に達していない文字は再評価して識字率アップを狙おう!

    • え、めっちゃ時間かかる・・・
      • time uv main.py --(オプションを大量につける) /path/to/images/*.png
      • え、実測値で70分!?画像6枚に!?
        • え、再評価したのに40%台がちらほらある・・・
          • 4Kだから仕方ないか?
            • SeleniumでFHDまでウィンドウサイズ変更すれば速度変わりそう
              • え!?変わらない!?
                • その上文字が滲んでる!?
                  • エッジを強くだしてみる
                    • 大失敗!逆に潰れる!
      • リファクタリングにリファクタリングを重ねてみる
        • Python自身は遅くなかった
          • OCRエンジンがバカ遅い!!!!!!
  • マルチスレッド処理になっていない?

    • なってた
  • 軽量化オプションつけて、余計なことはしないようにした?

    • した上に時間が無限にかかる
  • え〜、わっかんない!

    • AIと壁打ちしてみよ〜
      • AI「Pythonは問題ない、エンジン部分(C++)が死ぬほど遅いです」
        • OH
  • ! GPUがまだあるじゃん!

    • CUDA使っちゃおうかな〜w
      • PC「AMDです」
      • 使えない
        • AMDで他にないか探す
          • あったが、内部GPUは非対応
  • ぼく「AI、AMDの内部GPUを使ったOCRエンジンを作ろうと思うんだ」

    • AI「無理」「ム・リ」「お前学習データどうするつもりなん?」
      • ぼく「・・・」
        • AI「GoogleCloudPlatformにOCR APIあるゾイ」
          • ぼく「セキュリティの問題と従量課金がきつい」
  • ぼく「ん?そもそも業務で使うなら、ドキュメントに『よく使う項目』をあらかじめ用意しておけばよくね?」

    • 例)ボタン押下時の処理・・・コードからClaudeCodeで該当箇所を探せばよい
      • 定型文(主に共通コンポーネント箇所)はコピペで問題ない
        • こうして、テスト仕様書に書くコンポーネント群がExcelの「common」シートに溜まっていくようになった
  • 見切り発車でプロダクトを作るな!

    • 自作は本当に必要か?
      • そもそも、その プロダクト自体 が必要なのか?
    • 他の手段はないのか?
      • 外部APIを使う、他人のプロダクトを パク 使用できないか?
        • GCPのAPIを使う際のセキュリティ面はどうなの?
          • 弊社ではまだその辺りが未規定で、年内には決めるらしい
  • Vibe Codingは素早く・ある程度・テストにテストを高速PDCAを回させてるだけ

    • 判断力が落ちてきてAI任せになりがち
      • コードレビューはしっかりやろう
  • 知るための情報がAIに偏りすぎている

    • Google、DuckDuckGoなどの検索エンジンで探してない
    • やはりコードを自分で書くのと、レビューのみするのでプロダクトの品質も変わってくる
  • マジで良く考えてからVibeでCodingしましょ

    • 一応言っておくと、私はVibe Coding(というかAIと共に開発すること)には賛成派
      • ノリで開発できて気軽だからね
      • その辺、長期の目でみるか、短期の目で見るかが大切だと思った