HAR→Python→ChatGPTをつないで、“止まらないフロー”に仕上げた案件

記事
コラム
■ 導入:既にある「手動フロー」を、まるごと自動化してほしいという相談

この案件は、最初からゼロの状態ではなく、依頼者の方がすでに

ブラウザから HARファイルを作成(手動)

その HAR を Pythonスクリプトで解析・抽出(手動実行)

という流れを運用されているところからスタートしました。

新たな要望としては、

抽出したデータ(複数の文章)に対して
ChatGPTで1件ずつ返事を書きたい。それも含めて一連の流れを自動化したい

というものでした。

つまり、「HAR作成 → Python抽出 → ChatGPTで整形 → CSVに蓄積」という
すでに存在しているフロー全体を、できるだけ人の手を介さず回したいという相談です。

■ 課題:工程が分かれているうえに、どこか一つ失敗すると全体が止まってしまう

もともとの運用は、

HARファイルを作る

Pythonスクリプトを実行して抽出する

抽出したテキストをChatGPTに貼って、返事を書いてもらう

それをまた別の形にまとめる

という形で、**工程ごとの区切りはあるものの、連携は完全に“手作業”**でした。

この状態だと、

実行のたびにファイルを指定してPythonを叩く必要がある

ChatGPTへのコピペと結果の保存が繰り返し作業になる

どこか一つで失敗すると、どこまで完了しているか追いかけるのが大変

といった、**「フローの長さ」「人手の介入」「失敗時の復旧のしづらさ」**が課題になっていました。

■ 改善①:処理をStep1〜6に分解し、Masterスクリプトで一括制御する設計へ

ここで私が最初に考えたのは、

すべてを一気に自動化する前に、工程を“ステップ”として分けて設計する

ということでした。

具体的には、

HAR関連処理

Pythonによる抽出

ChatGPTへの投入

回答の取得・整形

CSVへの書き出し

といった流れを、Step1〜Step6 のように段階ごとの処理として切り出し、
それぞれを個別のスクリプトとして構成しました。

そのうえで、最後に

各Stepを順番に呼び出す「Master.ahk」

を作り、
Includeしていく形で 一括実行できる“親スクリプト” にまとめています。

■ 改善②:各ステップごとに「成功/失敗」を判定し、復帰ルートも用意する

ステップを分けた目的は、単に整理のためだけではありません。

Stepごとに「実行成功したかどうか」を判定できるようにしておく

もし失敗しても、どのStepまで進んでいたかが分かる

必要に応じて、そのStepから再開できる“復帰ルート”を用意する

という「チェックポイント」の役割も持たせています。

これにより、

途中で失敗しても、最初からやり直しにならない

原因の切り分けがしやすい

長いフローでも安心して自動実行できる

という、“止まらないパイプライン”に近づけることができます。

■ 改善③:APIを使わずに、ChatGPTの回答を自動でCSVへ蓄積していく仕掛け

この案件の特徴の一つが、

ChatGPTのAPIは使わず、回答を自動でCSVに蓄積していく

という点でした。

依頼者が元々使っていたのは、「HAR → Python → テキスト」までの部分で、
そこから先は ChatGPTの画面を使って、複数の文章それぞれに返事を書いていきたい というニーズです。

そこで、

Pythonで抽出した文章を順に取り出す

ChatGPTに投入して、1件ずつ回答を取得する

その回答を CSV行として蓄積していく

途中で回答取得に失敗しても、全体が止まらず進める よう制御する

という流れを、Step群+Masterでまとめました。

ここでも、
「すべてを一気にやる」のではなく、

抽出

投入

回答取得

CSV蓄積

という単位でステップ化し、
どこまで進んでいるか、どこでエラーが出たかが分かる設計を重視しています。

■ 成果:長いフローでも“一括で回して、途中で止まりにくい”仕組みに

この設計により、

もともと 手動でつないでいたフロー が、
「Step1〜6」と「Master.ahk」によって一連の自動処理になった

各Stepごとに成功/失敗が分かるため、
トラブル時もどこから再開すればいいか判断しやすい

ChatGPTの回答も、APIなしでCSVに自動蓄積できる仕組みになった

回答失敗時にも、そこで止まらず“進める範囲を進める”ような設計にできた

という形で、
依頼者の「フロー全体を自動化したい」という目的を、現実的な形で実現することができました。

■ まとめ:長い処理は“ステップ化+マスター制御”で、現実的な自動化にする

この案件で改めて感じたのは、

フローが長く複雑なほど、「全部一気に」ではなく 「ステップ化+マスター制御」が効いてくる

ということです。

1つ1つの工程はシンプルでも、

手でつなぐと負担もミスも増える

それを「分けて作って、最後に束ねる」ことで、
止まりにくく、復旧しやすい自動化にできる

今後も、こうした “段階的に動かす設計” と
“失敗してもやり直ししやすい構造” を大事にしながら、
実例を紹介していきたいと思います。

▶「自分のフローも、Stepごとに整理しながら自動化してほしい」「失敗時の復帰まで含めた仕組みを作ってほしい」という方はこちら

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