事例
業務表の欠損・古い記録・単位違いの確認理由を残し、人が元記録と見比べるデモ
- 区分
- 検証(架空データ)
- 業務
- 評価・集計
hirostaの公開デモです。架空の作業時間表8行で、空欄・古い記録・単位違いなどの確認理由を残し、人が元記録と見比べて確認票を書き出す流れを試せます。会社・作業・数値・日付・理由はすべて架空で、お客様への導入や実業務の実績ではありません。実演モードは保存済みのAIの出力例を再生し、その場でAIは呼びません。
想定した課題・業務フロー
集計前の表に空欄や古い記録、異なる単位が混ざると、そのまま足したり、推測で値を埋めたりするおそれがあります。1行に複数の問題がある場合も確認理由を消さずに残し、0や「日」の意味を元記録で確かめてから、比較に使うか人が判断することを課題にしました。
実施内容
架空の8行でAIに確認理由と質問の下書きを整理させた検証ラボをもとにしたデモです。デモではコードによる判定と換算、元の行を開いて理由付きで確認する操作、入力変更後の確定解除、確認票と履歴のJSON書き出しを加えています。精度・正答率・集計の正しさや導入の可否は評価しておらず、時間短縮・費用効果も測定していません。
架空の8行と、この教材だけの仮ルール
- 会社「サンプル事務室」のR01〜R08は、1回当たりの作業時間を記録した架空表です。作業名・役割名・数値・日付・照合理由もすべて架空です。
- 基準日は2026年10月20日、確認日が10月1日より前なら古い記録とする仮ルールです。空欄は欠損、0は記録された値として残し、確認日の空欄は日付不明として古いと断定しません。60分=1時間で換算し、「日」は時間数がなければ保留します。業種共通の基準や勤務時間の定義ではありません。
- 初版・修正版・誤りの教材を切り替え、元の値、コードの判定、AIの理由と質問、出力前に固定した想定表を見比べます。「比較候補」は仮ルール上の問題がないという意味で、元記録を確認済み・集計してよいという意味ではありません。
デモで加えた人の確認と変更時の扱い
- 「元の行を開いて照合する」を押し、人が役割名・照合結果・理由を入力します。元の行を開くまで確定できません。0は「作業なし」「未計測」「対象外」を選び、「日」は確認した1日の時間数・入力者・根拠を残して比較へ渡します。
- 欠損、不正な値や日付、重複、日付不明、未来日、0が未計測・対象外の行は比較に使えません。AIとコードで理由や換算値が食い違う場合も画面に残し、「確認済み(比較に使う)」への確定を止めます。
- 表の編集・追加と、id,task,value,unit,dateのCSV貼り付けによる置き換えを試せます。上限は100行です。編集した行と重複判定が変わった行は、AIの出力・照合結果を解除して再整理待ちにし、保存済みのAI出力を使わなくなります。
- 基準日・古さの境界・分の換算表を編集すると、全行のAI出力と照合結果を解除します。確定済みを解除したことも履歴に残します。確認理由の延べ件数と、比較を保留する行数は分けて表示します。
- 確認票、集計担当Aへの質問の下書き、誰が・いつ・どの行を・どう判断したかと理由の履歴を、1つのJSONに書き出します。元表の修正や質問の送信はデモの外で人が行う想定です。
実演モード・手動取り込みと誤りの教材
- 実演モードは事前に用意したAIの出力例を再生し、その場でAIを呼びません。入力を変えてもAIは再処理しません。外部API・認証情報・APIキーは使わず、環境ファイルも読みません。生成AIへの接続はありません。
- 指示とJSONのひな形をコピーし、任意の生成AIで作った出力や人が編集したJSONを貼り付けて取り込めます。部分的な取り込みも可能ですが、デモから生成AIへ送信する機能はありません。初版・誤りの教材では、取り込んだ行を除き「確認済み(比較に使う)」を選べません。
- 意図的な誤りの教材は、追加行5件(R09の文字列「二」、R10の負の値、R11の未来日、R12の存在しない日付、元番号R01の重複)とAI出力例の誤り2件(R02の空欄を0で補完、R06を1日=8時間と推測換算)です。重複が加わるため初期のR01も想定表と不一致になります。
- この7件は人が補完・推測を保留し、重複を修正が必要と判断する練習用です。照合用に意図して入れた誤りで、AIの自然な失敗を観察した結果やモデルの性能評価ではありません。元の検証ラボでは文字列・負の値・未来日・不正な日付・重複は試していません。
検証した仕組み・業務フロー
工程 1
- 人
- 通常の自動化
仮ルールを決め、表の行を選ぶ
人が確認する点人が単位・鮮度・0の定義を決めます。コードは空欄・日付・単位・重複・不正な値などを判定し、条件が足りる値だけ換算します。
工程 2
- 人
- 通常の自動化
コードの判定・AIの理由と質問を見比べる
人が確認する点AIの理由と質問は保存済み出力例の再生です。コードの理由・換算値と食い違う内容を、人が元記録で確認します。比較候補も未確認のままです。
工程 3
- 人
- 通常の自動化
元の行を開き、意味と確認結果を理由付きで残す
人が確認する点人が0や日の意味、照合結果と理由を記録します。入力・仮ルールの変更で確定を解除し、確認をやり直します。画面上の確定で担当者・責任者の判断を代えません。
工程 4
- 人
- 通常の自動化
確認票・質問の下書き・判断履歴を取り出す
人が確認する点コードが確認票・質問の下書き・履歴をJSONにまとめます。元表の上書き、業務ソフトへの登録、質問の送信は行いません。
使った技術
Node.js、ブラウザの画面、CSV、JSON。Node.js 22以上とnpmで動かし、npm startでローカルサーバーを起動します。追加の依存パッケージはなく、外部への通信はしません。MIT Licenseで公開されています。
AIと人の役割
AIに任せた範囲
AIは自由記述の確認理由の整理と担当者への質問の下書きを受け持つ想定です。値の補完、1日の時間数の決定、集計可否の判断は行いません。デモでは保存済み出力を再生します。コードは空欄・0・確認日・単位・重複・不正な値の判定、換算、想定表との比較、未確認の確定防止、再整理待ちと確定解除、画面・履歴・書き出しを受け持ちます。
人が確認するポイント
実際の業務では、集計担当が元表の控えを用意して業務に合う仮ルールを決め、確認担当が行ごとの理由を元記録と照らし、0や日の意味、照合結果と理由を確認票へ残す想定です。元表の修正や質問の送信はデモの外で人が行います。この使い方は想定で、導入実績ではありません。個別の労務・会計判断をAIやコードに任せるものではありません。
検証で扱った課題・制約
- 元の検証ラボの初版では「主な状態を1つ選ぶ」と指示したため、R07の欠損だけが残り、古い記録の理由と更新日の質問が落ちました。修正版は理由を別々の欄に残しました。AIの誤分類を直した結果ではなく、指定した出力形式の不足を直した結果です。
- R03の0は欠損ではありませんが、比較に使えるかは別です。「作業なし」と「未計測」を区別する人の確認が必要でした。形式がそろうことと、業務上の意味がそろうことを分けて扱います。
検証から得た学び
- 元の検証ラボの修正版は、比較保留がR02・R04・R06・R07・R08の5行、理由は欠損2・古い記録2・換算条件不足1・日付不明1の延べ6件でした。R07に2つの理由があるため、行数だけでは確認すべき理由の数が分かりません。
- 想定表と8行で一致し、不一致は0行でしたが、素材・想定表・出力・読み合わせを同じAIが担当し、想定表を参照できる条件での自己照合です。人の評価・正答率を示すものではなく、繰り返しの安定性と業務担当者による評価も未確認です。
- 元の検証ラボはAIによる読み合わせで、分類・計算のコードや集計、元表の修正、質問の送信は実装していません。コードによる判定・換算、誤りの教材、人の確認と確定解除、確認票・履歴の書き出し、手動取り込みはデモで加えた機能です。
同様の取り組みが向いている条件
- 集計前の表に空欄・古い記録・単位違いがあり、複数の確認理由と担当者への質問を行ごとに残したい場合。
- 空欄・日付・換算など固定条件の処理をコードへ分け、0や日の意味と比較に使う判断を元記録で人が確認できる場合。
- 架空データで流れを試し、元記録の保管とアクセス権、単位・鮮度・0の定義、承認責任、データの持ち出し条件、履歴の保存と監査要件を別途決められる場合。
補足
デモはローカルの画面内だけで動き、外部へのリンクや接続、元表の上書き、業務ソフトへの登録、質問の送信はありません。特定の表計算ソフト・業務ソフトへの対応や、個別の労務・会計判断は含みません。開く元記録は読込時の控えで、実際の元記録の証明や本人確認にはなりません。履歴の時刻は利用端末の時計、役割名は自己申告で、改ざん防止や監査証跡の保証はありません。入力と履歴は再読み込みで消えます。向いている条件はデモの仕組みと限界から整理したもので、実案件での適用を確認したものではありません。
業務表の確認理由を残すデモの公開リポジトリを見る(新しいタブで開きます)