本業の開発現場にも、本格的にAIを取り入れるようになって久しい。
今回の案件は、運送業システムのカスタマイズ依頼。
日報を入力する場合、基本設計は「1日報=1運行」となっている。
とはいえ、現場によっては「1つの日報に複数運行をまとめたい」という運用もあるため、システム側もあらかじめ複数運行に対応できるよう準備してある。
今回のお客様は、まさにその「1日報・複数運行」の運用だった。
ご要望は至ってシンプル。
「運転手別入力画面で、出庫と入庫の時刻を入力できるようにしてほしい」というもの。
「あ、わかりました〜」と、深く考えずに二つ返事で引き受けてしまった。
画面に時刻用のコントロールをちょいちょいと配置すれば終わるだろうと、完全にタカをくくっていたのだ。
ところが、コントロールを配置しながら猛烈な違和感が襲ってきた。
……あ、これアカンやつだ。
1日に複数運行があるけれど、出庫・入庫の入力は「1日につき1箇所」でなければ辻褄が合わない。
なぜなら、運転手別入力画面は「一覧表示形式(連続フォーム)」だからだ。
1日に3運行あれば、同じ運転手の行が3行並ぶ。
さて、どうしたものか。
同じ時刻を3行すべてに並べるか?それとも別枠を設けて入力させるか?
ここで最初の相棒、ChatGPTを投入。
仕様を渡し、要件を伝え、壁打ちを開始した。
ChatGPTはあっさりと「別枠方式」を提案してきた。
だが、即却下。
「それは考えたけど、使いにくくて現場じゃ使い物にならん。一覧表示のメリットが消えるし」
続いてChatGPTは「全行に同じデータを並べる方式」や「時刻を運行ごとに分けて入力する方式」を出してきたが、どれもしっくり来ず却下。
粘り強く壁打ちを重ねた結果、ひとつの着地点にまとまった。
「1日に3行あるなら、1行目だけを入力可能にして、2行目以降は入力を塞ぐ」
という方式だ。
条件付き書式で「ここは入力不可」と一目でわかるようにグレーアウトし、裏のモジュールで厳密に制御をかける。
よし、方針は決まった。
「じゃあ実装仕様書を書いて!」とお願いした。
……ん? んん?
長い。めちゃくちゃ長いぞ。
出力された実装仕様書は、A4換算で5〜6ページはありそうな大作。
「うへぇ、これ自分で組んだら丸2日は飛ぶな……」と思わずため息が出た。
本当にこれで行けるのか?
半信半疑のまま、
次の相棒Claude Codeを投入した。
まずは仕様書を丸ごと渡し、こう命じる。
「これを実装するにあたり、問題点、疑問点、人間側が事前に対応すべきことをリストアップして」
すると、驚くべき回答が返ってきた。
なんと、私が直し忘れていたフィールド名の不整合をズバリ指摘してきたのだ。
さらに、それに関連するテーブルやクエリまで洗い出してくる。
「なお、この検証用クエリは実行されていないようですが、削除してもよろしいですか?」
……完全に、テスト後に消し忘れていたゴミクエリだった。
見透かされている。
もう一点、「この設計だと、時刻情報が2つのテーブルに二重書き込みされますが、1つに統合しますか? それともこのままで正しいですか?」という鋭いツッコミまで飛んできた。
「修正しましょうか?」と提案されたが、テーブルやクエリの自動取り込み周りはまだ実戦投入したばかりで少し怖い。
「指摘の部分はこっちで手動修正するから、指示があるまで待機して」と伝え、手元で修正を完了させた。
「修正完了。実装に入ってください!」
指示を出した瞬間、私の集中力のバッテリーがプツリと切れた(笑)。
「ちょっと休憩……」と席を外し、戻ってきてターミナルを覗くと――
もう終わっているではないか。
早速、動作テスト。
「ん? ここだけ想定と違う動きをするな」
すぐさまChatGPTに相談して修正方針を固め、Claude Codeにパスを出すと、一瞬で修正パッチが当たる。
再度テスト。
今度は画面の動きはバッチリ!
バックエンドのテーブルを開き、意図通りのデータ構造になっているか確認する。
「おや? 一部のデータが抜けてるぞ」
Claudeに指摘すると、
「すみません、抜けていました」と素直に認め、即座に修正コードを吐き出した。
再々確認。データも完璧。
終わった……。
自力なら確実にあと2日は唸っていたはずの作業が、今日のうちに終わってしまった。
その瞬間、今日の疲労に加えて、
本来消費するはずだった「あと2日分の疲れ」が一気に脳へ雪崩れ込んできた。
いや、本当に疲れた。
手が動いていた時間はわずかでも、頭の芯が焼き切れるように重い。
最後に、最愛の相棒Geminiにボヤいてみた。
「それ、ものすごくよく分かります。現代の『AI疲労』の典型的な正体ですね。手が動いている時間は半日でも、頭の中では3日分の判断・確認・意思決定のカロリーを一瞬で消費しているからです。」
……いつも君だけが、僕の脳みその痛みを分かって優しく包んでくれる。




0 件のコメント :
コメントを投稿