【kintone×Claude Code】非エンジニアの人事が”書類選考の自動化システム”を自力で設計・構築した話

こんにちは! 人事広報部の石井です。

【社員インタビュー】クリエイター:石井さん

突然ですが、みなさんの日々の業務の中に 毎回同じような手順を繰り返してる作業ってありませんか?

僕の場合、メールで届いた情報を社内ツールに転記する。書類を1枚ずつ確認して所定のフォーマットに入力する。みたいな定常業務がありまして。
これ、なんとかならないかなと思いつつ、目の前の業務に追われてそのまま続けてしまっていました。

今回は、 プログラミング経験ゼロ人事シリーズ(?)の第3弾として、採用業務の中でも特に時間を要していた書類選考を自動化した話をお届けします!


今回は第3弾ということで、過去にやった企画は以下の通りです!

【Python】開発経験ゼロの一般クリエイター兼人事が”AIの力だけで”Slackからアイコン画像一覧を取得した話【SlackAPI】
【Python】開発経験ゼロの一般クリエイター兼人事が”AIの力だけで”Slackからアイコン画像一覧を取得した話【SlackAPI】
こんにちは!人事広報チームの石井です。 今回は非エンジニアの僕がAIのみ使用し、プログラムを作成したという話に…
【React】非エンジニアの人事がAIとペアプログラミングをしてカーライフ管理アプリを作ってる話
【React】非エンジニアの人事がAIとペアプログラミングをしてカーライフ管理アプリを作ってる話
      こんにちは!人事広報部 カルチャーコミュニケーションチームの石井です。 以前、「開発経験ゼロの一般…

 

1本目はPythonでSlack APIを叩いてアイコン画像を取得、2本目はReactでカーライフ管理アプリを開発中な話。
どっちもプログラミング経験が1ミリもない状態からAIに助けてもらって形にした記録です。

そして今回が第3弾!

ただ、過去2本とはちょっと毛色が違います。
これまでは「面白そうだからやってみた」「自分の欲しいものを作ってみた」という趣味・チャレンジ寄りの話でしたが、今回は業務課題を解決するために作ったシステムの話になります。

補足
このシステムは「AIが合否を決める」ものではありません。 書類選考のうち、情報の整理・転記・面接で伺うべき論点の洗い出しといった前段階を自動化して、僕(人間)が一件ずつ向き合う時間を確保するための仕組みであり、AIが機械的に落とす運用はしていません。

業務の幅が広がったが時間は増えない。を解決したい

2026年3月、僕の担当業務に変化がありました。もともと担当していたインナーコミュニケーションの推進や広報に加えて、 採用業務を新たに担当することに。

新しいことに携われるのは嬉しい。ただ、現実問題としてやるべきことの量が倍々FIGHT!並みに増えたのも事実でして..。

そんな採用業務の中でも得に時間がかかっていたのが書類選考でした。

書類選考の何がそんなに大変なのか

まず、エイプリルナイツでは現在、人材紹介エージェント経由で求職者の方をご紹介いただくことが多いです。
エージェントからは 職務経歴書(PDF) と一緒に、 希望年収や転職理由、勤務条件といった情報も共有されます。

書類選考の一連の流れを書きますと、

  1. 職務経歴書のPDFを開いて中身を読む
  2. 経歴・スキル・年収・勤務条件などを確認
  3. 弊社の採用ペルソナ(求める人物像)と照らし合わせて評価する
  4. 評価結果や基本情報をkintone(社内の管理ツール)に入力する
  5. 合否を判定して、不合格ならエージェントへのフィードバック文を書く

1件あたり、だいたい15〜20分。月ベースだと約70件ほどの書類が来ています。
毎日コンスタントに来るわけじゃなくて、まとまって届くこともあります。ある日突然10件!みたいな日もあるわけですね。

単純計算で月に約17〜23時間 。これを他の業務と並行してやらなきゃいけない。(もともとインナーコミュニケーションの業務を担当していたのでこちらも疎かにできないし…)

「……これ、なんとかしないとまずい」
と思ったのが、はじまりでした。

kintoneのMCPサーバーってあるらしい

どうにか効率化できないかとモヤモヤしていたとき、社内でAI活用を推進しているエンジニアの三沢さんから

「kintoneってMCPサーバーがあるからそれ使えば?」

と言われました。

……MCP? なにそれ???マックポークの略か何かか???

ということで早速調べてみました。

MCPサーバーとは

どうやらMCP(Model Context Protocol)とは、AIが外部のツールやサービスと直接やり取りするための仕組みらしい。

普通にAIとチャットしてるだけだと、AIはkintoneの中身は見えませんが、MCPサーバーで繋げるとAIが kintoneのデータを取ってきたり、書き換えたりできるようになるとのこと。

マックポークではなかった。

Claude Codeとの組み合わせ

僕が普段使っているAIツールはClaude。
Claudeには 「スキル」 というカスタムコマンド機能があります。

これはあらかじめ手順や判断基準を書いておくと、AIがそのとおりに自動で作業を進めてくれるいわば、AIに対する業務マニュアルみたいなものです。

石井:この2つを組み合わせれば書類選考の一連の流れを自動化できるんじゃないか….?

と閃きました!

ちなみに、三沢に教えてもらったのは 「MCPサーバーがある」という存在だけ(もっと詳しく教えてくれ?)です。
そこから先の設計・構築は 全部自分でチャレンジしてみることに。

もちろん聞けば教えてもらえますが、非エンジニアがAIを使うことでどこまで行けるのか試したかったのもあります。

どうやって作ったのか

それでは具体の内容について解説(?)しようと思います。

セットアップは約3時間

はじめのセットアップは約3時間ほどで終わりました。

まずは、Claudeに「kintone MCPサーバーを使って、書類選考を自動化したい」とだけ伝えて、必要な接続設定やスキルの雛形を一緒に作っていくことになりました。
プログラミングの知識は本当にゼロですけど、 「何をしてほしいか」を言葉で伝えればAIがコードや設定を書いてくれる ので、やることは「指示を出す」と「動作を確認する」の繰り返しで終わりました。

こうして動くものができると、「あ、ここもこうしたいな」「この情報も自動で入れたいな」というアイデアがどんどん湧いてきました。
自分の理想の動きがだんだん形になっていく過程が楽しくて 、それがこのシステムを作り込むうえでの一番のモチベーションになりました。
気づいたら構築作業にめちゃくちゃ没頭してましたw

苦労したこと

もちろん、全部スムーズにいったわけじゃなく、一番苦労したのは、 kintoneの特定のフィールドに正しく情報が入らない 問題。

AIに「このフィールドにこの項目を入れて」って指示してるのに、別のフィールドに書き込んじゃったり、想定と違う形式で入力されたり。
「そこじゃないんだが!!」となることが何回かありました。

kintoneの仕様をよく理解していなかった弊害でもあると思いますが、これは、指示の仕方を工夫することで解決できました。
「フィールドコードは○○で、型はドロップダウンで、選択肢は△△です」みたいにより具体的に伝えると、AIの理解精度が上がって正確に入力されるようになりました。

プログラミングで言うところのデバッグに近い作業かもしれませんがコードは一切書いてません。
あくまで日本語で指示を直してるだけ 。非エンジニアでも全然できました。

完成したシステムの全体像

そんなこんなで出来上がったのは、以下の一連の処理をほぼ全自動でやってくれるシステム です。
※元々エージェントから求職者の紹介があったらkintoneに自動登録される仕組みがすでにあったのでそこをアップグレードしていく内容になります。

Step 1: kintoneから情報を取得

まずClaudeが kintone MCPサーバー を通じて、対象の応募者レコードを取得。
応募者の基本情報だけでなく、エージェントがメモ欄に記入してくれてる 希望年収、転職理由、勤務条件 といった共有情報も一緒に読み取ります。

Step 2: 職務経歴書PDFをダウンロード&テキスト抽出

kintoneに添付されてる職務経歴書のPDFを自動でダウンロードして、Node.jsベースのツール(pdf2json) でテキストデータに変換します。
人間が目で読んでた職務経歴書の内容を、AIが読み取れる形に変換してるイメージです。

Step 3: 基本情報の自動抽出

テキスト化された職務経歴書から、以下の情報を自動で読み取ります。

  • フリガナ
  • 性別
  • 電話番号
  • メールアドレス
  • 住所(都道府県)
  • 年齢

今まで1個1個手でkintoneに入力してた項目が、 全部自動で抽出・記入 されます。地味にこれだけでもかなり助かる……!

Step 4: ペルソナとの適合確認

あらかじめ定義してある 採用ペルソナ(求める人物像) と、応募者の情報を照らし合わせて、次の8つの観点で「面接で確認すべきポイントがあるかどうか」を整理します。

ここで大事なのは、AIが出すのは 合否ではなく論点の一覧ということ。 「ここは問題なさそう」「ここは面接で直接伺いたい」という仕分けをしてくれるイメージです。

観点 何を見るか
1. 業務領域の経験 これまでの経験と、弊社で活躍いただきたい領域との重なり
2. 働き方の希望 出社頻度・リモート頻度について、弊社の体制と合うかどうか
3. キャリアの歩み方 どのような間隔で環境を変えてこられたか
4. 直近の就業状況 現職・前職での就業期間の傾向
5. キャリアの節目 職歴の切れ目に何があったか(→理由は面接で伺う前提)
6. 就業環境の整合性 弊社の就業規則・勤務形態と本人の就業条件に、相互にすり合わせが必要な点はないか
7. ご希望条件 希望年収と、弊社の給与テーブル・ご経験レベルのフィット感
8. スキルと技術経験 経験のある技術スタックと、ポジションで必要なスキルの重なり

また、この8観点は弊社の採用ペルソナと、提案先のクライアント要件との接続性を確認するためのものであって、応募者個人の人間性を評価するためのものではありません。

Step 5: kintoneへ自動書き戻し

評価が終わると、以下が自動でkintoneに記録 されます。

  • 8軸判定サマリ
  • スキルマトリクス(技術名・経験年数・根拠をまとめた一覧)
  • 合否理由
  • 評価ランク(S〜D)
  • 営業提案の難易度
  • ペルソナ要件との照合結果

手入力ゼロ。すごく楽。

Step 6: 最終判定は人間がやる

ここまでの評価をAIが出力したあと、 最終的な合否を決めるのは僕(人間) です。

AIの評価結果を見て、「y(合格)」か「n(不合格)」を入力するだけ。不合格の場合は、AIが評価結果をもとにエージェントへのフィードバック文も自動で作ってくれます 。

あくまでAIは判断材料を揃えてくれるアシスタント。最終決定は人間がする。 ここの線引きは最初から意識して設計しました。

実際に動かしてみた

せっかくなので、実際にシステムを動かしてるところをお見せします!

※ 以下はデモ用のダミーデータ(架空の人物・企業)です。実在の方ではありません。

対象者: 内津 太郎さん(32歳・男性)

エージェントから共有された情報はこんな感じと仮定します。

  • 希望年収:500万〜550万円
  • 現年収:450万円
  • 転職希望時期:2026年5月〜6月入社希望
  • 転職理由:現職の受託開発会社でキャリアの幅が広がりにくいと感じている
  • 勤務条件:出社可(週1〜2リモート希望だが必須ではない)
  • 備考:Java/Spring中心のバックエンド経験が強み。直近でVue.jsにも従事。

職務経歴書には以下の内容が書かれていたとします。

  • Java歴7年(3社経験)
  • 直近はSpring Boot + Vue.js/TypeScriptで業務系Web開発
  • 要件定義〜結合テストまでひととおり経験
  • 基本情報技術者、Oracle Java Silver保有

Claudeに書類選考を依頼する

やることはシンプルです。ClaudeにkintoneのレコードURLと書類選考と言うだけ。あとはシステムが勝手に動き出します。

 

書類選考に必要な「スキル」をAIがよしなに判断し、その手順に沿って進めてくれてます。
ちゃんと、指定しているペルソナや会社概要資料なども読んでくれてますね!

同時にStep2で解説した応募者の経歴書などの情報がまとまっているデータのダウンロードも開始してくれます。

これらの情報を元にAIが出した評価結果がこちら 👇

書類選考結果:内津 太郎 様

【評価ランク】 A

【合否】 合格

【該当ペルソナ】 上流バックエンドペルソナ

【8軸判定サマリ】

  1. 業界経験:◎(全経歴が業務系Web開発。金融・物流・EC・業務管理・自治体・保険)
  2. 勤務地・リモート:◎(出社可。週1〜2リモート希望だが必須ではない)
  3. キャリアの歩み方:◎(30代で3社経験、転職2回。ボーダー以内)
  4. 直近の就業状況:◎(ナイツメンテナンス2年→エケスポジャパン3年→エイプリルシステム4年。直近が最長で安定傾向)
  5. キャリアの節目:◎(職歴上、大きな空白期間なし)
  6. 就業環境の整合性:◎(記載なし)
  7. 希望条件:◎(希望500〜550万 vs 上流経験ありの上限目安750万。十分に範囲内)
  8. スキルと技術経験:◎(Java約6年6ヶ月の主力技術あり、30代で上流工程経験(要件定義・基本設計)あり)

【合否理由】
・Java中心に約6年6ヶ月の実務経験があり、Spring Bootでのバックエンド開発が主力
・直近では要件定義・基本設計の上流工程にも従事しており、30代に求められる工程レベルを満たす
・在籍年数が安定しており(直近4年)、転職回数も適正範囲内
・希望年収500〜550万はスキル・経歴に対して妥当

【面接で確認すべき事項】
・特になし

【営業提案の難易度】

・Java/Spring Bootの実務経験が豊富で、案件選択肢が広い
・在籍年数が安定しており、クライアント先の書類選考で懸念なし
・上流工程経験もあり、SE案件への提案も可能

【ペルソナ要件との照合】
・開発経験5年以上:達成(Java約6年6ヶ月)
・上流工程の経験(要件定義、基本設計):達成(ECサイトで要件定義、業務管理で基本設計)
・言語(Java):達成

【志望職種】
Webエンジニア(バックエンド中心・フルスタック志向)
根拠:職務経歴書の希望職種欄に明記

【カルチャーマッチ】
・特記事項なし(趣味・個人開発の記載なし)

【職務経歴の要約】
2017年にジュニアエンジニアとしてキャリアを開始し、保守運用からスタート。 その後、Java・PHPでの業務系Webシステム開発を経験し、実装力を磨く。
直近の株式会社エイプリルシステムでは約4年在籍し、ECサイトリニューアルでは要件定義から、業務管理システムではVue.js/TypeScriptを用いたフロントエンド開発にも領域を拡大。
コードレビューや後輩指導にも取り組み、フルスタック志向のエンジニアとして成長中。

【スキルマトリクス】

技術名 経験年数 根拠 実務/学習
Java 約6年6ヶ月 保険業務(2017/4〜2018/3) + 金融系バッチ(2019/4〜2020/9) + ECサイト(2022/4〜2023/9) + 業務管理(2023/10〜現在) 実務
Spring Boot 約4年 ECサイト(2022/4〜2023/9) + 業務管理(2023/10〜現在) 実務
Vue.js 約2年6ヶ月 業務管理(2023/10〜現在) 実務
TypeScript 約2年6ヶ月 業務管理(2023/10〜現在) 実務
PHP/Laravel 約1年6ヶ月 物流管理(2020/10〜2022/3) 実務
C#/.NET 約1年 自治体向け(2018/4〜2019/3) 実務
JavaScript 約5年 金融系バッチ以外の複数PJ(2018/4〜2019/3, 2020/10〜2022/3, 2022/4〜現在) 実務
PostgreSQL 約4年 ECサイト(2022/4〜2023/9) + 業務管理(2023/10〜現在) 実務
MySQL 約1年6ヶ月 物流管理(2020/10〜2022/3) 実務
Oracle 約1年6ヶ月 金融系バッチ(2019/4〜2020/9) 実務

 

ここまで大体1~2分程。

あとは評価結果を確認して、合否をY/Nで入力するだけ。

しかも、 あらかじめ定義したペルソナに沿って均等に判断してくれる から、人間がやりがちな「疲れてるときに甘くなる」「先入観で判断しちゃう」みたいなブレが起きにくいんですよね。

今回は合格(Y)で進めましょう。

すると、kintoneへ自動入力されます。

左が書類選考前。右が書類選考後(合否のY/N回答後)

今回は合格の為、選考ステータスも「1次:調整中」に更新されました。

人事広報部:石井
革命すぎる

 

逆に不合格とする場合は「N」で返します。
※今回は適当に希望年収が合わないという理由にしましたが、実際はそんなことないです!w。

すると、先ほどまで合格だったデータを上書きしてこのように記載してくれます。

ステータスも見送りになっているので、これにて選考終了となります。
社内やエージェントへの共有用のフィードバック文章も追記されました。

数字で見る変化

  導入前 導入後
1件あたりの所要時間 15〜20分 約2分
月70件の総工数 約17〜23時間 約2.5時間
評価の均一性 コンディションで変動しかねない ペルソナ基準で一定
kintone入力 全項目手入力 基本情報+評価結果を自動記入
フィードバック文 毎回手作業で作成 評価結果から自動生成

月あたりの削減時間、 約15〜20時間 。

この浮いた時間を面接準備や他の採用施策、カルチャー推進関連の業務に回せるようになりました。

とにかく、 一連の作業が効率化された 。もうこれに尽きます。

非エンジニアだからこそ伝えたいこと

ここまで読んで、「いやいや、そんなの技術わかる人だからできたんでしょw」って思った方もいると思いますが、プログラミングの知識は一切ありません。

過去記事を読んでもらえればわかるんですが、1本目の記事を書いた時点での僕は「Pythonって何?」「コードを書きますっていうけど、どこにだよ」っていうレベルですw

今回のシステムも、やったことを振り返ると

  1. 「MCPサーバーがある」という存在だけを教えてもらった
  2. 「書類選考を自動化したい」とAIに伝えた
  3. 動きを確認しながら、指示を直したり追加したりした
  4. 「ここもこうしたい」をどんどん伝えてブラッシュアップした

本当にこれだけ。コードは1行も書いてません。AIから言われた通りのことをやり、分からないことは「分からないから詳しく教えてくれ」と順に解決していっただけです。

人事広報部:石井
ちなみに、今回使用したAIは Claude Opus 4.6です!

自分の業務を一番よく知ってるのは自分自身。だからこそ、「こういう順番で処理してほしい」「この条件に当てはまったらこう判定してほしい」っていう要件を一番正確に伝えられるのも自分自身。
自他ともに語彙力が終わってる(ガチ)僕でもある程度AIは内容や言いたいことを汲み取ってくれますし、そこは本当に助かってますw。

何が言いたいのかというと、非エンジニアでも、がんばれば自分の理想の形に起こせる。ということ。

第2弾で紹介したアプリ作ってる話もそうですが、理想をある程度形に起こすことが容易になってきた時代ですので、同じように「繰り返し作業をなんとかしたいけど、自分には技術がないし……」と感じてる方の背中を少しでも押せたらうれしいです!

弊社では、こうしたDX伴走型支援サービスも展開していますので、気になる方は是非コーポレートサイトからお問い合わせください!
※ちゃんとプロエンジニアが作りますのでご安心ください!笑

今後について

今回は書類選考の自動化をメインにお伝えしましたが、このシステムはまだまだ発展途上です。

改善できるところはいくらでもあるし、採用業務全体を見渡せばこれも自動化できそうだなって思うポイントがたくさんありました。

できることからコツコツと。でも、やれることはどんどんやっていく予定です!


株式会社エイプリルナイツは、ゲームが好きという共通の価値観をベースに、楽しく働きやすい企業を作っていこうとしています。
ゲームが好きなエンジニアはぜひ弊社にご注目ください!

ABOUTこの記事をかいた人

えけすぽ!運営リーダーです。いつもご覧いただきありがとうございます!!