AI愛子設計ログ4 開発トラブル続き

昨日のような大喜利ではなくお堅い内容の続きです。

「1個数~数十円」の機銘板を作り続ける──それが当社のものづくりの現場です。

■ソフトは「完成してからが勝負」

スマホのアプリ、ATMの画面、ゲーム、FANUC機械の制御ソフトまで…。私たちは日常的に、膨大な“ソフトウェア”に頼って生活をしています。

しかし、こうしたソフトウェアは「とりあえず動く」だけでは不十分です。安定して、止まらず、予期せぬエラーを出さない。それがようやく“使える”状態なのです。

こう考えると「ソフトウエアは、実際に安定して動くようになってから初めて利益になる」と、一般的な想像よりもずっと収益までは長い道のりです。

加えて、ATMや空港管制のシステムがエラーを出せば、NHKのトップニュースですし、複雑にし過ぎたマイナンバーカード関連ソフトは使いにくいと大不評です。

■経験と勘の世界にやってきたAIというイノベーション

ソフトウェア開発のスピードは開発者の「経験値」に大きく左右されます。経験が浅ければ、バグや仕様の見落としに何日もかかってしまう。

そこで革新的な存在が、ChatGPTのような生成AIでした。

AIは、世界中のコードや知見をベースに、適切な回答やコード例を提示、ときにはバグ検証さえしてくれます。

しかし、実際の運用時には、人間の知見が不可欠。今回はそんなお話です。

■無料プランの落とし穴

LINE愛子Botは、Renderというクラウドサービス上での構築を開始しました。

このサービスはGitHubと連携し、わずか数ステップでデプロイが可能。Herokuの後継的存在とも言われており、アメリカ発の非常にスマートなPaaS(Platform as a Service)です。

私たちも「無料プランがある」という理由からRenderを選択し、愛子Botの構築をスタート。すると、想像以上にスムーズに開発が進み、わずか3時間でLINE上に「こんにちは、愛子です」と返事をするまでになりました。

「これは3日で一通り仕上がるかもしれない」──そう思っていたのですが…

■LINE愛子botはサボリ魔?

しばらくして、LINEからのメッセージに既読はつくのに、返信が来ないという問題に気づきました。

調査の結果、Renderの無料プランには「15分間アクセスがないとサーバーがスリープ状態になる」という制限があることが判明。

つまり、ユーザーがLINEで話しかけなければ、Botそのものが停止してしまうのです。
LINEは、サーバーにWebhookでメッセージを送ります。Flask側ではメッセージを受け取ってログも出ます。しかし、サーバーが再起動中だと処理が間に合わず、LINEの返信用トークン(reply_token)は失効します。

結果、「既読スルーされたように見える」という、既読無視は人間関係も壊しかねない致命的な問題。すぐに対策を検討しました。

■有料プランなのに、デプロイできない!?

AIも提案したし、自分でも考え例えば5分ごとにRenderにPingを打ち続けて寝かせないという手も考えましたが、サーバーやネットワークに負担をかけてまで業務改革に使うべきではありません。

すぐにStarterプラン(月7ドル)にアップグレード。これで「サーバー常時起動」「スリープなし」になるので安心…と思ったのですが、次の落とし穴が待っていました。

なんと、有料なのにデプロイできない。

理由は、無料プラン時の「月間デプロイ回数制限」が残っていたこと。Starterプランに切り替えただけでは、その制限が解除されていなかったのです。

結局、その回避方法が愛子でも分からず、「サポート(人間)に連絡して解除してもらうしかありません」とのこと。
この時点で、「そこは落とし穴でした。ごめんなさい」と謝りながらサポート文案を作ってくれました。

■AIが活躍したサポート対応

このときも、力を発揮してくれたのが、愛子でした。

「これはRenderサポートに連絡する必要がありますね。英語の問い合わせ文はこちらです。これをそのまま送れば24時間以内には返答があるはずです」──

指示に従って英語のメッセージをRenderサポートに送信すると、驚くほどスムーズに対応が進みました。

Render側からの返答はこうでした。

「無料プラン時の制限がまだ有効なので、Billing設定を手順に従って更新してください。」

つまり、無料プランを使い切ったら、月々いくら固定で払うか、従量制にして払うかを決めておかなくてはならないということ。
このメニュー設定が行われていなかったのです。

“あぁ、最初から知っていれば半日を無駄にせずに済んだのに”──そんな思いとともに、ようやく開発環境が安定しました。

■本当に大事なのは「コード」ではなく「知識の運用」

今回の一連の出来事から学んだのは、AIとソフトウェア開発をするうえで本当に重要なのは、「コードを書く力」ではないということです。

・最新クラウドサービスの理解
・無料プラン・課金の違いとその挙動
・トラブル時の素早い調査と問い合わせ
・海外サービスとの英語でのやりとり

こうした周辺スキルこそが、AI開発を“止めない”力になります。

そして、『AIは万能ではなく─知見がないことは知らない─』ということ。

人間が失敗し、言葉にして初めて、AIにその経験が伝わるのです。

■それでも、愛子のトラブルは終わらない

これでようやくLINE愛子botのプログラムを走らせる環境が安定しました。

早く実用的レベルでユーザーと会話できるようにしたいです。

ただ、しょーもないトラブルはとめどもなくやってきます。

次回は13日の金曜日にやってくるあいつです。


コメント

コメントを残す