LinkedInの求人応募エージェントを構築する - パート2

Dev.to / 2026/4/5

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • この記事では、LinkedIn/Indeed向け求人応募エージェントのMVP向け技術スタックについて、UIにStreamlit/Pandas、永続化にSupabase、そしてOpenAI SDKベースのインテリジェントエージェントを含めて説明します。
  • 複数ページのStreamlitダッシュボード、Supabaseに裏打ちされたデータベース層(モックモードと、エラーに対する適切なハンドリングを含む)、安全なクレデンシャルのための環境ベースの設定といった、動作する機能を紹介します。
  • 開発者体験(DX)に関わる要素として、包括的なテストスイート、ワンコマンド起動、反復開発を支える自動ヘルスチェックなどを挙げています。
  • 重要なAIコンポーネントとして、「Resume Optimizer(履歴書最適化)」が取り上げられ、選択した求人票に合わせて履歴書を調整します。キーワードの注入、スキルの並べ替え、経験/箇条書きの書き換えの各モードを提供します。
  • 求人の発見と応募の自動化に関して、複数の手法を統合します。具体的には、MCPベースのLinkedInスクレイピング、requests/BeautifulSoupによるIndeedスクレイピング、ブラウザ自動化のためのPlaywright、そしてGmail SMTPによるメール通知です。

技術スタック

こちらはMVPを次のもので作りました:

  • フロントエンド: Streamlit + Pandas(PythonのWebフレームワーク)
  • バックエンド: 統合されたPythonアプリケーション
  • データベース: Supabase(PostgreSQL + Storage)
  • AI: インテリジェント・エージェント向けOpenAI SDK
  • LinkedInスクレイピング: MCPによるWebスクレイピングで linkedin-mcp-server
  • Indeedスクレイピング: requests + BeautifulSoup4
  • ブラウザ自動化: Playwright
  • メール: 通知用のPython smtplib(Gmail SMTP)

✅ 実装済みの機能:

マルチページのStreamlitアプリケーション

  • メトリクスと分析情報を表示するダッシュボード
  • Resume Manager、Job Search、Applications などへのナビゲーション
  • サイドバーによるナビゲーション付きで、きれいでプロフェッショナルなUI

スマートなフォールバック付きのデータベース層

  • Supabase連携による完全なORM
  • データベースなしで開発できるモックモード
  • 適切なエラーハンドリングと、無理のない機能低下

設定管理

  • 環境ベースの設定
  • 安全な認証情報の保存
  • 簡単なデプロイ手順

開発者体験(Developer Experience)

  • 充実したテストスイート
  • ワンコマンド起動スクリプト
  • 自動ヘルスチェック

レジュメ最適化エージェント: 求人票に合わせてレジュメを調整するAI

ATSフィルターで仕事を逃さない:AIのレジュメ最適化がすべてを変える

応募者トラッキングシステム(ATS)を突破するのは、今日の就職市場における最大級の課題のひとつです。非常に有資格な候補者であっても、レジュメに適切なキーワードが含まれていないだけでふるい落とされてしまいます。そこで大きな違いを生むのが、AIによるレジュメの最適化です。

Resume Optimizerがあれば、手作業で書き直す必要はありません。あらゆる求人に対して、数秒でレジュメを調整できます。

Resumeページに移動し、Optimizeタブを開き、リストから求人を選択して、optimization mode(最適化モード)を選ぶだけです。

必要としているものに応じて、3つのモードを用意しています。

  • Keywordモードは求人票を分析し、既存のコンテンツに不足しているATSキーワードを自然に注入します。ロボットっぽくなったり、キーワードを詰め込んだりはしません。

  • Skillsモードは、スキル欄を賢く並べ替え、最も関連性の高い能力が最初に表示されるようにします。これにより、ATSシステムと採用担当者の双方に「あなたは有力なマッチだ」というシグナルを即座に送れます。

  • Experienceモードは、求人票の言語に寄せて箇条書きの文を作り直し、その職種にとって最も重要な実績と責任を強調します。

各最適化は、あなたの実際の経験を維持します――捏造はありません。結果として、採用企業の言葉で語り、ATSフィルターを通過し、あなたの最も強い資格が前面に出るレジュメになります。

志望動機(カバーレター)エージェント: パーソナライズされた志望動機文の生成

もう二度と無差別なカバーレターは送らない:AIによるスケールでのパーソナライズ

良いカバーレターは、面接にたどり着けるか、見過ごされるかの差になります。しかし、応募するたびに手作業で手直しされた手紙を書くのは大変です――多くの求職者はそれを省略するか、どこにでも同じ無難なテンプレートを送ってしまいます。AIはそれを完全に変えます。

Cover Letter Generatorがあれば、どんな求人に対しても、数秒でパーソナライズされたカバーレターを作成できます。スクレイピングした掲載情報から求人を選び、あなたの人柄や企業文化に合うトーンを選択して、GPT-4o-miniに文章作成を任せるだけです。

4つのトーンを用意しており、どんな状況にも対応できます。Professionalは、具体的な実績を中心に構成された、フォーマルで洗練された手紙を提供します。Enthusiasticは、適切さを保ちながら、その職務に対する本物の熱意を伝えます。Confidentは、インパクトのある主張から始まり、あなたの価値を直接的に断言します。Creativeは、印象に残る掴み(フック)から始めて、応募書類を際立たせます。

裏側では、ジェネレーターが企業を調査します――その文化、テクノロジースタック、価値観です。そして、あなたのレジュメを照合して、最も関連性の高い経験を強調します。各カバーレターは、対象の企業と職種に合わせて書かれた、3つの焦点の定まった段落で構成されています。

その結果、相手にとって「人が書いた」と感じられるカバーレターになり、自然に読み進められ、採用企業が求めていることにまっすぐに語りかけます――しかも30秒未満で生成されます。