career-ops:「応募するか」を先に判断する、ローカル優先のオープンソース AI 求職エージェント

Published · AI Daily — AI-assisted deep research, methodology & disclosure

career-ops は santifer 氏が公開したオープンソースの AI 求職エージェントです。求人を貼ると、手元のマシンで募集中か、自分に合うかを判定し、CV の調整と回答の下書きまで行います。送信は本人が押します。作者の自己申告では、評価 740 件、応募 68 件、面接 12 回、内定 1 件。ローカル優先と人間の判断を重視し、無料・ローカルモデルにも対応します。

これは何か:応募者の側に立つオープンソースの AI 求職エージェント

career-ops は GitHub で公開されているオープンソースのプロジェクトで、キャッチコピーは「The open-source AI job search agent」です。作者は santifer(Santiago Fernández de Valderrama Aparicio)氏です。出発点はとても素朴です。何か月も履歴書を送り続けたのに、返ってくるのは沈黙だけでした。そこで応募を増やす代わりに、自分に必要なフィルターを作りました。README に載っている本人の数字は、評価した求人 740 件、応募 68 件、面接 12 回、内定 1 件です。作者はこのツールの最初のユーザーであり、仕事が決まってからオープンソース化したと述べています。README によれば、その仕事は 6 か月後に辞めており、現在はチームで career-ops を育てています。

使い方は一言にまとまっています。求人を貼り付けると、あなた自身のマシン上で、その求人がまだ募集中か、そしてあなたに合うかを教えてくれます。続いて CV を求人に合わせて調整し、応募フォームの回答を下書きします。最後の一歩は人間が行います。「You press Submit」、つまり送信ボタンを押すのはあなたです。この設計は重要なので、後で詳しく触れます。

中核の設計:先に判断し、後で動く

多くの AI 求職ツールは「出力」の問題を解きます。CV をより速く作り、応募を一括で送ります。career-ops はその逆から始め、まず「判断」の問題を解きます。README の冒頭は対比で始まります。企業は AI で候補者を選別している。だから候補者に、企業を選ぶための AI を渡した、というものです。ツールが最初に返すのは書類ではなく結論です。結論が「do not apply」なら、その夜の時間が戻ってきます。計画が返ってくれば、次にやることが分かります。

デモ動画には作者自身の求職の様子が映っています。スコア付きの求人一覧、「応募しない」と判定された数を示す赤いカウント、そして完全な評価レポートです。画面はスペイン語で、多言語での利用が前提だと分かります。README 自体も 17 言語で用意されており、英語、スペイン語、ドイツ語、フランス語、日本語、韓国語、簡体字と繁体字の中国語などが含まれます。

仕組みと、確認できる範囲

先に範囲を断っておきます。私たちが参照した資料は README の冒頭部分です。採点の観点、プロンプトの構成、求人の取得方法、データの保存形式といった内部実装は書かれていません。そのため、ここでは README が明記していることと、そこから合理的に言える技術的な意味だけを扱います。 第一に、ローカル優先です。README には「Open source. Local. In the AI CLI you already use.」とあります。ホスト型のサービスではなく、すでに使っている AI のコマンドラインクライアントの中で動きます。導入は npx @santifer/career-ops init の一行です。npm パッケージとして配布され、ローカル環境にワークフローを設定する形だと読み取れます。CV、応募履歴、評価結果といった機微な個人情報を、第三者のプラットフォームに預ける必要がありません。

第二に、モデルを差し替えられることです。README は RUNNING_ON_A_BUDGET という文書へのリンクを置き、無料モデルとローカルモデルも使えると書いています。評価のたびに料金を払いたくない人にとって、これは参入障壁を下げます。一方で代償もあります。小さなローカルモデルは、長い文書の判断や文章の質で、クラウドの主力モデルに劣りがちです。評価の質は選んだモデルに左右されます。 第三に、求人がまだ開いているかの確認です。すでに掲載が終わった求人に時間を使ってしまう応募者は多いものです。「まだ開いているか」と「合うか」を一度の評価にまとめるのは実用的な着眼点です。確認の方法は README に書かれていないため、推測はしません。 第四に、人間が判断に関わることです。ツールは回答を下書きし、CV を調整しますが、送信は人が行います。README はこの原則を 6 行の宣言にしています。少数に、より良く応募する。量よりシグナル。キーワードよりエビデンス。決めるのは人間。ローカル優先。机の両側に尊厳を。

主な数字とその読み方

目を引く数字は 740、68、12、1 です。この漏斗は示唆的です。評価した件数は応募件数の 10 倍以上で、応募件数は面接件数のおよそ 5〜6 倍です。多くの求人は評価の段階で外れ、実際に送られたのはごく一部でした。数撃てば当たるという戦略とは正反対です。

ただし慎重に読む必要があります。これは一人の求職体験であり、対照実験ではありません。ツールを使わなかった場合の通過率は示されておらず、業界、経験年数、地域、時期の影響も切り分けられていません。説得力のある事例ではありますが、効果の証明ではありません。README には遅延やコストのベンチマークもありません。コストは選ぶモデル次第です。

コミュニティ側のシグナルはより多くあります。Trendshift で当日の GitHub リポジトリ 1 位と表示され、Product Hunt に掲載され、Vercel のオープンソースプログラムの支援を受けています。WIRED と Business Insider の報道も README で紹介されています。HIRED.md は公開された「採用された」体験談を動的バッジで数えており、各カードは開いて読める公開 issue です。これらはプロジェクト自身が示す採用の証拠で、リンク先で確認できますが、私たちは一件ずつ検証してはいません。

開発者と市場への影響

開発者にとって career-ops は良い研究対象です。非常に個人的な作業を、独立アプリではなく、汎用の AI コマンドラインの中で動く配布可能なワークフローにしています。この道には、すでに持っているモデルの契約をそのまま使えること、配布コストが低いこと、コミュニティが手を入れやすいことという利点があります。

求人市場にとっては、力の釣り合いを取り戻す試みです。企業側は長年アルゴリズムで履歴書を選別してきました。候補者側にはテンプレートとキーワードの詰め込みしかありませんでした。career-ops は候補者にも評価の道具を渡し、量で攻めることをはっきり否定します。「応募しない」を製品の中核的な価値として扱う点も印象的です。多くのツールは送った応募の数で成功を測ります。

限界とリスク

第一に、評価の質はモデルに依存します。スコア、適合度の判断、「応募しない」という結論はいずれもモデルの出力であり、誤りうるものです。裁定ではなく助言として扱うべきです。 第二に、プライバシーです。ローカル優先はデータがマシンの外へ出るリスクを下げますが、クラウドのモデルを使えば CV の内容はそのモデル提供者に送られます。ローカルモデルなら避けられますが、質との引き換えになります。

第三に、下書きの真実性です。自動で調整された CV は、実際の経験に忠実でなければなりません。README の「エビデンス重視」という方針は正しい方向ですが、事実の確認まではツールにできません。送信する人が最終的な責任を負います。 第四に、根拠の範囲が狭いことです。公開されている材料は作者の体験談とコミュニティの事例が中心で、独立した再現可能な評価はまだありません。

今後の展開

README の構成からは、ドキュメントと画面の多言語化、採用事例の蓄積、宣言を軸にしたコミュニティという方向が見えます。宣言のページには署名数のバッジがあり、求職の実践を共有された規範にしようとする意図がうかがえます。

次に最も役立つのは公開ベンチマークでしょう。たとえば固定した求人セットで複数のモデルに「応募する/しない」を判断させ、人間の判断との一致率を示すことです。

まとめ

career-ops の価値は、より多く応募できることではなく、より少なく、より的確に応募できることにあります。行動の前に判断を置き、決定を人に残し、データを手元に置きます。

根拠は主に一人の作者の事例とコミュニティの体験談なので、慎重に受け止める必要があります。それでも考え方は明快で、試すコストは低いです。npx のコマンドを一つ実行し、今夜応募しようとしていた求人を一件貼るだけです。

Sources