人材派遣・紹介の現場で「候補 10 名のうち、誰を一次推薦に挙げるか」を決める作業は、属人化が進みやすい仕事です。要件と候補のプロフィールを 1 件ずつ突き合わせ、頭の中でスコアを付けて並べ替える。1 案件で 30 分は溶けます。Phasera では、その一次振り分けを AI エージェント に下書きさせ、アドバイザーの方が最終決定だけを担う構成にしました。本稿では案件×求職者マッチングエージェントの設計と動作を共有します。

課題: マッチング判断は、なぜ手間がかかるのか

人材紹介の業務時間の 2〜3 割は、候補の一次比較に費やされています。1 案件あたり 10 名の候補を見るとして、それぞれの履歴書を 3 分で読み、要件との照合を 1 分、メモを残すのに 1 分。これだけで 50 分です。実際には電話メモや前回面談のログも参照するので、もう少し膨らみます。

問題は時間だけではありません。第一に、判断の根拠が言葉として残らないことが多い。「この人はちょっと違うかな」という直感が、後から説明を求められても再現できない。アドバイザーが交代するとノウハウがリセットされやすい構造です。第二に、希望年収や勤務地などの数値要件と、業界経験や人柄などの定性要件が同じ重みで処理されがちで、軽い不一致が見落とされる。第三に、候補数が増えるほど比較の認知負荷が指数的に上がり、後ろの候補ほど雑に扱われる傾向がある。

Phasera が組んだのは、「比較の機械的な部分」だけを AI に下書きさせ、判断と説明責任は人間に残す形でした。

設計: AI に任せる範囲、人間に残す範囲

私たちは「候補ごとの強み・不一致点の言語化」と「0-100 の適合度スコアの仮置き」だけを AI に任せ、最終決定はアドバイザーの方に残しています。AI が出すのは「説明可能な下書き」であって、「正解」ではない。これが本エージェントの設計上もっとも大事な線引きです。

スコアには必ず数字根拠を添えさせる Prompt 設計にしました。「経理 3 年必須に対し 7 年→満点」「年収希望が予算上限を 10% 超え→減点」のように、加減点の理由を明示します。これにより、アドバイザーの方は「なぜ 80 点なのか」を読まずに確認でき、自分の判断と AI の判断のズレを 1 分以内に把握できます。

AI に任せていないのは、最終的な推薦順、候補者本人への連絡判断、企業側との交渉。これらはアドバイザー本人の責任で、システム化すべきではないと考えています。「下書きまでが AI、判断は人間」という Phasera 共通の原則を、ここでもそのまま当てはめました。

実装の核: System Prompt

本エージェントの心臓部は、スコアの根拠と前提のズレを必ず明示させる system prompt です。フォーマット固定で、機械的に処理できる体裁に揃えています。

あなたは人材マッチングのアシスタントです。案件と複数の求職者プロファイルを比較し、
それぞれの適合度を 0-100 のスコアで判定します。

# 厳守ルール
1. 出力は必ず: 総合ランキング → 候補ごとの評価(強み / 不一致点 / 推薦理由)→ 補足
2. スコアは必ず数字根拠を示す
   (「経理3年必須に対し7年→満点」「年収希望が予算上限を10%超え→減点」など)
3. 推測は「仮説」と明記
4. 「絶対この人」のような断定は避ける(「最終判断は人間に残す」前提)
5. 候補が3人未満の場合は「補足」で指摘
6. 必ず最後に AI 比較結果である旨と「最終的な人選は採用担当者の責任」を入れる

ポイントは、スコアに必ず数字の根拠を要求したこと、「絶対」「100%」といった断定を明示禁止にしたこと、そして「補足」セクションで前提のズレを素直に挙げさせる枠を作ったことです。これにより、データ不足や評価不能なケースをサイレントに通さない設計にしました。

動作確認: 入力と出力

実際に試した入力は、案件 1 件と候補 3 名を素のテキストで貼り付けるだけです。

{
  "role": "経理スタッフ。簿記2級必須、経理3年以上、freee経験歓迎、年収400-450万、週2リモート可。",
  "candidates": "【候補A】30歳 経理7年 簿記2級 freee経験 希望400万\n\n【候補B】28歳 経理5年 簿記1級 税理士試験簿記論合格 希望420万\n\n【候補C】42歳 経理18年 簿記2級 ERP経験 希望480万"
}

生成された結果は、候補 A: 95/100、候補 B: 80/100、候補 C: 70/100 の総合ランキングと、それぞれの強み・不一致点・推薦理由。たとえば候補 A は「経理 7 年、簿記 2 級、freee 経験あり、希望年収が 400 万で予算内」が強みで、不一致点はなし。候補 C は「希望年収が 480 万で予算を超えているため減点」と理由つきで下げられています。

うまく出力された点は、スコアごとに加減点の根拠が言葉で残っており、後からアドバイザーが自分の判断と突き合わせやすいこと。一方、人が直すべき点もあります。候補 B の評価で「経理経験が 3 年未満(5 年)で減点」という整合しない記述が混じることがあり、数字を読み違えるケースは残ります。最終確認は必須です。

アーキテクチャ: なぜ Edge Function + AI Gateway なのか

本エージェントは Vercel Edge Function 上で動き、AI Gateway 経由で gpt-4o-mini 系のモデルに接続しています。理由は 3 つあります。

第一に、社内ツールから叩いたときの応答が安定すること。Edge では全リージョンに関数が分散展開されるため、東京・大阪・福岡のオフィスから同時に叩いてもレイテンシが小さい。第二に、モデルの選定をコードから切り離せること。AI Gateway を介することで、新モデルが出るたびにコード変更なしで差し替えできます。Phasera では現在 gpt-4o-mini を中心に使っていますが、用途に応じて切り替えが容易です。

第三に、コストの透明性。今回の Prompt 設計では、1 リクエストあたりおよそ 0.03 円 に収まる試算です。月 100 案件 × 候補 10 名でも年間 360 円程度。スコアリングの実験コストを抑えながら、設計を改善し続けられます。

制約と限界

このエージェントにできないことも、率直に書いておきます。第一に、入力された候補プロファイルそのものの正しさは保証できません。古い履歴書を渡せば、その前提でスコアが付きます。第二に、候補数が 10 名を超えると、後半の候補の評価がやや雑になる傾向があり、1 回の比較は 8 名前後が安定するという目安があります。第三に、業界固有の文脈(資格更新の難易度、地域特有の労働慣行など)は完全には反映できず、現場担当者の方の知見との照合が必要です。

試してみたい方へ

Phasera では、人材派遣・紹介向けの一次振り分けや業務自動化を伴走型で支援しています。マッチングだけでなく、スカウト DM・面談調整・契約書下書きまで含めた一連の業務改善に興味がある方は、phasera.jp の診断オーディット までお気軽にどうぞ。