AIに「もっとシンプルに」と頼むと何が変わるのか。コード行数と読みやすさのトレードオフ

AIにコードを書いてもらった日のことです。あの感動は今でもはっきりと覚えています。自分が何時間もかけて悩んでいた処理がありました。それがボタン一つで画面に表示されるのです。まるで魔法を手に入れたような気分でした。しかしその魔法には思わぬ落とし穴が存在します。運用するうちにコードがどんどん長くなっていきました。私はそれに不安を感じ始めたのです。画面をスクロールしても終わらない行数を眺めます。私はすっかり怖くなってしまいました。

もっとすっきりさせたいと思いました。そんな軽い気持ちでAIにお願いしたのです。「もっとシンプルにして」と入力します。この一言が後の数時間を無駄にしました。大失敗の始まりになるとは思いもしなかったのです。短くなったコードは救いではありません。誰にも解けない暗号に変わってしまいました。今回は非エンジニアが陥りがちな罠を紹介します。「コードのシンプルさ」に関する私の苦い経験です。

AIコードの重圧、短縮の期待と現実

最初は順調に進んでいました。AIが私の代わりにExcelを仕分けしてくれます。それはPythonで書かれたコードでした。手作業では半日かかっていた業務が存在します。それがわずか数秒で終わるようになったのです。しかし行数が300行を超えたあたりで異変が起きました。私の心に小さな焦りが生まれたのです。何か不具合が起きたときのことを考えます。これほど長い記述のどこを直せばいいのでしょうか。全く見当がつかなかったからです。

自分の理解を上回るボリュームのコードがあります。その事実が背負いきれない重荷に感じられました。私はこの重圧から逃れたいと願ったのです。チャット欄に「もっと短く書き直して」と入力します。コードが短くなれば中身も理解しやすくなるはずです。その考えを信じて疑いませんでした。エンジニアの「美しいコードは短い」という言葉があります。それをどこかで耳にしたのも影響したのでしょう。

短いコードへの期待と現実

短縮されたコードこそが正解だと思い込んでいました。AIからの「最適化しました」という返事を待ちます。私はとてもワクワクした気分になったのです。短いコードなら印刷しても1枚に収まります。デスクの脇に置いていつでも確認できると考えました。そんな甘い見通しを立てていたのです。しかし実際に返ってきた回答は全く違いました。私の想像を絶する形をしていたのです。



AIコードの読めないブラックボックス

画面に表示された新しいコードを確認します。私は完全に言葉を失ってしまいました。行数は確かに半分以下になっていたのです。しかしそこには見たこともない記号が並びます。複雑に絡み合った括弧もたくさんありました。特に驚いたのは処理の短さです。以前は10行ほどあった処理が1行に変化しました。リスト内包表記と呼ばれる書き方だそうです。私にとっては呪文のようにしか見えませんでした。

AIに頼んだ結果を正直にお話しすると、元のコードでは5つのステップに分かれていた処理が、1行の巨大なリスト内包表記に変わってしまいました。lambdaという単語や謎の記号が並んでいて、自分が書いたコードのはずなのに1文字も読めない状態になってしまったのです。

日本語インターフェースのコードエディタ画面です。長いリスト内包表記が書かれています。AIのチャットバブルも見えます。寒色系の落ち着いたオフィス環境です。realistic screenshot style

真っ黒な箱コード、修正の恐怖

短くなったコードは私が触れられるものではありません。どこか一箇所でも文字を消してしまったら大変です。二度と動かなくなるような気がしました。私はマウスを動かす手さえ震えてしまったのです。シンプルにしたはずなのに中身が全く見えません。私にとっては「真っ黒な箱」になってしまいました。これではトラブルが起きたときに困ります。自分で原因を探すことなど不可能だからです。

VBA・Pythonをもっと本格的に学ぶなら

VBAやPythonを実務レベルまで引き上げたい方には「侍エンジニア」がおすすめです。マンツーマン指導・オーダーメイドカリキュラムで、文系出身でも挫折しにくい環境が整っています。無料カウンセリングだけでも学習ロードマップが明確になります。

侍エンジニア 無料カウンセリングを予約する →

言葉の定義のズレが生んだ悲劇

この失敗を通じて私は大きなことに気づきました。エンジニアが言う「シンプル」が存在します。私たち非エンジニアが求める「シンプル」は別物です。両者は意味が根本的に違っているのです。プロの視点では少ない行数で動くコードが評価されます。無駄がない状態が「シンプルで美しい」とされるのです。機械が処理する効率を最大限に高めた結果と言えます。重複を削ぎ落とした結果があの1行の魔法のコードでした。

しかし私たち事務職にとっての基準は別です。処理の手順が一つずつ目に見えることが大切になります。まずこのファイルを読み込みます。次にこの列のデータを確認するのです。もし空欄だったらエラーを出します。このように階段を一段ずつ上る構成が重要です。それこそが最も理解しやすい形だと言えるでしょう。行数が多くても一行一行が何をしているか説明できます。それが私たちが安心して使えるコードの条件でした。

AIと私の「シンプル」定義の壁

AIは私の「シンプルに」という言葉を受け取りました。それをエンジニア向けの定義で解釈したのでしょう。熟練者にとっては読みやすい短縮記法が存在します。しかし独学で学ぶ私には高すぎる壁でした。言葉の定義のズレが悲劇を生んだのです。便利ツールのブラックボックス化を招いてしまいました。効率を優先するあまり大切なことを忘れていたのです。「自分が理解できること」を置き去りにしたと反省しています。

短いコードはデバッグ地獄

具体的に私が失敗したコードの例を挙げてみます。大量の請求書データから抽出する処理です。期限が切れているものだけを抜き出します。AIが最初に書いたコードは泥臭いものでした。For文を使って一行ずつ判定を繰り返す形だったのです。それを短くさせた結果はどうなったでしょうか。高度な関数が組み合わさった1行のコードに変わりました。確かに見た目はとてもスマートに感じられます。しかし期限の条件を「1週間後」に変更したい場面を想像してください。どこをいじればいいのか全く分からなくなってしまいました。

泥臭いFor文で書いた15行のコードなら、エラーが出ても3分もあれば原因がわかります。しかし1行に短縮されたコードは、理解して修正するまでに45分以上かかってしまいました。行数が減っても、デバッグにかかる時間は15倍に増えていたのです。

コードの複雑性とデバッグ

泥臭いFor文であれば修正はとても簡単です。if文の横にある数字を書き換えるだけで済みます。万が一エラーが出てもすぐに対処できるでしょう。何行目で止まったかが一目瞭然だからです。一方で1行に凝縮されたコードは厄介だと言えます。エラーが出た瞬間に「その1行のどこか」が悪いとしか分かりません。中身を解剖するように読み解く必要があります。結局は全ての処理を書き直す羽目になってしまいました。

日本語で書かれたPythonのコード画面です。左側にはコメント付きで分かりやすいFor文があります。右側には1行に凝縮された難解なコードが並びます。オフィスのデスクでコーヒーカップが隣に置かれています。realistic photo style

AIコード、理解なしは危険な爆弾

AIに書いてもらったコードをそのまま使うと危険です。たとえ今は動いていてもいつか必ずエラーは起きます。そのとき自分がコードの内容を理解していなければ困るはずです。業務が完全にストップしてしまうからです。上司から「何が原因なんだ」と聞かれるかもしれません。「AIが書いたので分かりません」とは答えられないでしょう。それは職場でツールを運用する者として失格です。最も避けたい事態だと言えます。

以前、在庫管理を自動化するためにAIに短くしてもらったコードを使ったことがありました。運用開始から3ヶ月後に突然エラーが出て停止してしまいます。中身が複雑すぎて自分では手が出せず、結局そのツールは使うのをやめて手作業に戻すことになりました。

メンテナンスができないツールはただの爆弾です。短くてスマートなコードに憧れる気持ちは分かります。しかしその魔法が解けたとき責任を取るのは自分自身なのです。AIが責任を取ってくれるわけではありません。どんなに泥臭くても一行ずつ意味を説明できるのが理想と言えます。その状態を常に保つことが重要になるでしょう。非エンジニアがプログラムを取り入れる際のルールです。最低限守るべきことだと痛感しました。

薄暗いオフィスの事務職員の姿です。画面には日本語のエラーメッセージが表示されています。難解な1行コードも映っているのが分かります。書類が散乱している様子も確認できるでしょう。realistic photo style

分かりやすさこそ自動化の正義、修正コストと属人化対策

職場での自動化で最もコストがかかる場面が存在します。それは「作ったとき」ではなく「修正するとき」です。業務のルールは頻繁に変わるものだと言えるでしょう。消費税率が変わったり新しい取引先が増えたりします。そのたびにコードには微調整が必要になるのです。このとき高度なテクニックを駆使した短いコードは非常に厄介な存在になります。修正の難易度を極端に跳ね上げてしまうからです。自分だけでなく他の人に引き継ぐ場面もあるはずです。そうなれば苦労はさらに増大してしまいます。

職場を見渡すと、作成者が異動した後に誰も触れなくなった自動化ツールがいくつかありました。「怖くて使えない」という声をよく聞きます。自分も心当たりがあって、中身がブラックボックスになったコードは、トラブルが起きた瞬間に「ただの時限爆弾」になってしまうのだと実感しました。

読めるコードの正義

「長くて読めるコード」は解説付きの地図のようなものです。誰が見てもどこで何をしているかがすぐに伝わります。たとえPythonの知識が乏しい後輩でも心配いりません。日本語のコメントが添えられた素直なFor文が存在します。それなら「ここを直せばいいですね」と理解してくれるはずです。属人化を防ぎチーム全体でツールを使い続けるためと言えます。分かりやすさこそが最大の正義だと言えるでしょう。

日本語のコメントが入ったPythonコードの画面です。処理の内容が分かりやすく解説されています。背景にはチームで使う共有ファイルの棚が見えます。realistic screenshot style

AIに読めるコードを頼むプロンプト術

ではどうすればAIに読みやすいコードを書いてもらえるのでしょうか。試行錯誤の末に私は一つのプロンプトに辿り着きました。それは「もっとシンプルに」という言葉を封印することです。代わりに別の言葉で伝えてみてください。「Pythonの初心者が分かるようにベタ書きしてください」と頼むのです。たったこれだけでAIが返す回答の質は劇的に変わります。

プロンプトを「小学生でも分かるように、手順を一つずつ分けて記述してください」と変えてみました。するとAIはリスト内包表記の使用を避けるようになり、素直なFor文とif文で書いてくれるようになったのです。たった一言の変化で、返ってくるコードがここまで変わるとは思っていませんでした。

さらに一言添えるのも非常に効果的です。「難しい短縮記法は絶対に使わないでください」と伝えます。AIは私たちが思っている以上に指示に従おうとしてくれるのです。こちらが「自分は初心者である」と素直に認めましょう。あえて低いレベルでの記述を求めてみてください。それに合わせた最適な「読めるコード」を生成してくれます。見栄を張らず等身大の指示を出すのが成功の近道でした。

AIとのチャット画面です。ユーザーが「もっと泥臭く初心者向けに」と入力しています。AIが手順を分けて記述しますと返答しています。日本語のUIが特徴的です。UI mockup style

AIに「泥臭く」が本当のシンプル

AIに「もっとシンプルに」と頼んで大失敗した日がありました。あの日から私のコードの書き方は180度変わったのです。今の私の手元にあるコードはどれも長いものばかりと言えます。300行や500行を超えることも珍しくありません。しかし不思議なことに以前よりもずっと安心感があります。どの行を見ても何をしているか手に取るように分かるからです。行数の多さはもはや恐怖の対象ではなくなりました。丁寧な説明の積み重ねだと捉えられるようになったのです。

プロンプトをたった1行変えるだけで結果は大きく変わります。その事実は私にとても大きな自信を与えてくれました。ツールの良し悪しを決めるのはコードの短さではありません。使う人がどれだけ安心できるかが重要になるのです。AIが書いたコードが難しすぎて困っている方はいませんか。もしそうならぜひ一度別の言葉でお願いしてみてください。「もっと泥臭くベタ書きで」と伝えてみましょう。そこには求めていた「本当のシンプルさ」があるはずです。

私たちはエンジニアではありません。コードを美しく書くことよりも大切な使命があります。目の前の業務を確実かつ楽に終わらせることです。そのために背伸びをした最新技術は必要ありません。自分が愛着を持って使い続けられるツールが一番と言えます。



無料プレゼント

Excel業務を自動化する前に確認するチェックリスト(PDF)

自動化していい作業かどうか、VBAかPythonか、最初に避けるべき落とし穴。実務でよく迷うポイントを1枚にまとめました。メールアドレスだけで受け取れます。

無料でチェックリストを受け取る

¥980 ミニキット

コピペで動かせる3スクリプト+自動化チェックリスト

最新ファイルの自動選択・部署名ゆれの正規化・CSV文字コード確認の3本セット。今週の作業を1つだけ楽にするための最小キットです。

ミニキットを見る(¥980)

関連リンクとチェックリスト

関連書籍

AI・ChatGPT活用関連書籍を、手元で見返せる形にしておきたい場合

生成AIの使い方は、実務で試しながら少しずつ型を増やすほうが続けやすいです。手元で見返せる本があると、プロンプトや活用例を確認しやすいです。

AI・ChatGPT活用関連書籍をAmazonで探す

学習サービスとアンケート

このスキルを活かしてさらに前へ進むなら

PythonやExcel自動化スキルを持ったまま、ITエンジニアとして転職したい方には「EBAエデュケーション」が選択肢です。企業が求めるエンジニア像に合わせたカリキュラムで、実務直結のスキルを習得できます。

ITエンジニア転職・EBAエデュケーション →

[アンケート] この記事は役に立ちましたか?


1問だけ回答する