独立系コンサルタント向けの案件自動マッチング
ローカルの多言語AI、設定可能な条件、案件のメール通知
- 分野
- 独立系技術コンサルティング
- 主な内容
- ローカルAI · 意味に基づく照合 · 業務自動化 · 自己ホスト型ソフトウェア
独立系技術コンサルタントは、ドイツおよび国際市場のフリーランス案件を効率的に見つけたいと考えていました。新しい案件を複数の職務経歴書と比較し、候補をメールで知らせる監視エージェントを開発しました。ローカルAIによる照合、設定可能な選択条件、自動通知を自己ホスト型アプリにまとめています。
課題
案件サイトを繰り返し確認し、説明文を手作業で評価する必要がありました。同じ技能が独語・英語で異なる表現になるため、キーワード検索には限界がありました。専門性ごとに複数の職務経歴書を使っていたことも評価を複雑にしていました。複数プロフィール、両言語、勤務地・リモート比率・契約形態の条件、重複通知の防止、外部AIへの経歴書送信を避けることが要件でした。
担当した内容
Pythonで監視エージェントを構築し、公開案件を設定可能な間隔で確認するようにしました。標準の間隔は30分です。
- PDF・DOCXの職務経歴書からテキストを抽出して分割し、ローカルの多言語埋め込みモデルで案件文との意味的な近さを評価。
- 案件ごとに関連度と最も合う経歴書を特定し、共通の用語・技能を判断材料として通知に掲載。
- 国、最低リモート比率、契約形態、必須・除外キーワード、除外企業、エンドクライアント案件の条件を照合前に適用。関連度の閾値で選択の広さを調整。
- リンク、関連度、該当経歴書、根拠となる用語をHTML・プレーンテキストのSMTPメールにまとめて送信。
- SQLiteで処理済み案件と通知状況を記録。配信失敗時には候補を保留し、後で再試行。
- 常時稼働サーバー向けにDocker Composeで構成。経歴書の処理と埋め込み推論はローカルで行い、データベースとダウンロード済みモデルを永続ボリュームに保存。
技術的なアプローチ
公開ページの取得後に条件による絞り込みと、経歴書の区分に対するローカル意味照合を行います。SQLiteが処理・通知状況を管理し、SMTPで候補をまとめて通知します。候補の確認と応募の判断はコンサルタントが行います。
技術構成
| 領域 | 実装 |
|---|---|
| アプリケーション | Python |
| データ取得 | HTTPリクエストと公開ページの解析 |
| 職務経歴書の処理 | PDF・DOCXのテキスト抽出 |
| 照合 | ローカルの多言語文埋め込みとキーワードの共通性 |
| 永続化 | SQLite |
| 通知 | HTML・プレーンテキストのSMTPメール |
| デプロイ | Docker Compose |
| 診断 | 設定検証、試行用スコアリング、アプリログ |
検証と得られた知見
当該プロジェクトの15件の自動テスト、両地域の実際のページの解析確認、多言語モデルの実行で実装を検証しました。Pythonパッケージの作成も確認しました。
実際のページでは、簡略化したテストデータで見落としていたメタデータの不足や契約形態の表記差が判明しました。公開ページに埋め込まれた構造化データを利用するようパーサーを修正しました。
後の運用確認では、設定や経歴書の不足、コンテナの未起動により、照合品質とは無関係に通知が止まることを確認しました。配信の問題と照合・スケジュールの問題を分離するため、SMTPの直接テスト手順を文書化しました。
結果
複数の経歴書を一貫して評価し、候補を順位付けして1通の通知メールにまとめる、案件探索の機能的な基盤を実装しました。時間削減、適合精度、商業的な成果はまだ測定していません。手作業の選別を減らすことが期待されますが、案件の確認と応募判断は利用者が担います。
限界と教訓
- 公開ページの構造やメタデータは変化するため、収集処理の保守が必要です。
- 閾値は調整が必要です。意味的な近さは関連性の手掛かりであり、適合性の保証ではありません。
- 各市場の最新一覧ページのみを確認するため、掲載件数が多い場合や長時間の停止時には案件を見逃す可能性があります。
- 設定検証、SMTPテスト、試行用スコアリングを分けることで、障害を個別に診断できます。
- 意味照合のために職務経歴書の内容をクラウドAI事業者へ送らず、ローカルで処理できます。
顧客を特定する情報、経歴書の内容、インフラの詳細、メールアドレスは掲載していません。
示された専門性
Python · SQLite · SMTP · Docker Compose · PDF · DOCX
ローカルAI · 多言語の意味照合 · 文書処理 · 業務自動化 · 自己ホスト型デプロイ · メール配信 · 運用診断
