世はAI時代。
報酬が増えまくると思ったら、試食代金がかかるばかりで私の懐はまだ温かくなっていません。おかしいなと思ってAIと見つめなおしたらフリーランサー受注部分にAIパワーを注いでいませんでした。
受注が大事だよ
AIで受注増やせばいいじゃん!ってことです。
AI時代なので、もはやGithubの紹介やコードを載せる必要もないなと思いましたので、実際に使用したAntigravity用のファイルを掲載しときますね。
動作します、しかし100点満点ではありません
自動実行しようと思っていたので、GCPのfunctionsでの運用を想定しています。
もちろん、ローカル用などに改造しても良いと思いますよ!
これを Google Antigravity に読んでもらい、作ってといえば作ってもらえると思います。
🛠 プロジェクト仕様書:Lancers AI Assistant
1. システム概要
毎日指定した時間にランサーズの案件一覧をスクレイピングし、Gemini APIを用いて「自分に合う案件」の選定と「提案書ドラフト」の作成を行い、結果を通知する。
2. システム構成
実行環境: Google Cloud Functions (Python 3.10+)
トリガー: Cloud Scheduler (cron実行)
AIエンジン: Gemini 2.5 Pro / Flash (Google AI Studio API)
データ保存: Google Sheets API (案件管理)
通知: LINE Notify または Slack Webhook
3. 機能詳細
① 案件取得モジュール (Scraper)
対象URL: 指定した検索結果URL(例:WordPress, Shopify, 開発単価10万以上など)。
取得項目: 案件タイトル、依頼内容全文、希望予算、提案期限、クライアント評価。
技術: BeautifulSoup4 または requests を使用(GCFはヘッドレスブラウザの起動に制限があるため、まずは軽量なライブラリを推奨)。
② AI解析モジュール (Gemini API)
フィルタリング: 依頼内容とユーザーのスキルセット(WordPress/Shopify/Kotlin等)を照合し、適合率を0〜100で算出。
ドラフト生成: 適合率が高い案件(例:80点以上)に対し、以下のプロンプトを実行。
「この案件に対する最適な提案価格の算出」
「クライアントの心に刺さる提案メッセージの執筆」
出力形式: 後続処理がしやすいようJSON形式で回答させる。
③ 永続化・通知モジュール
重複除外: すでに取得済みの案件(URLで判定)はスキップ。
出力: Googleスプレッドシートに「案件名」「適合率」「提案文案」を書き込む。
通知: スマホに「本日の厳選案件(3件)」といった形式でプッシュ通知。
4. ディレクトリ構造(イメージ)
lancers-ai-bot/
├── main.py # Cloud Functions のメイン処理
├── requirements.txt # 依存ライブラリ (google-generativeai, beautifulsoup4, etc.)
├── scraper.py # スクレイピング用クラス
├── ai_engine.py # Gemini API 連携ロジック
└── config.py # 設定値(検索URL、ターゲット単価など)
※現在の私の構成は上記に、profile.md にプロフィールを作り適合度合わせにつかようにしています。