フリーランスの雑務をPython×AIで自動化したら月15時間が浮いた話

AI活用

フリーランスエンジニアのやまもんです。

突然ですが、フリーランスの仕事って「コードを書く」だけじゃないですよね。見積書の作成、進捗報告メールの送信、請求書の発行、案件の提案書づくり……。気づけば週に10〜15時間は、こういった「コードを書かない仕事」に消えている。

これ、時給換算すると笑えない金額になります。仮に時給5,000円として、週15時間×月4週で月30万円分の稼働が事務作業に溶けている計算です。フリーランスの敵は不景気でも競合でもなく、事務作業だった。

そこで僕は、Python×AIを使ってこれらの雑務を片っ端から自動化してみました。結果、月あたり約15時間の自由な時間が生まれ、その分を開発や営業に回せるようになりました。

この記事では、僕が実際にやっている「フリーランス業務のAI自動化」について、考え方とアプローチを共有します。具体的にどんな業務が自動化できるのか、どういう設計思想で組むとうまくいくのか、そして落とし穴は何か——実践者目線でお話しします。

フリーランスの「見えないコスト」を洗い出す

まず自動化する前にやったのは、1週間の作業ログを取ることです。

Togglで全作業を記録してみたら、衝撃の事実が判明しました。開発に使っていた時間は全体の55%程度。残りの45%は、提案書の作成、メールの文面を考える時間、請求書のフォーマット調整、進捗レポートの作成などに費やされていました。

特にひどかったのが提案書の作成です。案件に応募するたびに、相手の要件を読み込んで、自分のスキルセットとマッチする部分を抽出して、それっぽい文章にまとめる。1件あたり30〜45分かかっていました。週に3件書けば、それだけで2時間以上です。

この「地味に時間を食う作業」こそ、AIの得意分野なんですよね。

自動化の設計思想:「構造化出力」がカギ

僕がPython×AIで業務自動化を組むときに意識しているのは、AIの出力を構造化することです。

ChatGPTに「提案書を書いて」と雑に投げても、それなりの文章は返ってきます。でも、そのままクライアントに送れるかというと微妙。フォーマットがバラバラだったり、必要な項目が抜けていたり。結局、手で直す羽目になる。これでは自動化の意味がない。

そこで僕がやっているのは、出力のスキーマ(型)をあらかじめ定義しておくというアプローチです。たとえば提案書なら「タイトル」「提案の概要」「対応可能な範囲」「想定スケジュール」「見積金額の根拠」といった項目をデータの型として定義しておき、AIにはその型に沿った出力を返させる。

OpenAIのAPIには構造化出力(Structured Outputs)という機能があり、Pydanticモデルを使って出力の形を指定できます。これを使うと、AIの出力が「いい感じの文章」ではなく「決まった構造を持つデータ」として返ってくる。あとはそのデータをテンプレートに流し込めば、毎回同じ品質のドキュメントが生成されるわけです。

この「型を先に決める」というのは、エンジニアなら馴染みのある考え方ですよね。APIのレスポンス型を定義するのと全く同じ発想です。

実際に自動化した5つの業務

僕が自動化に成功した業務を紹介します。コードそのものは載せませんが、何をどう自動化しているかのイメージを共有します。

1. 案件提案書の自動生成

案件の募集要項テキストを入力すると、自分のスキルセットと照合して提案書のドラフトを生成するスクリプトを作りました。自分のプロフィール情報と過去の実績はJSONファイルに保存してあり、案件ごとに最適な実績をピックアップして提案文に組み込みます。

所要時間は45分→3分に短縮。もちろん最終チェックは自分でやりますが、ゼロから書くのと8割完成した状態から手直しするのでは、精神的な負担がまるで違います。

2. 週次進捗レポートの自動作成

Gitのコミットログとタスク管理ツールのデータを読み込んで、クライアント向けの進捗レポートを自動生成します。「今週やったこと」「来週の予定」「課題・リスク」という定型フォーマットに落とし込むので、毎週の報告メール作成が30分→5分になりました。

地味にありがたいのは、コミットログから自動で要約を作ってくれるところ。自分で書くと「あれ、火曜日何やったっけ?」となりがちですが、ログベースなので漏れがない。

3. 請求書の自動生成

稼働時間のCSVデータを入力すると、請求書のdocxファイルを生成するスクリプト。これは正直、AIというよりテンプレートエンジンの仕事ですが、金額計算や消費税の処理まで含めて自動化しているので、ミスが減りました。

請求書の金額を間違えると信用問題になるので、自動化して機械的に処理するほうがむしろ安全です。

4. クライアントメールの下書き生成

「納期の相談」「仕様変更の確認」「追加見積もりの提示」など、パターンごとにテンプレートを用意しておき、状況に応じた下書きを生成します。敬語のレベルや文体はクライアントごとに調整できるようにしています。

メールの文面を考えるのって、地味に脳のリソースを使うんですよね。特にデリケートな内容(納期遅延の報告とか)は、言い回しに悩んで30分以上かかることもあった。今は下書きを叩き台にして微調整するだけです。

5. 案件マッチングスコアの算出

案件情報を読み込ませると、自分のスキルセットとの適合度をスコアリングしてくれるスクリプト。案件探しの時間を短縮するために作りました。

これが意外と便利で、「なんとなく面白そう」で選んでいた案件選びが、データドリブンになりました。スコアが高い案件は実際に受注率も高い傾向があるので、営業効率が上がっています。

自動化で失敗したこと・注意点

良いことばかり書きましたが、当然ハマったポイントもあります。

まず、AIの出力を100%信用してはいけないということ。特に金額や日付が絡む部分は必ず人間がチェックすべきです。僕も一度、AIが生成した見積書の工数計算がおかしくて、危うくそのまま送るところでした。自動化は「ゼロから作る手間を省く」ためのもので、「チェックを省く」ためのものではない。

もう一つ、APIコストの管理。1回あたりの呼び出しは数円程度ですが、テスト中に何度も叩いていると地味に積み重なります。ローカルで動く軽量モデルとの使い分けも検討する価値はあります。

そして最大の注意点は、クライアントの機密情報をAPIに送らないこと。外部APIに投げる情報は匿名化するか、機密情報を含まないように設計する必要があります。ここは妥協してはいけないポイントです。

まとめ:自動化は「楽をする」ではなく「価値ある仕事に集中する」ため

Python×AIでフリーランスの雑務を自動化した結果、月に約15時間の余裕が生まれました。その時間を開発作業や新規案件の営業に充てることで、結果的に売上も上がっています。

自動化のポイントをまとめると:

  • まず作業ログを取って、何に時間を使っているか可視化する
  • AIの出力は構造化して、テンプレートに流し込む設計にする
  • 最終チェックは必ず人間がやる(特に金額・日付)
  • 機密情報の取り扱いには細心の注意を払う

フリーランスは自分の時間がそのまま売上に直結します。だからこそ、「価値を生まない作業」にかける時間は最小限にしたい。AIはそのための強力な武器になります。

「自動化なんて大げさだ」と思うかもしれませんが、最初の1つを作るハードルは意外と低いです。まずは一番面倒だと感じている作業から、小さく始めてみてください。

フリーランスエンジニアにおすすめのツール

自動化スクリプトを動かすにも、まず開発環境やインフラが必要です。僕が実際に使っているサービスを紹介します。

カゴヤ・ジャパン レンタルサーバー

自動化スクリプトを定期実行するのにVPSを使っています。カゴヤはコスパが良くて、個人の自動化用途には十分なスペック。管理画面もシンプルで、SSH接続してcronを設定するだけなので楽です。

カゴヤ・ジャパン レンタルサーバー

freee会計

請求書の自動生成と合わせて、会計処理もfreeeで一元管理しています。APIも公開されているので、自作スクリプトとの連携もやろうと思えばできる。確定申告の時期に泣かなくて済むのが一番のメリットですね。

freee会計

SkillHacks

Pythonの基礎をサクッと学びたい人には、動画で学べるSkillHacksもおすすめです。自動化スクリプトを書くならPythonの基本文法は必須なので、まだ不安がある人は先に固めておくと後が楽です。

SkillHacks

※この記事にはアフィリエイトリンクを含みます

コメント

タイトルとURLをコピーしました