このリポジトリで測る業務シナリオの一覧です。50件を8つの族に分けて定義しています。
ここに載っているのは「測れる形にできる仕事」だけです。実装済みのものはtasks/*.yaml にあり、それ以外はまだ定義だけの候補です。
1. 正解を先に作り、seed を固定して文面を合成できる。実データは使いません。金額や日付といった値を先に決め、それを人が読む文面に組み立てます。この順序なので、本文と正解が食い違うことがありません。seed が同じなら誰の手元でも同じ入力になります。
2. 採点が決定論で決まる。応答からJSONを取り出し、スキーマを満たすかを見て、値が正解と一致するかを比べます。ラベルを返させる仕事なら文字列の一致だけを見ます。LLMに採点させることも、部分点も、類似度も使いません。
3. 正解が一意である。要約・翻訳・敬語への言い換えのように、正しい答えが複数ありうる仕事は入れません。採点のしかたを1文で書けない仕事は、このカタログに入れません。
generators/_lib/ に置く想定このカタログは「採点が決定論で書ける仕事」を選んでいます。この選び方は、採点しやすい仕事、つまり計算や検算の側にカタログを引っ張ります。計算・日付演算・構造化済みのデータどうしの突合は、実務ではExcelやコードでやる仕事です。その形でLLMを入れる会社はありません。「LLMは計算が苦手」は測れば出ますが、入れるかどうかの判断材料にはなりません。
同時に何本さばけるかを測る意味があるのは、実際にその形で使われる仕事だけです。そこで全件を2つに分けています。
分け方は次の3つで決めています。
| id | 仕事の内容 | 採点 | 入力長 | 出力形 | 難所 | 使う部品 | 実務区分 | 状態 |
|---|---|---|---|---|---|---|---|---|
invoice-json-ja | 経理の支払処理。請求書からJSONを抜き出す | 全項目一致 | 短〜中 | JSON中 | 基準線。明細5〜20行と値引き行 | 社名・日付・金額・品目 | 導入判断 | implemented |
contract-terms-json-ja | 法務の契約台帳。契約書の基本条項をJSONにする | 当事者・期間・金額・解約予告の一致 | 中 | JSON小 | 特約による原則の上書き | 社名・日付・金額 | 導入判断 | piloted |
resume-summary-json-ja | 人事の応募管理。職務経歴書から応募者サマリを作る | 職歴・経験年数の一致 | 中 | JSON中 | 在籍期間の合算計算 | 人名・社名・日付・部署・役職 | 導入判断 | candidate |
job-posting-json-ja | 人材・社内公募の台帳。求人票を構造化する | 給与レンジ・要件数の一致 | 中 | JSON中 | 「応相談」「〜」の幅表現の正規化 | 社名・金額・部署・住所 | 導入判断 | candidate |
business-card-json-ja | 営業のCRM入力。名刺のテキストをJSONにする | 社名・部署・役職・氏名の一致 | 短 | JSON小 | 区切りのない1行テキストの切り分け | 人名・社名・部署・役職・電話番号・メールアドレス・住所 | 導入判断 | candidate |
payslip-json-ja | 労務・本人確認。給与明細をJSONにする | 支給・控除・差引の一致 | 短 | JSON中 | 項目名ゆれと負数 | 人名・金額・日付・部署 | 導入判断 | piloted |
bank-statement-json-ja | 経理の入金消込。銀行取引明細をJSON配列にする | 全行の日付・金額・振込人一致 | 短 | JSON中 | 摘要欄に埋まった振込人名、入出金の符号 | 日付・金額・社名・人名 | 導入判断 | piloted |
meeting-invite-json-ja | 秘書・営業。日程調整メールから予定JSONを作る | 日時・場所・URLの一致 | 短 | JSON小 | 相対日付(来週火曜)の絶対化 | 人名・日付・住所・URL | 導入判断 | candidate |
property-listing-json-ja | 不動産の物件台帳。物件概要をJSONにする | 賃料・面積・徒歩分の一致 | 短 | JSON中 | 坪/㎡の単位混在 | 住所・金額・数量 | 導入判断 | candidate |
insurance-policy-json-ja | 代理店の証券管理。保険証券をJSONにする | 契約者・被保険者・特約リストの一致 | 中 | JSON中 | 契約者≠被保険者の別人パターン | 人名・社名・日付・金額 | 導入判断 | candidate |
medical-receipt-json-ja | 医療事務。診療明細をJSONにする | 点数・自己負担額の一致 | 短 | JSON中 | 点数×10円と負担割合の計算 | 人名・日付・金額・品目 | 導入判断 | candidate |
purchase-order-mail-json-ja | 受注処理。発注メールから注文JSONを作る | 品番・数量・納期の一致 | 短 | JSON中 | 本文中の訂正の最終値解決 | 社名・人名・品目・数量・日付 | 導入判断 | candidate |
medical-receipt-json-ja と resume-summary-json-ja は、難所に計算(点数×10円、在籍期間の合算)を含みますが、仕事の中心は明細や職歴を読み取るところなので導入判断にしています。計算にあたる部分は、実務ではコードでやります。
| id | 仕事の内容 | 採点 | 入力長 | 出力形 | 難所 | 使う部品 | 実務区分 | 状態 |
|---|---|---|---|---|---|---|---|---|
inquiry-routing-ja | CS。問い合わせを担当窓口に振り分ける | カテゴリ+緊急度の一致 | 短 | ラベル | 複数話題メールの主目的判定 | 人名・社名・品目 | 導入判断 | candidate |
expense-account-code-ja | 経理。経費の摘要から勘定科目を決める | 科目一致 | 短 | ラベル | 与えた判定規程の適用力 | 金額・品目・部署 | 導入判断 | piloted |
incident-severity-ja | 情シス/SRE。障害報告に重大度 Sev1-4 を付ける | 一致 | 短 | ラベル | 複数条件のAND/OR適用 | 日付・部署・品目 | 導入判断 | candidate |
applicant-requirements-ja | 採用。応募者が必須要件を満たすか判定する | 充足/不足+不足項目の一致 | 中 | JSON小 | 経験年数・資格の照合 | 人名・社名・日付・品目 | 導入判断 | candidate |
solicitation-vs-notice-ja | 総務の受信箱。営業メールか正当な案内かを判定する | 一致 | 短 | ラベル | 取引先の正当な案内との区別 | 社名・人名・メールアドレス | 導入判断 | candidate |
survey-topic-polarity-ja | マーケ/CS。自由回答にトピックと極性を付ける | 一致 | 短 | ラベル | 否定形(「安くはない」) | 品目 | 導入判断 | candidate |
contract-type-ja | 法務の受付。契約書の種別を判定する | 一致 | 中 | ラベル | タイトルと中身の食い違い | 社名・日付・金額 | 導入判断 | piloted |
出力が入力とほぼ同じ長さになる族です。指示された箇所だけを直し、それ以外を1字も変えないことを求めます。
| id | 仕事の内容 | 採点 | 入力長 | 出力形 | 難所 | 使う部品 | 実務区分 | 状態 |
|---|---|---|---|---|---|---|---|---|
pii-masking-ja | ログ・議事録の外部共有。個人情報を伏せる | 正解文と完全一致 | 短 | 入力同長 | 人名と社名の区別 | 人名・社名・住所・電話番号・メールアドレス | 導入判断 | piloted |
date-number-normalize-ja | 文書管理。日付と数値の表記を統一する | 一致 | 短 | 入力同長 | 和暦→西暦の換算 | 日付・金額 | 参考 | candidate |
address-normalize-ja | 顧客マスタ整備。住所を正規化する | 一致 | 短 | 入力同長 | 都道府県補完・政令市の区 | 住所 | 参考 | candidate |
company-name-normalize-ja | 名寄せ前処理。社名を正規化する | 一致 | 短 | 入力同長 | 前株後株を入れ替えない | 社名 | 参考 | piloted |
contract-fill-in-ja | 総務・営業事務。契約書の差し込み箇所を更新する | 更新後全文の完全一致 | 中 | 入力同長 | 指示箇所以外を1字も変えない | 社名・人名・日付・金額 | 参考 | candidate |
transcription-fix-ja | 広報・経理。転記ミスを修正する | 修正後全文の一致 | 中 | 入力同長 | 正データ表との突合+非変更の保証 | 社名・人名・金額・日付 | 参考 | candidate |
この族で導入判断に残るのは pii-masking-ja だけです。伏せる対象が文中のどれかを決めるのに文の意味が要るためです。残りは置き換えの規則が決まっていて、company-name-normalize-ja・date-number-normalize-ja・address-normalize-ja は辞書と正規表現、contract-fill-in-ja はテンプレートの差し込み、transcription-fix-ja は正データ表との突合で書けます。
| id | 仕事の内容 | 採点 | 入力長 | 出力形 | 難所 | 使う部品 | 実務区分 | 状態 |
|---|---|---|---|---|---|---|---|---|
invoice-po-match-ja | 支払前チェック。請求書と発注書を突き合わせる | 不一致項目リストの一致 | 中 | JSON小 | 並び順が違う明細の対応付け | 社名・品目・数量・金額 | 導入判断 | candidate |
line-total-audit-ja | 経理・監査。明細の合計を検算する | 誤り行の特定一致 | 短 | JSON小 | 端数処理の適用 | 品目・数量・金額 | 参考 | piloted |
double-booking-ja | 秘書・施設管理。ダブルブッキングを検出する | 重複ペア列挙の一致 | 中 | JSON小 | 時間のまたぎ、境界の扱い | 人名・日付・部署 | 参考 | candidate |
attendance-vs-request-ja | 労務。勤怠打刻と申請を突き合わせる | 乖離日列挙の一致 | 中 | JSON小 | 深夜の日付またぎ | 人名・日付 | 参考 | candidate |
stock-allocation-ja | 受注管理。在庫引当の可否を判定する | 可否+不足数の一致 | 中 | JSON中 | 順次引当 | 品目・数量 | 参考 | candidate |
quote-invoice-terms-ja | 営業事務。見積と請求の条件一致を確認する | 逸脱項目の一致 | 中 | JSON小 | 割引率の適用計算 | 社名・金額・品目 | 参考 | candidate |
invoice-po-match-ja は、並び順の違う明細を対応づけるのに表記ゆれ越しの同定が要るので導入判断です。残りは検算・時間の重なり・打刻との突合で、いずれもスクリプトの仕事です。
| id | 仕事の内容 | 採点 | 入力長 | 出力形 | 難所 | 使う部品 | 実務区分 | 状態 |
|---|---|---|---|---|---|---|---|---|
broken-csv-json-ja | データ整備。崩れたCSVをJSONにする | 一致 | 中 | JSON中 | 引用符内カンマ・欠損のnull化 | 人名・社名・住所・金額 | 参考 | candidate |
shift-request-table-ja | 店舗管理。シフト希望の自然文を可否表にする | 一致 | 短 | JSON中 | 否定と選言の論理 | 人名・日付 | 導入判断 | candidate |
memo-actions-ja | 全職種。短い会話メモをアクション配列にする | 担当・期限の一致 | 短 | JSON小 | 代名詞解決(発言者特定) | 人名・日付 | 導入判断 | piloted |
faq-lookup-ja | CS。FAQリストと質問から該当番号を返す | 番号一致(該当なし含む) | 中 | ラベル | 言い換え越しの同定と「該当なし」 | 品目 | 導入判断 | candidate |
phone-memo-json-ja | 受付。電話メモの走り書きを伝言JSONにする | 一致 | 短 | JSON小 | 省略だらけの体言止め | 人名・社名・電話番号・日付 | 導入判断 | candidate |
broken-csv-json-ja は、引用符の中のカンマも欠損もパーサの守備範囲なので参考です。
| id | 仕事の内容 | 採点 | 入力長 | 出力形 | 難所 | 使う部品 | 実務区分 | 状態 |
|---|---|---|---|---|---|---|---|---|
long-report-ja | PM。日報の束から決定事項を拾う | 一致 | 長 | JSON中 | 位置の分散・紛らわし行 | 人名・社名・日付・金額・部署 | 導入判断 | implemented |
contract-clause-locate-ja | 法務。契約書全文から条項の所在と内容を答える | 条番号+数値の一致 | 長 | JSON小 | 解除と解約の区別、答えが終盤 | 社名・日付・金額 | 導入判断 | candidate |
mail-thread-latest-ja | 営業/PM。メールスレッドから最新の合意を取る | 最終条件の一致 | 長 | JSON小 | 時系列上書き(古い合意を答えない) | 人名・社名・日付・金額 | 導入判断 | candidate |
policy-lookup-ja | 総務・労務。規程集から該当規程と数値を引く | 規程名・条番号・数値の一致 | 長 | JSON小 | 似た規程の混同 | 部署・日付・数量 | 導入判断 | piloted |
audit-log-filter-ja | 情シス。監査ログから条件に合う行を列挙する | 行集合の一致 | 長 | JSON中 | 大量の正常行に埋まった少数の該当 | 人名・日付・メールアドレス | 参考 | candidate |
transcript-todo-ja | 全職種。会議の書き起こしから発言者別の宿題を出す | 一致 | 長 | JSON中 | 話者交錯(memo-actions-ja の長文版) | 人名・日付・部署 | 導入判断 | candidate |
audit-log-filter-ja は、条件に合う行を選ぶのが grep と SQL の仕事なので参考です。
| id | 仕事の内容 | 採点 | 入力長 | 出力形 | 難所 | 使う部品 | 実務区分 | 状態 |
|---|---|---|---|---|---|---|---|---|
expense-category-total-ja | 経理。経費をカテゴリ別に集計する | 合計値一致 | 中 | JSON小 | 多数の加算 | 金額・品目・部署 | 参考 | piloted |
overtime-calc-ja | 労務。勤怠から残業時間を算出する | 一致 | 中 | JSON小 | 休憩控除と丸めルール | 人名・日付 | 参考 | candidate |
sales-ratio-ja | 営業企画。売上表から前月比と構成比を出す | 一致 | 中 | JSON中 | 割合と四捨五入指定 | 社名・金額・日付 | 参考 | candidate |
timesheet-billing-ja | 受託業。工数表から請求額を出す | 一致 | 中 | JSON中 | 人別単価と税端数 | 人名・金額・数量 | 参考 | candidate |
集計・計算族は全件が参考です。expense-category-total-ja の定義に書いてあるとおり、測っているのは加算そのもので、実務ではSUMIFの仕事です。この業務でLLMが担うのは摘要から科目を決めるところで、それは expense-account-code-ja が測っています。
| id | 仕事の内容 | 採点 | 入力長 | 出力形 | 難所 | 使う部品 | 実務区分 | 状態 |
|---|---|---|---|---|---|---|---|---|
counterparty-watchlist-ja | 与信管理。取引先リストと注意先を突き合わせる | 一致・類似一致の列挙 | 中 | JSON小 | 表記ゆれ越しの同定 | 社名・住所 | 導入判断 | candidate |
rfq-missing-fields-ja | 営業。RFQメールから条件を抽出し不足項目を指摘する | 不足項目列挙の一致 | 短 | JSON小 | 書かれていないものを言う能力 | 社名・人名・品目・数量・日付 | 導入判断 | candidate |
contract-renewal-due-ja | 総務の契約管理。基準日から90日以内に更新期限が来る契約を列挙する | 一致 | 短 | JSON小 | 日付演算+自動更新条項 | 社名・日付 | 参考 | adopted |
minutes-open-issues-ja | PM・監査。議事録から保留・反対事項を抽出する | 一致 | 中 | JSON中 | 決定と保留の区別(long-report-ja の裏面) | 人名・日付・部署 | 導入判断 | candidate |
contract-renewal-due-ja は、構造化済みの一覧に対する日付演算なので参考です。実務でLLMが担うのは契約書の本文から満了日・自動更新の有無・通知日数を抜くところで、contract-terms-json-ja がおおむね担っています(自動更新の有無と通知日数は、contract-terms の抽出項目に足す候補)。counterparty-watchlist-ja は表記ゆれ越しの同定なので導入判断に残しています。
入力の荒れはシナリオではなく、全シナリオに共通してかける変調です。同じシナリオを荒れレベル0〜3で測れば、「きれいな入力なら載るが、現場の書類では落ちる」という差が読めます。
| レベル | 入れるもの |
|---|---|
| 0 | 荒れなし。整形済みの文面 |
| 1 | 表記ゆれ。全角と半角、空白、句読点、単位(円/¥、㎡/平米)の混在 |
| 2 | レベル1に加えて誤字・脱字と、OCRの読み違え(1↔l、0↔O、力↔カ)を数%の文字に |
| 3 | レベル2に加えて、前日分のコピペ残骸・重複行・段落順の乱れ |
変調は文面だけにかけ、正解は変えません。 値そのものを壊す変調(金額の桁を落とす、日付を消す等)は入れません。壊すと正解が一意でなくなり、前提3を満たさなくなるためです。荒れレベルはタスク定義の側で指定し、結果のJSONに記録します。
「使う部品」列を数えたものです。generators/_lib/ に置く順番の根拠になります。上位7つで、50件のうち大半のシナリオがまかなえます。
| 部品 | 使うシナリオ数 | 中身 |
|---|---|---|
| 日付 | 31 | 西暦・和暦、相対表現(来週火曜)、期間、月末処理 |
| 人名 | 28 | 姓名、敬称、読み仮名 |
| 社名 | 27 | 前株・後株、法人格の有無、屋号 |
| 金額 | 23 | 円、カンマ区切り、税込税抜、負数 |
| 品目 | 15 | 商品名・サービス名・勘定科目・診療行為 |
| 部署 | 12 | 部・課・室、会議室名 |
| 数量 | 8 | 個数、面積、時間、点数 |
| 住所 | 8 | 都道府県〜番地、政令市の区、郵便番号 |
| メールアドレス | 4 | ドメイン付き、社内・社外の別 |
| 電話番号 | 3 | 市外局番、携帯、内線 |
| 役職 | 2 | 部長・課長・主任などの階層 |
| URL | 1 | 会議URL |
候補をいきなり並列掃引にかけると、測る価値のないシナリオに時間を使います。先に小さく回して、モデルによって結果が変わるものだけを残します。
手順。 各候補を 同時1本・12件 で、手元にあるモデルすべてで測ります。モデルは2つあれば足りますが、多いほど判定が確かになります。seed はシナリオごとに1つ決め、全モデルで同じものを使います。
判定は正答率の95%区間(Wilson)で行います。 12件では正答率が1件あたり8ポイント刻みにしかならないので、点の値だけでは差も天井も読めません。
| パイロットの結果 | 扱い |
|---|---|
| どこか2モデルの区間が重ならない | 採用(adopted)。並列掃引に進める |
| すべてのモデルで区間の上端が50%未満 | 床(rejected)。どのモデルでも成立しない |
| すべてのモデルが満点 | 天井の疑い。48件・同時1本の追試で決める |
| それ以外 | piloted に留める。12件では差を言えない |
天井は12件では判定できません。 12件で全問正解でも区間の下端は76%までしか上がらず、基準の95%を満たしているとは言えないためです。下端を95%より上に持ち上げるには、全問正解でも70件ほど要ります。全モデル満点のシナリオは48件・同時1本の追試に回し、そこで下端が基準を超えたら天井として不採用にします。
空応答は誤答として数えません。 思考を先に吐くモデルは、出力の上限に達するまで思考が終わらず、本文を1文字も出さないことがあります。これはそのモデルの答えの質を測れていない状態なので、床の根拠には使いません。件数は正答率とは別に記録します。あるシナリオで、あるモデルの不正解がすべて空応答だった場合、そのモデルの結果はそのシナリオの判定から外します。使えるモデルが2つ未満になったら piloted に留めます。
例外。 集計・計算族(expense-category-total-ja / overtime-calc-ja /sales-ratio-ja / timesheet-billing-ja)は、床であっても「この種の業務はLLMに載らない」という事実として掲載を残します。ただし並列掃引には進めません。
状態の遷移。
candidate → piloted → adopted (区間の重ならない差が出た。並列掃引へ)
→ rejected (床、または追試で天井と確認)
→ floor-documented (床だが事実として残す。集計・計算族のみ)
選定の基準は次の3つです。
この10件が必要とする部品は 日付・人名・社名・金額・品目・部署・数量の7つだけで、住所・メールアドレス・電話番号・役職・URLは要りません。実装済み2件は 短×JSON中 と 長×JSON中 なので、この10件はどちらの組み合わせも使いません。
| 順 | id | 族 | 入力長×出力形 | 選んだ理由 |
|---|---|---|---|---|
| 1 | company-name-normalize-ja | C 書き換え | 短×入力同長 | 必要な部品が社名だけで、書き換え族の出力形を最小の手数で通せる |
| 2 | line-total-audit-ja | D 照合・検算 | 短×JSON小 | 請求書の明細構造をそのまま流用でき、検算という別の測り方を1件で足せる |
| 3 | expense-account-code-ja | B 分類 | 短×ラベル | 出力が1語なので、生成が短い仕事のときの並列挙動を初めて測れる |
| 4 | memo-actions-ja | E 変換 | 短×JSON小 | 部品が人名と日付だけで済み、代名詞の解決という抽出とは別の難所が入る |
| 5 | contract-terms-json-ja | A 構造化抽出 | 中×JSON小 | 上位3部品だけで作れて、入力長が中の帯を最初に埋める |
| 6 | contract-renewal-due-ja | H 判断系 | 中×JSON小 | 5番と同じ契約書の部品を使い回せて、日付演算という難所を足せる |
| 7 | expense-category-total-ja | G 集計・計算 | 中×JSON小 | 3番と同じ経費の部品を使い回せて、計算が載るかどうかを早めに確かめられる |
| 8 | contract-type-ja | B 分類 | 中×ラベル | 入力が長いときにラベル1語を返す組み合わせを埋める |
| 9 | bank-statement-json-ja | A 構造化抽出 | 中×JSON中 | 行数の多い配列を返させる帯を埋める。上位4部品だけで作れる |
| 10 | policy-lookup-ja | F 長文 | 長×JSON小 | 長い入力に対して出力が小さい組み合わせを埋める。読み込みの重さだけを切り出せる |