【実測】CSV1,000個の結合、AIに"丸投げ"したら2分7秒だった|ただし無料ChatGPTには「20個の壁」
「面倒な作業はAIに頼めば一瞬」——この言葉、実測してみると半分ホント、半分ウソでした。
CSVファイル1,000個(合計50,000行)を1つのExcelに結合する作業を、手段を一切指定せず「依頼文だけ」でAIエージェントに丸投げしたところ、実測で127秒(2分7秒)。しかも結果は行数・金額合計まで原本と完全一致し、AIは出力の検証まで自分でやってから報告してきました。ここまでがホントの部分です。
一方でウソの部分。この「丸投げ」ができるのは有料のエージェント型AIの話で、無料のChatGPT(Web版)は仕様上、1メッセージに添付できるファイルが20個まで。1,000個の丸投げは、そもそも受付の時点で成立しません。そして最速はAIですらなく、一度作ったスクリプトの使い回しで平均27.15秒でした。
この記事では、実測した2つのテストの中身と、実測できない部分(ChatGPTのWeb版)は「仕様からの計算」であることを明示した上で、結局どう使い分ければいいのかまで書きます。
検証の条件(先に全部開示します)
- データ: 前回記事と同一仕様で再生成したダミー売上CSV。sales_0001.csv〜sales_1000.csvの1,000個、各50行・合計50,000行。列は日付/商品名/数量/単価/金額の5列(UTF-8 BOM付き)、金額=数量×単価。乱数シード固定(シード42)で、生成条件を毎回同じに揃えています
- 場所: OneDrive同期の影響を避けるため、ローカルのTempフォルダ(OneDrive外)
- テストA(AI丸投げ): このプロジェクトの文脈を何も持たない、別プロセスの素のAIエージェント(Claude Code)に、事務職風の依頼文だけを渡す。「CSVファイルが1,000個入っています。全部まとめて1つのExcelファイルにして保存してください。どの行がどのファイル由来か後で分かるようにも」(要旨)。手段のヒントは一切なし
- テストB(スクリプト準備済み): 前回記事に載せたスクリプトと同一処理を3回実行
- 実行順とキャッシュ状態: A→Bの順で実施。つまりテストBは、Aが1,000ファイルを読んだ後の「キャッシュが温まった状態」での計測です。Aはデータ生成直後の実行でした。この条件差はBに有利に働くため、フェアな条件を先に開示しておきます
実施日は2026年8月18日です。
テストA:AIエージェントに丸投げ——実測2分7秒、検証まで自走した
依頼文を送ってから完了報告が返るまで、実測127秒(2分7秒)。この間のツール実行は6回で、AIの思考時間とコード作成の時間も含んだ数字です。
面白かったのはAIの行動の中身です。ログを追うと、こう動いていました。
- まず数ファイルをサンプルとして開き、列構成と文字コードを確認
- pandas(表データ処理の定番ライブラリ)で結合スクリプトを自作
- 実行してExcelファイルを出力
- 出力を自分で開き直して、行数・先頭行・最終行をチェック(自己検証)
- 検証結果を添えて完了報告
「作って終わり」ではなく、頼んでいない検証まで自走した点は、正直予想以上でした。「どの行がどのファイル由来か分かるように」という曖昧な依頼も、元ファイル名の列を追加する形で正しく汲み取っています。
もちろんAIの自己申告は信用せず、実験者側でも独立に検証しました。出力は50,000行、金額合計164,369,766円で原本CSVと完全一致。「金額=数量×単価」の整合もすべて成立し、由来列も正しく付与されていました。速いだけでなく、正確でした。
テストB:準備済みスクリプト——平均27.15秒(キャッシュ温)
前回記事のスクリプトをそのまま3回実行した結果です(単位:秒)。
| 実行回 | 読み込み | 結合 | Excel保存 | 合計 |
|---|---|---|---|---|
| 1回目 | 4.10 | 0.18 | 23.23 | 27.51 |
| 2回目 | 4.09 | 0.16 | 22.77 | 27.01 |
| 3回目 | 4.10 | 0.13 | 22.70 | 26.94 |
| 平均 | 27.15 |
出力の検証も原本と完全一致。前述のとおり今回はキャッシュが温まった状態での数字で、キャッシュが冷えた初回を含む前回記事の実測では3回平均59.45秒でした。丸投げの127秒と比べると、キャッシュ温の平均27.15秒に対して約4.7倍、キャッシュ冷を含む前回平均59.45秒に対しても約2.1倍(いずれも割り算による計算値)、スクリプト方式が速いことになります。
内訳を見ると今回もExcel保存が23秒前後で合計の8割超を占めており、ボトルネックの構図は前回と同じでした。
仕様からの計算:無料ChatGPTの「20個の壁」(ここは実測ではありません)
「じゃあ普段使っているChatGPTに丸投げすれば?」——ここは重要な注意です。ChatGPTなどWeb版チャットAIのブラウザ自動操作による実測は各社の利用規約で禁止されているため、このセクションは実測ではなく、公開されている仕様・検証報告からの計算です。
- ChatGPT(Web版)は1メッセージのファイル添付上限が20個。1,000個を渡すには単純計算で50回に分割して送る必要があります。さらに無料プランには1日の利用回数の上限もあります
- コード実行機能(Code Interpreter)は約120秒でタイムアウトするという検証報告があり、大量ファイル処理を1回で完走できるかは不透明です
- Excel CopilotはMicrosoft 365の有料契約が前提(保存場所などの条件もあります)で、無料で丸投げできる選択肢ではありません
つまり「AIに頼めば一瞬」のイメージのまま無料チャットAIに1,000個を持ち込むと、50回の分割アップロードという手作業が待っています。これが「半分ウソ」の正体です。手動での実測は、機会があれば後日追記します。
結論:3つの選択肢の使い分け(費用も正直に)
| 選択肢 | 時間(今回の実測/計算) | 費用 |
|---|---|---|
| エージェント型AIに丸投げ | 実測2分7秒 | 有料プラン前提 |
| スクリプト使い回し | 実測 平均27.15秒 | 無料 |
| 無料チャットAIに丸投げ | 仕様上、50回分割が必要 | 無料 |
- 一度きりの作業で、手順を考えるのも面倒なら、エージェント型AIへの丸投げは実測2分7秒・検証つきで実用レベルでした。ただしClaude Codeのようなエージェント型は有料プランが前提です。この費用を無視して「AIなら一瞬」と言うのはフェアではありません
- 毎週・毎月繰り返す作業なら、最初の1回だけスクリプトを用意して使い回すのが最速(27秒)かつ無料。実は無料版チャットAIも「1,000個を渡す」のは無理でも、「結合スクリプトを書いてもらう」相談相手としてなら十分使えます。過去記事のスクリプトはこの方法で作れる水準のものです
- 「AIに頼めば一瞬」は、道具の種類(エージェント型か、チャット型か)と費用を言わずに語られている限り、半分ウソ——というのが今回の実測の結論です
関連記事
- 【実測】CSVファイル100個の結合、Pythonなら平均3.8秒だった
- 【実測】CSVファイル1,000個(50,000行)の結合、Pythonなら平均59.45秒だった
- 【実測】Excel12シート(2,400行)の1枚化、Pythonなら平均4.7秒だった
この検証シリーズの始め方ガイド(コピペで使えるスクリプトの導入手順)は、Tipsの無料記事にまとめています。
コメント
コメントを投稿