作った人がいない業務システムの仕様書をAIでソースコードから起こす|読み取れる範囲と、人が確かめる範囲、頼むときに費用が決まる所

仕様書が無い業務システムの仕様を、AIでソースコードから起こすときの整理です。AIが読めるのはプログラムの中に書かれた処理まで。起こした文章を実データで動かして比べる確かめ方、AIに渡してよいデータの扱い、頼むときに費用が動く6つの所、出来上がった仕様書の使いどころを、IPAと各社公式の情報でまとめました。

この記事をシェア:
目次 クリックで開く

この記事の要点

  1. ソースコードから仕様書を起こす作業は、AI で進められる。ただし AI が読めるのは、プログラムの中に書かれた処理まで。設定やデータで決まる処理、人の手作業、速さや帳票が出る時刻、「なぜその条件か」はコードに書かれていないので、使っている部門に聞く。
  2. 起こした仕様書は、実データで動かして現行の出力と比べ、分からない所は「不明」と残し、使う部門が確認して合意してから、入れ替えやテストの拠り所にする。
  3. 頼むときに費用が動くのは、対象の広さ、材料の揃い方、読みにくさ、確かめる範囲、成果物の形と完了の基準、AI に渡してよいデータの扱い。見積りの前に、この6点を開発会社に聞き、自社で用意できるものを用意する。

仕様書を起こす流れと、AI・人の受け持ち

IPA のガイドも、処理設計書の水準はソースコードから作り直し、要件定義に近い部分は有識者と使う部門への聞き取りで補う、と分けている

1 AI がコードから起こすプログラムの中の処理を、日本語の文章にする
2 人が実データで確かめる現行の出力と照らし、分からない所は「不明」で残す
3 使う部門と合意して「正」にする以後の見積り・テストの拠り所になる

出典:IPA「システム再構築を成功に導くユーザガイド 第2版」 p.99、p.90。流れの図は当社の整理(2026年10月4日確認)

仕様書が無い業務システムでも、AI にソースコードを読ませれば、処理の中身を日本語に起こせます。ただし、起こせるのは、プログラムの中に書かれた処理までです。設定の表やデータで決まる処理、人が手でしている作業、画面や帳票の速さと出る時刻、なぜその条件になっているかという理由は、ソースコードに書かれていないので、AI にも読めません。

IPA のユーザガイドも、資料が足りないときの補い方を分けています。処理設計書の水準はソースコードから作り直し、基本設計から要件定義にあたる部分は、有識者と使っている部門への聞き取りで作り直す、という分け方です(IPA ガイド p.99)。AI が活躍するのは、前者の「ソースコードから作り直す」部分です。

AI が出した文章は、起こした時点では、ソースコードの読み方の一案です。実データで動かして現行の出力と比べ、使う部門が確認して合意してから、入れ替えの見積りやテストの拠り所になります。この記事は、仕様書の無いシステムの入れ替えを考えている担当の方に向けて、AI で読める範囲、人が確かめる範囲、頼むときに費用が動く所を、この順に書きます。

AI が読めるもの、読めないもの

仕様書の無いシステムで、仕様のずれが起きる理由は、IPA のガイドに書かれています。ガイドは、長く使われたシステムでは、設計書・ソースコード・動いているシステムの3つの間に食い違いが生まれる、としています。仕様を変えたときに関係する業務の資料までは直さなかった、障害の対応でソースコードだけを直した、といった積み重ねです(p.15〜16)。AI が読めるのは、このうちソースコードだけです。動いているシステムと、人の作業は、AI の目に入りません。

AI が読めるもの・人の確認が要るもの・読めないもの

「読める」範囲の外は、AI に聞いても推測しか返らない。推測は仕様書に書かず、「不明」と書く

読める

プログラムの中に書かれた処理

  • 計算式、条件の分かれ道、取引先ごとの端数や締めの処理
  • 資料に載っていない改修で足された処理
  • ソースコードが残っていれば、文章に起こせる

人がすること:起こした文章を、実データで確かめる

読めるが、確認が要る

コードの外の材料と合わせて決まる処理

  • 区分のコードで分かれる計算、設定の表にある単価や率
  • データベースの中身で、どの分かれ道を通るか
  • コードが長い・古い言語だと、抜けや読み違いが出る

渡すもの:設定・マスタの中身、実データのサンプル

読めない

ソースコードに書かれていないこと

  • 人がしている手作業(Excel での手直しなど)
  • 画面の速さ、帳票が出る時刻
  • なぜその条件になっているかという理由

聞く相手:使っている部門、保守してきた人

出典:IPA「システム再構築を成功に導くユーザガイド 第2版」 p.16〜17・p.99、Claude Code Best practices、GitHub Docs「Responsible use of Copilot Chat in your IDE」。分け方は当社の整理(2026年10月4日確認)

AI の側にも限りがあります。Claude Code の公式ガイドは、読んだファイルやコマンドの出力がすべて会話の記憶領域(コンテキスト)に入り、いっぱいになるほど指示を忘れたり誤りが増えたりする、と書いています(Best practices)。GitHub の公式ページも、Copilot Chat のコードの説明が正確・完全とは限らないことと、あまり使われない言語では品質が下がることがあることを挙げ、出力は人が確かめる前提です(Responsible use of Copilot Chat)。古い言語や独自の仕組みで書かれたシステムほど、読ませ方と確かめ方に手間がかかる、というのが当社の見立てです。

読ませる前に、どの材料を渡せるかを決めておくと、仕様書の穴が減ります。次の表は、渡す材料ごとに、AI が読み取れることと、渡すときの注意を並べたものです。

AI に読ませる材料と、渡すときの注意(当社の整理)
渡す材料AI が読み取れること渡すときの注意
ソースコード一式処理の中身(計算・条件・順番)本番で動いている版と同じものかを、開発会社に確かめてもらう
データベースの定義テーブルと項目の構成、項目どうしの関係項目名から意味を決めない。実データと使っている人の説明で確かめる
設定・マスタの中身区分のコードで分かれる処理、単価や率今も使っている区分と、使っていない区分を、実データの件数で分ける
実データのサンプル仕様書の記述を確かめるときの入力個人情報や取引先の情報を、伏せて渡すか、渡さないかを社内で決める
画面・帳票の見本出力の形、項目の並び帳票が出る時刻と、使う人が手で直している所は、見本には出ない

書かれていない処理の数え方と、見積りのどの行に効くかは、基幹システムの入れ替え費用と期間の記事に書きました。この読み取り範囲の切り分けを、手元のシステムで一緒に見る相談もできます(古い業務システムの移行・保守の案内)。

人が確かめる範囲:実データで動かして比べる

AI が起こした仕様書は、もっともらしい文章になります。そのため、読んだだけでは間違いに気づきにくく、確かめるには、実際に動かした結果と比べるのが近道です。IPA のガイドが書く現新比較テストは、現行のシステムから取った実データを、現行と新しいシステムで同じ処理に通し、出力を比べる確かめ方です(p.18)。同じ考え方を、仕様書に当てはめます。

人が実データで確かめる順番

全部の処理を比べると時間がかかる。変えると業務が続かない処理、月末・期末・例外のある処理から先に比べる

1 分ける仕様書の記述を、確かめられる1文ずつに分ける
2 動かす現行のシステムに実データを通し、出力を控える
3 比べる仕様書どおりに計算した値と、出力を並べる
4 仕分ける一致/不一致の原因/不明、の3つに分ける

考え方は、IPA「システム再構築を成功に導くユーザガイド 第2版」 が書く現新比較テスト(p.18)と同じ。順番と仕分けは当社の整理(2026年10月4日確認)

比べる処理は、全部にしなくてもかまいません。ガイドは、影響が大きい「変えない」部分を中心に、現行踏襲を確認できるテストのデータとケースを、早めに開発会社へ渡しておくと有効としています(p.90)。月末・期末・例外のある処理も、取り違えが起きやすいので、先に比べる候補になります。

出力と仕様書が食い違ったときの見分け方(当社の整理)

食い違いは、仕様書の誤りの見つかりどころであり、仕様として決める所の一覧にもなる

1

仕様書の書き違いか

同じ入力で、コードを読み直すと別の答えになる。AI の読み違い・書き落とし

2

コードの外で決まっていたか

設定の表、マスタ、人の手作業。コードには書かれていないが、結果に効いている

3

現行の動きそのものが古いか

今の業務では使わない取り決めや、直し忘れ。使う部門に聞かないと決められない

3つのどれかが分かる仕様書を直す、または引き継ぐ・引き継がないを決める
どれか分からない「不明」として一覧に残し、見積りの依頼に「要件定義で決める所」として書く

「不明」を一覧にして決める所に回す考え方は、IPA「システム再構築を成功に導くユーザガイド 第2版」 p.87・p.116〜117。見分け方は当社の整理(2026年10月4日確認)

仕分けが済んだ仕様書は、使う部門が確認して、内容を「正」とすることを合意しておきます。ガイドは、現行踏襲の内容は設計ドキュメントに仕様として明記し、その内容を正とすることを各関係者で合意しておく必要がある、と書いています。レビューと承認は、以降のテストの拠り所になるので、責任を持って行うよう求めています(p.90)。AI が書いたかどうかにかかわらず、承認する人が責任を持つ、という点は変わりません。

AI にソースコードを渡してよいか:プランで学習の扱いが分かれる

AI にソースコードを読ませると、そのコードは外部のサービスに送られます。Claude Code の公式の説明では、利用者の入力とモデルの出力のすべてが、ネットワーク経由で送られます(Data usage)。このとき、学習に使われるか、どれだけ保持されるかは、同じツールでも、プランや設定で変わります。

同じツールでも、プランで扱いが分かれる(2社の公式の説明)
ツールとプラン学習への利用(公式の説明)保持の期間
GitHub Copilot Free・Pro・Pro+2026年4月24日から、入力・出力・コードの断片・文脈が学習に使われる。設定で止められる今回は確かめていない
GitHub Copilot Business・Enterpriseこの更新の対象外今回は確かめていない
Claude Code(Free・Pro・Max)学習への利用を許可した場合に使われる。設定でいつでも変えられる許可した場合は5年、許可しない場合は30日
Claude Code(Team・Enterprise・API など)契約のもとでは、コードやプロンプトを生成モデルの学習に使わない。顧客が提供を選んだ場合を除く標準で30日(Enterprise の一部は、保存しない設定を申請できる)

GitHub は、2026年3月25日の告知で、個人向けのプラン(Free・Pro・Pro+)の入出力とコードの断片が、4月24日から学習に使われると案内しました。Business と Enterprise は、この更新の対象外です(GitHub Changelog)。Claude Code は、個人向けのプランでは設定で学習への利用を選べ、Team・Enterprise・API などの商用の契約では、学習に使われません(Data usage)。2社以外のツールは、今回確かめていません。

発注する側が開発会社に確かめるのは、使うツールとプランの名前、渡したコードと実データの保持期間、学習への利用の有無の3つです。そのうえで、自社の契約や規程に照らして、コードや実データを外部のサービスに出してよいかを決めます。出せない場合は、閉じた環境で読ませる前提で、見積りを依頼します。

頼むとき費用が決まる所

AI で起こす作業の費用は、AI を使うかどうかより、次の6つの所で動きます。IPA のガイドが載せている一例でも、再構築の手法を選ぶために現行システムを調べるとき、費用に影響する要素として、ドキュメントの網羅性と信頼性、プログラムの規模と複雑性と読みやすさ、仕様を再定義できる人の有無などを指標にしています(p.149)。起こす作業でも、同じ観点が効きます。

頼むときに費用が動く6つの所(当社の整理)
費用が動く所何で動くか見積りの前に用意するもの
対象の広さ起こす対象の機能・プログラムの数と規模機能の一覧。使っていないものに印を付けたもの
材料の揃い方ソースが本番と同じ版で一式あるか。データベースの定義・設定・実データのサンプルがあるか渡せるものの一覧。足りないものは、足りないと書く
読みにくさ言語、独自の仕組み、コードの複雑さと読みやすさ言語と基盤の名前と版
確かめる範囲実データで比べる処理の数。確認に使う部門の人の時間比べる処理の優先順。確認できる人の名前と時間帯
成果物の形と完了の基準処理の設計書の水準か、業務の言葉の仕様か。どこまで一致したら終わりか欲しい形の見本。「不明」をどう扱うか
AI に渡すデータの扱い外部のサービスに出せるか、閉じた環境が要るか自社の契約・規程。ソースや実データを出してよい範囲

「完了の基準」は、決めておかないと、終わりが見えなくなります。ガイドは、再構築のテストについて、どこまで実施すれば品質を担保できたかの方針を決めておかないと、テストを延々と続けることがある、と注意しています(p.18)。仕様書を起こす作業にも、同じことが当てはまります。比べる処理の数と、「不明」の残し方を、頼む前に決めておきます。

見積りを受け取るときは、次の点を開発会社に聞きます。

  • AI が起こした部分と、人が書き足した部分を、納品物の中で分けて示してもらえるか
  • 実データで確かめた処理の数と、確かめなかった処理の理由を、書いてもらえるか
  • 「不明」の一覧を、仕様書とは別に出してもらえるか
  • 使う AI のツールとプラン、渡したデータの保持期間を教えてもらえるか
  • 見積りは、対象を何件と置いたものか。件数が増えたときの扱いはどうなるか

見積りの金額は、対象を何件と置いたかで変わります。件数が増えたときの扱いを、見積りの前提に書いてもらうと、あとから行が増えにくくなります。

出来上がった仕様書の使い方

出来上がった仕様書の使いどころ

仕様書は、書いた時点のコードの写し。直したあとに更新されなければ、また食い違いが増える

見積りの依頼

各社が同じ前提で見積もれる

  • 仕様書と「不明」の一覧を、見積りを頼む全社に同じものを渡す

つなぐ記事:入れ替え費用の記事

新旧の比較

食い違いの原因を追える

  • 新しい仕組みと同じ実データで出力を比べるとき、現行の仕様が分かっていると原因の解析が進む

根拠:IPA のガイド p.18

保守の引き継ぎ

次の担当が読める

  • 確かめた範囲と「不明」を残しておくと、どこまで信じてよいかが分かる

決めること:ソースを直したら、仕様書も直す

部品の期限

前提の欄に版を書く

  • 言語・DB・OS の版と、期限を前提として書いておく

つなぐ記事:部品の期限の記事

根拠と出典:IPA「システム再構築を成功に導くユーザガイド 第2版」 p.15〜18。使いどころの整理は当社の見立て(2026年10月4日確認)

仕様書は、書いた時点のコードの写しです。ソースコードを直したあとで仕様書を直さなければ、IPA のガイドが書くドキュメントとソースコードの食い違い(p.15〜16)が、また生まれます。保守を頼む開発会社と、「ソースコードを直したら、仕様書も直す」ことを、保守の範囲として決めておきます。

仕様書を起こす材料が、プログラムでなく Excel のマクロや FileMaker のファイルのときは、読ませ方と確かめ方が変わります。Excel マクロの引き継ぎとFileMaker の移行を、別の記事に書きました。仕様書の「前提」の欄に書く言語・DB・OS の版は、部品の期限の記事で、期限の日付を確かめられます。

この記事で確かめられなかったこと

GitHub Copilot と Claude Code 以外の AI ツールの、データの扱い。GitHub Copilot の保持期間。AI がソースコードから仕様を読み取る精度や、読ませられるコードの量の数字(公式の情報を確かめられませんでした)。起こす作業の費用と日数(システムごとに違い、公式の情報はありません)。個人情報や取引先の情報を含むコードを、外部のサービスに渡すことの法的な扱い。

仕様書の起こし方と、頼むときに決める所の整理は、Aurant Technologies の古い業務システムの移行・保守の案内から、困っている1点だけでも相談できます。

AI活用支援

Claude・ChatGPT・Gemini・Copilotのどれをどの業務に使うかの見極めから、社内のAIチャット環境、権限と情報の扱いの設計、MCPやAPIでの既存システム連携、研修・伴走までを支援します。

AT
aurant technologies 編集

上場企業からスタートアップまで、数多くのデータ分析基盤構築・AI導入プロジェクトを主導。単なる技術提供にとどまらず、MA/CRM(Salesforce, Hubspot, kintone, LINE)導入によるマーケティング最適化やバックオフィス業務の自動化など、常に「事業数値(売上・利益)」に直結する改善実績多数。

この記事が役に立ったらシェア:

導入・外注のご相談

進め方と、費用が何で決まるかをお伝えします。

費用感だけのご相談でも構いません。フォームで相談する費用の考え方を見る