人材派遣・SESの会社で派遣先に出すスタッフのスキルシートを、個人が特定できる記載・表記の不統一・経験年数の計算違いで提出前に校正する
派遣先・発注元に出す前のスキルシートを、個人が特定できる記載、技術名と年月の表記、経験年数の計算の3つの観点で校正します。直す箇所を、場所と直し方の案つきの一覧にして営業に返します。
- 生成AI
- ChatGPT/Claude/Gemini/Microsoft Copilot
- 連携・自動化
- Google Apps Script/Python
- 対象業界
- IT・SaaS/その他/人材
- 対象部門
- 営業
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 属人化している/書類作成に時間がかかる/確認ミスが多い
- AIで行う処理
- 校正
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★☆☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 引き合いを受け、台帳から候補のスタッフを選ぶ
- 共有フォルダからそのスタッフの最新のスキルシートを複製し、提案先に合わせて案件を並べ替える
- 氏名・生年月日・住所・最寄り駅・顔写真の欄が消えているかを見る
- 職務経歴の自由記述を読み、顧客名・社内のシステム名・個人の手がかりが残っていないかを探す
- 技術名と年月の書き方を、社内の表記の一覧と見比べて直す
- スキルごとの経験年数の欄を、案件の期間と見比べて、合わないものを本人に聞く
- PDFにして提案先に送る
- 人引き合いに合わせて案件を並べ替えたスキルシートを、「提出前」フォルダに保存する
- 自動プログラムがシートを読み、台帳の値(氏名、生年月日、住所、最寄り駅)と照らして置き換える
- 自動ファイルの作成者などの情報を消し、ファイル名をイニシャルと管理番号に付け直す
- 自動社内の表記の一覧にある書き方は、プログラムがそのまま直す
- 自動残りの自由記述をAIに渡し、個人の手がかり・顧客名・一覧に無い表記の揺れを拾わせ、案件ごとの期間と技術を抜き出させる
- 自動抜き出した期間から、プログラムが技術ごとの経験月数を重なりを除いて計算し、スキル一覧の年数と比べる
- 自動直す箇所の一覧(場所・原文・直し方の案・理由)を作る
- 人営業が一覧を見て、採るものを選び、シートを直す
- 人経験年数が合わないものは本人に確かめる
- 人PDFにして提案先に送る
各工程の詳しい説明を読む
- 引き合いを受け、台帳から候補のスタッフを選ぶ
- 共有フォルダからそのスタッフの最新のスキルシートを複製し、提案先に合わせて案件を並べ替える
- 氏名・生年月日・住所・最寄り駅・顔写真の欄が消えているかを見る
- 職務経歴の自由記述を読み、顧客名・社内のシステム名・個人の手がかりが残っていないかを探す
- 技術名と年月の書き方を、社内の表記の一覧と見比べて直す
- スキルごとの経験年数の欄を、案件の期間と見比べて、合わないものを本人に聞く
- PDFにして提案先に送る
(a)個人の手がかりは、決まった欄の外に残る。 氏名の欄を消しても、職務経歴に「山田が主担当として」と自分の名前が書かれていたり、ファイルの名前やシートの作成者の情報に氏名が残っていたりします。決まった欄を見るだけでは見つかりません。
(b)前の顧客の名前が残る。 「△△銀行様向け」「□□自動車の工場」。本人にとっては当たり前の言葉なので、そのまま書きます。ほかの会社に出す書類に前の顧客の名前があると、守秘の点で問題になり、提案先からの信用も落ちます。
(c)表記がばらばら。 「JAVA」「java」「Java8」、「2021/4」「R3.4」「2021年4月」。提案先は複数の会社のシートを並べて比べるので、書き方がそろっていないだけで雑な印象を与えます。
(d)経験年数が案件の期間と合わない。 スキルの一覧には「Java 7年」とあるのに、Javaを使った案件の期間を足すと4年半しかない。期間が重なる案件を両方数えた、学生のときの経験を入れた、単に古い数字のまま。 面談で突かれると、提案そのものが崩れます。
- 【人】 引き合いに合わせて案件を並べ替えたスキルシートを、「提出前」フォルダに保存する
- 【自動】 プログラムがシートを読み、台帳の値(氏名、生年月日、住所、最寄り駅)と照らして置き換える
- 【自動】 ファイルの作成者などの情報を消し、ファイル名をイニシャルと管理番号に付け直す
- 【自動】 社内の表記の一覧にある書き方は、プログラムがそのまま直す
- 【自動】 残りの自由記述をAIに渡し、個人の手がかり・顧客名・一覧に無い表記の揺れを拾わせ、案件ごとの期間と技術を抜き出させる
- 【自動】 抜き出した期間から、プログラムが技術ごとの経験月数を重なりを除いて計算し、スキル一覧の年数と比べる
- 【自動】 直す箇所の一覧(場所・原文・直し方の案・理由)を作る
- 【人】 営業が一覧を見て、採るものを選び、シートを直す
- 【人】 経験年数が合わないものは本人に確かめる
- 【人】 PDFにして提案先に送る
8番目を人に残しているのは、直し方に判断が混ざるからです。 「△△銀行」を「大手銀行」にするか「金融機関」にするかは、提案先と案件によって変わります。AIの案をそのまま当てると、伏せすぎて経験が伝わらないシートができます。
2〜4番目と6番目をプログラムにしているのは、確実にできることを確実にやるためです。 台帳に値がある氏名や、一覧にある表記は、照合すれば漏れません。AIに任せる範囲を狭めるほど、AIの見落としが入り込む余地も狭まります。
02今回想定するシステム構成
スキルシート(表計算のファイル) │ 営業が「提出前」フォルダに保存 ▼【トリガー】フォルダへの保存(数分おきに確認) Python ── 台帳の値で置き換え/ファイルの情報を消す/表記の一覧で直す ▼ ChatGPT(OpenAI API・構造化出力) │ 個人の手がかり・顧客名・一覧に無い表記の揺れ │ 案件ごとの期間と使った技術 ▼ Python ── 経験月数を重なりを除いて計算し、スキル一覧の年数と比べる ▼ 直す箇所の一覧(場所・原文・直し方の案・理由) ▼ 【営業が選んで直す】→ 本人への確認 → PDF にして送る
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | ChatGPT(OpenAI API。最小構成では ChatGPT の画面) | Claude、Gemini、Microsoft Copilot |
| 集計 | Python(台帳の値での置き換え、表記の一覧との照合、経験月数の計算、一覧の書き出し) | Google Apps Script |
| 保管 | 共有フォルダ(提出前・提出用のスキルシート) | - |
新しく足すのは、Python の小さな処理と、AIへの指示文だけです。 台帳とスキルシートの様式は今のまま使い、台帳には書き込みません。 経験年数が合わなかったときに台帳のスキルを直すかは、本人に確かめたうえで人が決めます。
AIには、OpenAI API の構造化出力を使います。 公式の説明では、text.format に type: "json_schema" と strict: true を指定すると、モデルの応答が指定したJSONスキーマに従い、すべての項目を required にし、additionalProperties を false にする必要があります。 値が決まらない項目は null との共用体で表します。
最小構成では、ChatGPT の画面に指示文とシートの文章を貼るだけです。 開発はしません。業務の中身を決めるのは、会社の基準と表記の一覧と指示文です。
03どうやって実装するのか
処理の起点を決める
営業が「提出前」フォルダにシートを保存したことを起点にします。 Python の処理を数分おきに動かし、新しく置かれたファイルを順に処理します。提出の直前に営業が待つ時間を短くするため、1日1回のまとめ処理にはしません。 引き合いには、その日のうちに返すのが普通だからです。
処理が終わったシートは「確認待ち」フォルダへ移し、同じ名前で直す箇所の一覧を置きます。移すのは処理が成功したときだけにし、「提出前」フォルダに残っている数がそのまま未処理の数になるようにします。
同じスタッフのシートが同じ日に何度も置かれることがあります。 提案先ごとに並べ替えたものなので、別のファイルとして扱います。ただし台帳との照合の結果は、スタッフごとに使い回してかまいません。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| スキルシート | 基本情報の欄、スキルの一覧(技術名と経験年数)、職務経歴(案件ごとの期間・業種・役割・使った技術・自由記述) | 「提出前」フォルダ |
| スタッフの台帳 | 氏名(漢字・かな・ローマ字)、イニシャル、生年月日、住所、最寄り駅、管理番号 | 台帳(読み取りのみ) |
| 社内の表記の一覧 | 技術名の正しい書き方と、よくある揺れ(JAVA→Java など)、年月の書き方 | 営業部で用意する一覧 |
| 出してはいけない語の一覧 | 過去に取引のあった顧客の名前と略称、顧客のシステムの愛称 | 営業部で用意する一覧 |
| 会社の基準 | どの欄を消すか、顧客名をどう書き換えるか(「大手銀行」「製造業」など) | 営業部の取り決め |
質を決めるのは、下の3つです。 表記の一覧が無ければ、AIは「どちらの書き方が正しいか」を自分で決めてしまいます。出してはいけない語の一覧が無ければ、顧客名かどうかを見分けられない語が残ります。 たとえば社内の愛称で呼ばれていたシステム名は、外の人には顧客を指すと分かってしまうことがあります。
データの取得方法を決める
スキルシートは表計算のファイルなので、Python で欄ごとに値を読み出します。 基本情報、スキルの一覧、職務経歴の各行を、どの欄から来たかが分かる形で持ちます。直す箇所の一覧で「職務経歴の3件目の自由記述」と場所を示すために、欄の位置を最後まで持ち回ります。
| 読むもの | どこから | 何に使うか |
|---|---|---|
| 基本情報の欄 | 様式の決まった位置 | 消すべき欄に値が残っていないかを見る |
| スキルの一覧 | 技術名と経験年数の表 | 経験年数の比較の相手 |
| 職務経歴の各行 | 期間・業種・役割・技術・自由記述 | AIに渡す本文 |
| ファイルの情報 | 作成者・最終更新者・コメント | 氏名が残っていないかを見る |
| 台帳の値 | 管理番号から引く | 置き換えの照合に使う |
台帳は管理番号で引きます。 ファイル名や氏名から引くと、同姓同名のスタッフで取り違えます。スキルシートの様式に管理番号の欄があることが前提で、無い様式は最初に欄を足します。
AIへ渡す前に整形する
- 台帳の値での置き換え … 氏名(漢字・かな・ローマ字・姓だけ・名だけ)を、本文のどこにあってもイニシャルに置き換えます
- 消す欄の確認 … 生年月日・年齢・性別・住所・最寄り駅・顔写真の欄に値があれば消し、一覧に「消した」と記録します
- ファイルの情報の消去 … 作成者・最終更新者・コメント・非表示のシートを消します
- 表記の一覧での置き換え … 一覧にある揺れは、プログラムがそのまま正しい書き方に直します
- 年月の書き方の統一 … 「R3.4」「2021/4」「2021年4月」を
2021年04月の形にそろえます。和暦の変換もプログラムで行います - 出してはいけない語の照合 … 一覧の語が本文にあれば印を付けます。直し方はAIの案と合わせて営業が決めます
- AIに渡す本文の作成 … 置き換えの後の職務経歴を、欄の位置の印つきで1つの文章にまとめます
1番目で、姓だけ・名だけも置き換えるのを忘れないでください。 自由記述では「山田が担当」「太郎さんと呼ばれ」のように、氏名の一部だけが出てきます。 ただし、ありふれた姓が技術名や地名の一部と重なることがあるので、置き換えた箇所はすべて一覧に出し、営業が見られるようにします。
4番目と5番目をAIの前に済ませるのは、AIに渡す揺れを減らすためです。 一覧で直せるものを直してから渡すと、AIが拾うのは一覧に無い新しい揺れだけになり、それを一覧に足していけば、次からはプログラムで直せます。
AIに処理させる
させるのは、置き換えの後の職務経歴から、次の2種類のものを拾うことです。 1つは直す箇所の候補、もう1つは経験年数を計算するための案件ごとの期間と技術です。
| 拾うもの | 中身 | 判断できないときの扱い |
|---|---|---|
| 個人の手がかり | 出身校、研究室、在住の地域、家族、趣味の団体など、本人にたどり着ける記載 | uncertain で営業へ |
| 顧客名・顧客のシステム名 | 一覧に無い会社名、略称、システムの愛称 | 会社名か製品名か決められなければ uncertain |
| 表記の揺れ | 一覧に無い技術名の揺れ、同じ技術の2通りの書き方 | どちらが正しいか決めずに両方を挙げる |
| 案件ごとの期間と技術 | 開始と終了の年月、使った技術(書かれたとおり) | 終了が「現在」なら null、期間が書かれていなければ null |
右端の列で、「決めない」を許しているのが大事です。 「NEC」は顧客名にも製品の作り手の名前にもなり、「Spring」は技術名にも季節にもなります。決められないものを決めさせると、消してはいけない技術名を消すか、消すべき顧客名を残すかのどちらかになります。
| させないこと | 理由 |
|---|---|
| 経験年数の計算 | 期間の重なりの扱いで答えが変わる。プログラムが同じ規則で計算する |
| 経験の中身の書き足し | 書かれていない技術や役割を足すと、事実と違うシートになる |
| 顧客名の書き換えの確定 | 「大手銀行」か「金融機関」かは提案先と案件で決まる |
| 技術名の正しい書き方の確定 | 一覧が決める。AIは揺れを挙げるだけ |
| スタッフの評価や向き不向きのコメント | 校正の範囲の外。提案先に出る書類に混ざると取り返せない |
2行目が、いちばん起きやすい失敗です。 職務経歴の書き方が短いと、AIは「Javaによる開発」を「Java(Spring Boot)による設計・開発・テスト」と親切に膨らませます。 面談で聞かれて本人が答えられなければ、会社の信用が落ちます。
指示内容を固定する
あなたは人材派遣・SESの会社の営業部で、派遣先・発注元に出す前の
スキルシートを校正する担当です。渡された職務経歴の文章だけを見て作業してください。
文章を書き足したり、言い換えたりしないでください。
【拾うもの】
1. personal ...... 本人にたどり着ける記載(出身校、研究室、在住の地域、家族、所属団体など)
2. client ........ 会社名・団体名・その略称、顧客のシステムの愛称
3. notation ...... 技術名や用語の書き方の揺れ(表記の一覧に無いもの)
4. projects ...... 案件ごとの開始年月・終了年月・使った技術
【厳守事項】
- 氏名はすでにイニシャルに置き換えてあります。イニシャルは拾わないでください。
- 会社名か製品名・技術名か決められない語は、category を uncertain にしてください。
どちらかに決めないでください。
- 顧客名の書き換え案は、「業種+規模」の形(例:大手銀行、中堅の製造業)で
1つだけ挙げてください。確定ではなく案です。
- notation では、どちらの書き方が正しいかを決めないでください。
見つかった書き方をすべて variants に並べてください。
- projects の技術は、書かれたとおりに写してください。書かれていない技術を足さないでください。
- 終了年月が「現在」「継続中」の場合は end を null にしてください。
期間が書かれていない案件は start と end を null にしてください。
- 経験年数の計算はしないでください。
- スタッフの能力や向き不向きについて、何も書かないでください。
- それぞれに、本文の位置の印([経歴3-自由記述] など)と、原文の抜き出しを付けてください。
【表記の一覧】{notation_list}
【出してはいけない語の一覧】{ng_terms}
【会社の基準】{company_rules}
【職務経歴】{career_text}
「書き足したり、言い換えたりしない」を冒頭に置いているのは、校正の指示が書き直しの指示に読まれやすいからです。 「スキルシートを校正して」と言うと、文章を整えて返します。この構成で欲しいのは直したシートではなく、直す箇所の一覧です。
「会社名か技術名か決められない語は uncertain」を明記しないと、どちらかに倒します。 倒し方はその時々で変わるので、同じシートを2回流すと違う結果が出ます。 決めないことを指示に書けば、迷った語は毎回営業に回ります。
出力形式を固定する
次の形のJSONで受け取ります。
{
"staff_id": "",
"findings": [
{
"category": "personal | client | notation | uncertain",
"location": "",
"original": "",
"suggestion": null,
"variants": [],
"reason": ""
}
],
"projects": [
{ "location": "", "start": "2021-04", "end": null, "skills_as_written": [""] }
]
}
1つ目の理由は、経験年数の計算をプログラムに渡せることです。 projects の start と end と skills_as_written を受け取り、Python が技術ごとに月数を数えます。期間が重なる案件は、重なった月を1回だけ数えます。 end が null の案件は、提出する月までを数えます。技術名は表記の一覧で正しい書き方に寄せてから数えるので、Java8 と Java は同じ技術として足されます。
重なりの扱いを例で示します。 2019年04月〜2021年03月の案件Aと、2020年10月〜2022年03月の案件Bで、どちらにもJavaが書かれている場合、単純に足すと24か月+18か月=42か月ですが、2020年10月〜2021年03月の6か月は重なっているので、Javaの経験は36か月(3年)と数えます。スタッフ本人が手で足すと、ここで42か月になりがちです。
計算した月数とスキルの一覧の年数を比べ、差が6か月以上あるものを一覧に出します。
| 比べた結果 | 一覧に出す内容 |
|---|---|
| 一覧の年数が、計算より6か月以上長い | 「案件の期間からは〇年〇か月。重なりか古い数字の可能性」 |
| 一覧の年数が、計算より6か月以上短い | 「案件の期間からは〇年〇か月。更新漏れの可能性」 |
期間が null の案件にその技術がある | 「期間不明の案件あり。計算に入れていない」 |
2つ目の理由は、suggestion を null にできることです。 個人の手がかりは消すのが答えで、案は要りません。案を必須にすると、AIは消すべき記載にまで言い換えの案を作ります。
3つ目は、返事が必ずこの形で来ることです。 構造化出力ではスキーマに合わない応答が返らず、拒否のときは refusal が別に返るとされているので、その場合は一覧を作らずに営業へ戻します。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 共有フォルダ | Python が数分おきに確認 | 「提出前」の新しいファイルを読み、「確認待ち」へ移す |
| スタッフの台帳 | 読み取りのみ | 管理番号で氏名・生年月日・住所などを引く |
| 表記の一覧・出してはいけない語の一覧 | 読み取りのみ | 置き換えと照合 |
| OpenAI API | API呼び出し(構造化出力) | 直す箇所の候補と、案件ごとの期間と技術 |
| 直す箇所の一覧 | 表計算のファイルとして書き出す | シートと同じ名前で「確認待ち」に置く |
スキルシートそのものは、AIの結果で書き換えません。 プログラムが直すのは、台帳の値の置き換え・ファイルの情報の消去・一覧にある表記の3つだけで、AIが拾ったものは一覧に出すだけです。 営業が一覧を見ながら、自分の手でシートを直します。
表記の一覧への追加は、営業部の担当者が行います。 AIが notation で拾った揺れのうち、どちらを正しい書き方とするかを決めて一覧に足します。足した揺れは、次からはプログラムが直します。
人が確認する
営業が見るのは、直す箇所の一覧です。 シートを最初から読み直す必要はありません。一覧の各行の「場所」から該当の欄を開き、採るか採らないかを決めます。
- プログラムが置き換えた箇所を流し見る … 姓の置き換えが技術名や地名を巻き込んでいないかを見ます
personalとclientを直す … 消すか、案の書き方に直すか、提案先に合わせた別の書き方にするかを決めますuncertainを決める … 会社名なら直し、技術名ならそのまま残します- 経験年数の食い違いを本人に聞く … 一覧の数字を直すか、案件の期間を直すかを本人に確かめます
- PDFにする前に、ファイルの情報が消えているかをもう一度見る
4番目は、営業が勝手に直さないでください。 計算の結果が短いからといって一覧の年数を下げると、期間を書き忘れた案件があった場合に本人の経験を削ることになります。 どちらが正しいかを知っているのは本人だけです。
目標は、1通6分です。 一覧の行数はシート1通につき数行から10行程度という想定で、それより多いシートは、本人が書いた職務経歴そのものを一度書き直してもらったほうが早く終わります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 様式が古く、管理番号の欄が無い | 台帳を引けない。処理を止めて営業に戻し、新しい様式に移してもらう |
| 台帳にそのスタッフが無い | 登録前のスタッフ。氏名の置き換えができないので、営業に戻す |
| 自由記述が空、または極端に短い | 拾うものが無い。一覧に「職務経歴の記載が少ない」と出す |
| 期間の書き方が読めない(「約2年」など) | start・end を null にし、経験年数の計算に入れない |
| 1つのファイルに複数のスタッフのシート | シートごとに分け、それぞれの管理番号で処理する |
| 表記の一覧に無い揺れが多い | 一覧への追加の候補として、営業部の担当者に回す |
| AIが拒否した・応答が無い | 一覧を作らず「AIの確認なし」と出す。プログラムの置き換えの結果だけを返す |
| 紹介予定派遣のシート | 氏名を出す前提の書類。この処理の対象から外す |
| 英語のスキルシート | 海外の発注元向け。表記の一覧が別に要るので、英語版の一覧ができるまで対象から外す |
| 終了年月が開始年月より前 | 書き間違い。計算に入れず、一覧に「期間の書き間違いの疑い」と出す |
1行目が、最初の1か月の大半を占めます。 共有フォルダには古い様式のシートが残っていて、複製して使ううちに古い様式が生き続けます。 管理番号の欄が無いシートを止めることで、様式の入れ替えが進みます。
記録を残す
- 処理したシートのファイル名、管理番号、処理の日時、提案先(営業が入力した場合)
- プログラムが置き換えた箇所の一覧(どの語を、何に置き換えたか)
- AIに渡した本文(置き換えの後のもの)と、返ってきたJSONの全文
- 経験月数の計算の結果と、スキルの一覧の年数との差
- 営業が採った指摘と、採らなかった指摘
- 送った PDF のファイルと、送った日時・提案先
5つ目を残すのは、指示文と一覧を育てるためです。 採られなかった指摘が多い種類は指示文が拾いすぎていて、提出後に提案先から指摘された記載は、指示文か出してはいけない語の一覧が足りていません。
AIに渡した本文は、置き換えの後のものだけを残します。 置き換えの前のシートは元のファイルとして共有フォルダにあり、ログの側に氏名の入った本文をもう1つ作る必要はありません。
04実装レベルの3段階
本記事の想定は半自動化です。 1通15分が6分になる構成で、営業部の中の Python の小さな処理と、AIの呼び出しだけで組めます。 半自動化では、営業の手元の操作は変わりません。 これまでどおりシートを作ってフォルダに置き、数分後に届く一覧を見て直すだけです。新しい画面を覚えてもらう必要がないので、営業部の全員に広げやすい段階です。 本格構成は、提案の記録の仕組みを持っている会社向けです。 提案先ごとに「顧客名は業種だけ」「金融の経験は詳しく」といった書き換えの基準を持たせると、suggestion の案が提案先に合ったものになります。ただし、半自動化で一覧と指示文が育ってからでないと、基準の数だけ外れた案が増えます。
05工数削減シミュレーション
導入後 400件 × 6分 ÷ 60 = 40 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- ITエンジニアの派遣やSES(準委任)で、派遣先・発注元からの引き合いのたびにスタッフのスキルシートを月に数百通出している会社。スキルシートの様式は決まっているが、記入はスタッフ本人と営業が分担していて、提出前の確認が営業ごとにばらばらな場合。過去に、氏名や前の顧客名が残ったまま出してしまったことがある場合。経験年数の欄が自己申告のままで、案件の期間と合わないと指摘されたことがある場合。
- 提案するスタッフが月に数名で、営業が1通ずつ丁寧に見て足りる場合。スキルシートをシステムの項目から自動で作っていて、自由記述の欄が無い場合。紹介予定派遣や人材紹介で、本人の氏名を出すことが前提の書類(この構成の匿名化の考え方が当てはまらない)。なお、どの情報を派遣先へ出してよいかの判断と、経験の中身の真偽の確認はこの構成では行いません。
07最小構成で試す方法
- 先月出したスキルシートから20通を選ぶ(うち数通は、提出後に直しを求められたものを入れる)
- 氏名・生年月日・住所を手で消し、職務経歴の文章を ChatGPT の画面に貼る
- 「この職務経歴から、本人にたどり着ける記載、会社名やその略称、技術名の書き方の揺れを、場所と原文つきで挙げてください。文章を書き足したり言い換えたりしないでください。会社名か技術名か決められない語は、決めずに挙げてください」と指示する
- 続けて「案件ごとの開始年月・終了年月・使った技術を、書かれたとおりに表にしてください。経験年数の計算はしないでください」と指示する
- 出てきた表から、手で技術ごとの月数を数え、スキルの一覧の年数と比べる
20通は必ずやってください。 プログラムを書く前に、会社の基準と表記の一覧で足りるかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 提出後に指摘された記載が拾われた | Python の処理を書く段階に進む |
| 文章を整えて返してきた | 指示の書き方で直る。構成は有効 |
| 技術名の揺れが大量に出た | 表記の一覧を先に整える。 AIの問題ではない |
3行目は、たいてい出ます。 それは失敗ではなく、営業ごとに確認の結果が違っていた理由が1つ分かったということです。 出てきた揺れから一覧を作れば、それだけで次の月の確認が速くなります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 職務経歴の文章を書き換えて返す | 書き足し・言い換えの禁止を冒頭に書く。 欲しいのは一覧 |
| 書かれていない技術を足す | skills_as_written で書かれたとおりに写させる |
| 経験年数をAIが計算する | 計算はさせない。期間の重なりの扱いはプログラムで決める |
| 会社名と技術名を取り違える | uncertain を許し、営業が決める |
| 姓の置き換えが技術名を巻き込む | 置き換えた箇所をすべて一覧に出す |
| ファイルの作成者に氏名が残る | ファイルの情報の消去をプログラムに入れる |
| 非表示のシートに古い版が残る | 非表示のシートを消してから PDF にする |
| 古い様式で管理番号が無い | 処理を止めて新しい様式へ移す |
| 表記の揺れが毎回同じものが出る | 営業部の担当者が一覧に足す |
| 経験年数の差を営業が勝手に直す | 本人に確かめる手順を必ず通す |
| 重なった期間を二重に数える | 重なった月を1回だけ数える規則を、プログラムと会社の基準の両方に書く |
| 研修や学生のときの経験が混ざる | 案件の欄に入れない決まりを基準に書き、projects に入ったら一覧に出す |
| 顧客名の書き換えが営業ごとに違う | 「業種+規模」の書き方を基準にし、例外は提案先ごとに残す |
上の3行が、この構成の失敗のほとんどです。 どれも、AIが「親切に」シートを良くしようとすることから起きます。校正は直す箇所を挙げる仕事で、直すのは人だと、指示文と出力の形の両方で決めておきます。
ファイルの情報の2行も、早く効いてきます。 本文をいくら丁寧に直しても、PDFにしたときに作成者の名前が残ることがあります。人の目では見えない場所なので、プログラムで消します。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: スタッフの氏名・生年月日・住所(台帳の側)、職務経歴(過去の顧客と案件の内容)、そして経験年数という本人の評価に関わる数字です。
- 派遣先に出してよい情報を、会社として決めておく … 厚生労働省の「派遣元事業主が講ずべき措置に関する指針」では、労働者派遣を行う際に派遣元が派遣先に提供できる派遣労働者の個人情報は、派遣先に通知すべき事項のほか、その派遣労働者の業務遂行能力に関する情報に限られるとされています(他の目的を示して本人の同意を得た場合などを除く)。スキルシートに何を載せるかは、この考え方に沿って会社が決めます
- 派遣先による特定を目的とする行為に協力しない … 同じ指針では、紹介予定派遣の場合を除き、派遣元は派遣先による派遣労働者を特定することを目的とする行為に協力してはならないとされています。氏名や顔写真を消すのは、体裁ではなくこのためです。SES(準委任)は派遣とは契約の形が違いますが、同じ様式を使うなら同じ基準で扱うほうが事故が起きません
- 氏名をAIに渡さない … 台帳の値での置き換えをAIの前に済ませます。OpenAI の説明では、API に送ったデータは、明示的に共有を選ばない限りモデルの学習に使われず、不正利用の監視の記録は最長30日保持されるとされています。それでも、渡さずに済むものは渡しません
- 前の顧客の情報を守る … 出してはいけない語の一覧は、それ自体が取引先の一覧です。AIには一覧を渡しますが、一覧の管理は営業部の中に限ります
- 経験年数の食い違いを、本人の評価に使わない … 食い違いの多くは書き忘れと古い数字です。一覧の数字は本人と一緒に直すためのもので、虚偽の申告を探すためのものではありません
- 最小構成で試すときも、会社が管理するアカウントを使う … 営業が個人で契約した AI サービスにスキルシートを貼ると、どこに何が残ったかを会社が説明できなくなります。 試す20通も、氏名を消してから会社の管理するアカウントで扱います
誤りが起きた場合のリスクは、消すべき記載を残すことと、本人の経験を削ることの2つです。 前者はAIの見落としで、後者はAIの書き換えと営業の勝手な修正で起きます。前者はプログラムの置き換えで幅を狭め、後者は「書き換えさせない・本人に聞く」の2つで防ぎます。
10まず何から始めるか
1週目:一覧を2つ作る
技術名の表記の一覧と、出してはいけない語の一覧を作ります。表記の一覧は、先月出したシートでよく使われている技術名の上位50語から始めます。 出してはいけない語は、過去の取引先の名前と略称と、現場で使われていたシステムの愛称です。
2週目:20通で試す
先月出したシートから20通を選び、ChatGPT の画面で個人の手がかりと揺れを拾わせ、案件ごとの期間を表にさせます。文章を書き換えていないか、書かれていない技術を足していないかを最優先で見ます。
3週目:会社の基準を書き出す
どの欄を消すか、顧客名をどう書き換えるか、年月をどう書くか。営業ごとに違っていたやり方を、1枚の基準にまとめます。 派遣とSESで分けるかもここで決めます。
4週目:Python の処理を作る
台帳の値での置き換え、ファイルの情報の消去、表記の一覧での置き換え、経験月数の計算を作り、AIの呼び出しをつなぎます。この時点では、営業2名だけで使います。
2か月目: 営業部の全員に広げ、採った指摘と採らなかった指摘を毎週数えます。3か月目以降: 拾われた揺れを表記の一覧に足し続け、1通15分が何分になったかを実測します。提出後に提案先から記載を指摘される件数が無くなった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 労働者派遣を行う際に派遣元事業主が派遣先に提供できる派遣労働者の個人情報は、派遣先に通知すべき事項のほか、業務遂行能力に関する情報に限られること(他の目的を示して本人の同意を得た場合などを除く)。紹介予定派遣の場合を除き、派遣先による派遣労働者を特定することを目的とする行為に協力してはならないこと。派遣労働者の性別を労働者派遣契約に記載してはならないこと(確認したPDFは最終改正 令和4年厚生労働省告示第92号の版) | 厚生労働省: 派遣元事業主が講ずべき措置に関する指針(PDF) | 2026-10-07 |
Responses API で text.format に type: "json_schema" と strict: true を指定すると応答がスキーマに従うこと。すべての項目に required を指定し、additionalProperties を false にする必要があること。値が無い項目を null との共用体で表すこと。拒否が refusal として別に返ること | OpenAI: Structured model outputs | 2026-10-07 |
| API に送ったデータが、明示的に共有を選ばない限りモデルの学習に使われないこと。不正利用の監視の記録が最長30日保持されること。データ保持の制御には事前の承認が要ること | OpenAI: Data controls in the OpenAI platform | 2026-10-07 |
どの情報を派遣先・発注元に出してよいかは、自社の基準と法令に照らして、営業部と管理部門で決めてください。 本記事は公開されている指針と仕様で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0803)についてのご相談はこちらから。
