AIで作ったPython、動いているのに人に渡すと困る理由

AIで作ったPython、動いているのに人に渡すと困る理由

記事
IT・テクノロジー
ChatGPTやClaudeにお願いして、Pythonのプログラムを作ってもらう。

以前ならプログラミングの知識が必要だった作業も、今ではAIと相談しながら形にできるようになりました。

実際に動かしてみると、思ったとおりに処理が終わる。「これなら仕事でも使えるかも」「ほかの人にも渡せそう」と感じる瞬間です。

でも、ここで一つ疑問があります。

そのプログラム、本当にほかの人のパソコンでも使えるのでしょうか?

例えば、自分のPCには必要なライブラリが入っている。でも、受け取った人のPCには入っていない。

自分では当たり前に使っているフォルダが、相手のPCには存在しない。

正常なファイルでは動くのに、入力ファイルが空だったり、必要な列がなかったりすると突然止まる。

さらに厄介なのは、エラーが出ずに処理が終わっても、結果が正しいとは限らないことです。

「動いた」と「正しく動いた」は、実は別の話なんです。

そこで今回、架空の請求集計ツールを使って、納品前にどんな問題を見つけられるのか試してみました。

対象はPythonで作られた小規模なプログラム。ソースコード、説明書、依存ライブラリの情報などを照合する自主検証です。

あらかじめ8件の問題を仕込んで確認したところ、静的な検査で6件を検出できました。

例えば、説明書には書いてあるのに実際には使えない起動オプション、既存の出力ファイルを上書きする可能性、個人情報が画面やログに残り得る処理などです。

一方、2件は検出できませんでした。

金額計算の端数処理に関する問題と、テストが十分な内容を確認していない問題です。

今回の検証では対象プログラムの実行試験も行っていません。

つまり、6件見つかったから安心というわけではありません。見つけられなかった問題も、確認できなかった動作も残っています。

ここで大切だと感じたのは、問題を見つけることだけではなく、「何を確認できて、何を確認できなかったか」を整理することでした。

人にプログラムを渡すとき、受け取る側が知りたいのはコードの中身だけではありません。

どうやって起動するのか。どんなファイルを用意するのか。どこまで動作確認されているのか。問題が起きたら何を確認すればいいのか。

こうした情報が揃っているだけでも、引き継ぎのしやすさは変わってきます。

もちろん、すべての問題を事前に発見することはできません。それでも、確認済みのことと未確認のことを分けておけば、引き渡す側も受け取る側も、次に何を確認すべきか判断しやすくなります。

今回の自主検証をもとに、AIで作ったPythonツールの納品前診断サービスも用意しました。

依存関係、起動手順、不具合リスクなどを確認し、問題点や未確認事項を日本語のレポートにまとめるサービスです。安全に実施できると判断した場合には、架空データによる動作確認も行います。

「AIで作ったツールをほかの人に渡したいけれど、不安がある」「説明書やテストが十分なのか分からない」という方は、サービスページからご相談ください。

また、Pythonに限らず、AIで作ったツールを使っていて困った経験や、「こんな確認ができたら便利」というアイデアがあれば、ぜひ教えてください。

AIで作れるものが増えたからこそ、作った後にどう使い、どう引き継ぐかも考えていきたいと思います。


サービス数100万件のスキルマーケット、あなたにぴったりのサービスを探す