ひな形とサンプル
この教材で「自分の手で作るもの」と「動かして確かめるもの」を、使う順番に並べています。
- 1ひな形を埋める要件・設計などを自分の言葉で書く。空欄版と記入例があります
- 2実験コードを動かすAIが作った仕組みを、架空データで実際に動かしてみる
- 3実行記録で答え合わせ「正しく動いたときの記録」と見比べる(上級者向け)
各記事で使うひな形と記入例、最小実験コード、匿名化した実行記録です。閲覧用ページとファイルの保存リンクを分けています。保存ファイルの内容は正本と同一です(正本のSHA-256を MANIFEST.json に記録)。
ひな形(空欄版・記入例)
まず使う3つ
ひな形58種のうち、最初に手に取ることが多い3つです。閲覧版(このサイトで読む)と保存版(.md ファイル)の両方があります。
- 要件定義ひな形(記事Aで使う)空欄版:閲覧/保存 記入例:閲覧/保存
- AIへ渡す資料と指示(記事A・Bで使う)空欄版:閲覧/保存 記入例:閲覧/保存
- 受入条件対応表(02-04で使う)空欄版:閲覧/保存 記入例:閲覧/保存
すべてのひな形は、この下の工程ごとの一覧にあります。
工程(00〜13)ごとに分けています。見出しを押すと開閉します。記事A・B・C用のひな形は、それぞれが属する工程(02・09・12)の中にあります。
00開発を始める前の基礎4種この段階で使う:開発を始める前に、アプリの仕組み・用語・工程の全体・人とAIの分担を自分の言葉で整理する
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| アプリの見取り図00-01 | 自分のアプリの利用者・画面・処理・保存先・通信を1枚の見取り図にする | 00-01 | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、1.7 KB) |
| 基本用語対応表・架空データ例00-02 | ファイル・プログラム・入力データ・データ形式の違いを、手元のファイルを指して整理する | 00-02 | 空欄版:閲覧/保存(.md、1.0 KB)記入例:閲覧/保存(.md、2.4 KB) |
| 工程・成果物対応表00-03 | 14の工程それぞれの目的と成果物、前の工程へ戻る場面を一覧にする | 00-03 | 空欄版:閲覧/保存(.md、1.0 KB)記入例:閲覧/保存(.md、3.7 KB) |
| 人とAIの役割表00-04 | 作業ごとに「AIに任せる/人が決める」と検証方法を決める | 00-04 | 空欄版:閲覧/保存(.md、0.7 KB)記入例:閲覧/保存(.md、1.8 KB) |
01課題発見・企画4種この段階で使う:困り事を聞き取り、目的と効果を決め、「作るべきか」を判断する
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| 利用者・関係者の整理表01-01 | 利用者・担当者・承認者・管理者を区別し、聞き取り先を整理する | 01-01 | 空欄版:閲覧/保存(.md、0.8 KB)記入例:閲覧/保存(.md、2.2 KB) |
| 現状業務フロー・課題一覧01-02 | 今の作業の流れと待ち時間・手戻り・例外を書き出し、困り事を現象と原因に分ける | 01-02 | 空欄版:閲覧/保存(.md、0.8 KB)記入例:閲覧/保存(.md、2.6 KB) |
| 目的・評価指標・測定方法01-03 | 何が改善すれば「役立った」と言えるかを、指標と測り方まで決める | 01-03 | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、1.8 KB) |
| 選択肢比較表・企画書01-04 | 運用変更・既存機能・既製サービス・新規開発を比べ、作る/作らないを説明する | 01-04 | 空欄版:閲覧/保存(.md、1.0 KB)記入例:閲覧/保存(.md、3.1 KB) |
02要件定義:何を実現するか決める5種この段階で使う:困り事を「誰が・どの条件で・何を」の要件にし、受入条件まで書く
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| 要件定義ひな形02-01 | 曖昧な希望を「誰が・どの条件で・何を」の要件と受入条件に書き分ける(記事Aの中心) | 記事A | 空欄版:閲覧/保存(.md、2.1 KB)記入例:閲覧/保存(.md、8.1 KB) |
| AIへ渡す資料と指示02-01 | AIに要件の下書きを頼む前に、渡す資料・制約・返してほしい形式・人が確認する点を書き出す | 記事A・B | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、3.7 KB) |
| 機能一覧・対象範囲02-02 | 最小限の機能、後回しの機能、作らない機能を分けて対象範囲を決める | 02-02 | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、3.4 KB) |
| 品質条件一覧02-03 | 安全性・速度・使いやすさなど機能以外の条件を、利用状況に結びつけて書く | 02-03 | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、3.9 KB) |
| 受入条件対応表02-04 | 正常時・不正操作・途中失敗・再実行を含めた受入条件と、要件との対応を書く | 02-04 | 空欄版:閲覧/保存(.md、1.2 KB)記入例:閲覧/保存(.md、2.7 KB) |
03開発計画・技術選定4種この段階で使う:社内の制約を確かめ、作り方と技術を比べ、作業順序と役割を決める
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| 制約・前提条件一覧03-01 | 端末・ネットワーク・データ持出し・使えるAI・予算などの制約を先に洗い出す | 03-01 | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、2.5 KB) |
| 方式比較表03-02 | 表計算の改善からWebアプリまで、作り方の候補を目的と制約で比べる | 03-02 | 空欄版:閲覧/保存(.md、0.8 KB)記入例:閲覧/保存(.md、2.4 KB) |
| 技術選定理由書03-03 | 言語・保存先・配置先を、保守担当や費用・学習負担も含めて選び、理由を残す | 03-03 | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、2.8 KB) |
| 開発計画03-04 | 作業を小さく分け、順序・完了条件・費用の前提・役割を決める | 03-04 | 空欄版:閲覧/保存(.md、0.7 KB)記入例:閲覧/保存(.md、2.8 KB) |
04業務・画面の設計4種この段階で使う:利用者の操作と画面を描き、正常時と例外時の流れを決める
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| 役割別シナリオ04-01 | 役割ごとの操作と、その前後で業務がどう変わるかを描く | 04-01 | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、2.4 KB) |
| 画面の原型04-02 | 入力項目・一覧・詳細・操作ボタンの並びと優先順位を紙の原型で決める | 04-02 | 空欄版:閲覧/保存(.md、0.6 KB)記入例:閲覧/保存(.md、1.9 KB) |
| 画面遷移・正常系確認記録04-03 | 依頼作成から承認までを利用者別にたどり、正常時の流れを確認して記録する | 04-03 | 空欄版:閲覧/保存(.md、0.8 KB)記入例:閲覧/保存(.md、1.9 KB) |
| 例外時の画面・表示ルール04-04 | 入力ミス・差戻し・空の一覧・通信失敗など例外時の画面と表示ルールを決める | 04-04 | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、1.9 KB) |
05データ・システム構成の設計4種この段階で使う:データ項目・状態・権限・構成と復旧方針を決める
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| データ項目表・関係図05-01 | データ項目のID・型・必須・重複の扱いと、データ同士の関係を表と図にする | 05-01 | 空欄版:閲覧/保存(.md、1.0 KB)記入例:閲覧/保存(.md、3.7 KB) |
| 状態遷移表・更新ルール05-02 | 状態の一覧と遷移、同時更新・二重処理・失敗時の扱いを決める | 05-02 | 空欄版:閲覧/保存(.md、0.8 KB)記入例:閲覧/保存(.md、2.5 KB) |
| 権限表05-03 | 利用者・対象データ・操作の組合せで「できる/できない」を表にする | 05-03 | 空欄版:閲覧/保存(.md、1.0 KB)記入例:閲覧/保存(.md、2.8 KB) |
| 構成図・復旧方針05-04 | 画面・処理・保存先の分担と、故障時の影響・バックアップ・復旧目標を整理する | 05-04 | 空欄版:閲覧/保存(.md、1.3 KB)記入例:閲覧/保存(.md、2.2 KB) |
06開発環境・変更管理の準備4種この段階で使う:作業場所・環境の区別・変更履歴・秘密情報の扱いを整える
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| 環境構築手順06-01 | 作業フォルダ・エディタ・実行環境を用意した手順を、再現できる形で残す | 06-01 | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、3.3 KB) |
| 環境一覧・接続先確認方法06-02 | 開発・検証・本番の接続先を一覧にし、操作前に確かめる方法を決める | 06-02 | 空欄版:閲覧/保存(.md、0.8 KB)記入例:閲覧/保存(.md、2.2 KB) |
| 変更履歴・変更管理ルール06-03 | 変更の記録単位・分岐・レビュー・共有のルールを決め、変更履歴を残す | 06-03 | 空欄版:閲覧/保存(.md、1.3 KB)記入例:閲覧/保存(.md、2.9 KB) |
| 設定見本・秘密情報管理ルール06-04 | 設定見本を作り、秘密情報の置き場と外部部品の出所・更新の確認方法を決める | 06-04 | 空欄版:閲覧/保存(.md、1.3 KB)記入例:閲覧/保存(.md、2.5 KB) |
07AIと進める作業の設計4種この段階で使う:AIに渡す資料・作業の分け方・指示と検証・実行ルールを決める
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| AIへ渡す情報セット07-01 | AIに渡す目的・要件・設計・既存コード・制約・完成条件を必要な範囲に絞る | 07-01 | 空欄版:閲覧/保存(.md、1.2 KB)記入例:閲覧/保存(.md、2.2 KB) |
| 作業分解・依存関係表07-02 | 一回の変更と確認の範囲を小さく分け、作業同士の依存関係を表にする | 07-02 | 空欄版:閲覧/保存(.md、0.8 KB)記入例:閲覧/保存(.md、2.9 KB) |
| AI作業指示書07-03 | AIへの指示に成果物・期待結果・証拠・やり直し方を書き、検証と修正の手順を決める | 07-03 | 空欄版:閲覧/保存(.md、1.0 KB)記入例:閲覧/保存(.md、2.1 KB) |
| AI実行ルール・再開用メモ07-04 | AIがしてはいけないこと・止める条件・引継ぎのメモを決める | 07-04 | 空欄版:閲覧/保存(.md、2.1 KB)記入例:閲覧/保存(.md、3.9 KB) |
08実装:実際に動く仕組みを作る4種この段階で使う:小さく動かし、保存・連携・エラー処理を確かめながら作る
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| 最小の動作例・説明08-01 | 変数・条件分岐・関数など最小の処理を動かした例と説明を残す | 08-01 | 空欄版:閲覧/保存(.md、1.0 KB)記入例:閲覧/保存(.md、1.7 KB) |
| 処理コード・保存確認記録08-02 | 入力チェック・保存・読出し・更新をつないだコードと、保存を確かめた記録を残す | 08-02 | 空欄版:閲覧/保存(.md、0.8 KB)記入例:閲覧/保存(.md、2.6 KB) |
| 連携処理・実行記録08-03 | 画面と処理の間の通信を確かめ、データ形式・失敗時の扱いと実行結果を残す | 08-03 | 空欄版:閲覧/保存(.md、0.7 KB)記入例:閲覧/保存(.md、1.3 KB) |
| 修正差分・失敗時の動作例08-04 | 想定外の入力や部分失敗への対応を直した差分と、失敗時の動作例を残す | 08-04 | 空欄版:閲覧/保存(.md、0.8 KB)記入例:閲覧/保存(.md、1.8 KB) |
09テスト・レビュー:正しさを確かめる4種この段階で使う:テスト・リスク別の検証・第三者レビューで正しさを確かめる
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| テストケース・実行結果09-01 | 正常・異常・境界のテストケースを用意し、処理単位の実行結果を残す | 09-01 | 空欄版:閲覧/保存(.md、0.7 KB)記入例:閲覧/保存(.md、2.1 KB) |
| 要件・テスト対応表と修正記録09-02 | 要件ごとに期待結果を先に決め、テスト結果と修正の記録を1枚で対応させる | 記事B | 空欄版:閲覧/保存(.md、2.2 KB)記入例:閲覧/保存(.md、8.1 KB) |
| リスク別の検証結果09-03 | 許可されない操作・重複・途中失敗・同時更新・想定利用量の検証結果を残す | 09-03 | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、2.5 KB) |
| レビュー記録・残課題一覧09-04 | 実装者以外の観点でのレビュー結果と、残った課題を一覧にする | 09-04 | 空欄版:閲覧/保存(.md、0.7 KB)記入例:閲覧/保存(.md、2.7 KB) |
10導入・受入の準備4種この段階で使う:受入確認・データ移行・利用説明を済ませ、利用開始の可否を判断する
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| 受入確認記録10-01 | 業務担当者が要件と使い勝手を確認した結果と、不合格の条件を記録する | 10-01 | 空欄版:閲覧/保存(.md、1.2 KB)記入例:閲覧/保存(.md、3.6 KB) |
| 移行計画・照合表10-02 | 既存データの変換・件数と内容の照合・やり直し方を計画し、照合結果を残す | 10-02 | 空欄版:閲覧/保存(.md、0.7 KB)記入例:閲覧/保存(.md、1.8 KB) |
| 利用手順書・問い合わせ手順10-03 | 操作手順、困ったときの連絡先、権限の申請先、管理担当を書く | 10-03 | 空欄版:閲覧/保存(.md、1.3 KB)記入例:閲覧/保存(.md、5.5 KB) |
| 利用開始判定記録10-04 | 未解決の問題・利用範囲・責任者・復旧手段を照合し、利用開始の可否を記録する | 10-04 | 空欄版:閲覧/保存(.md、1.2 KB)記入例:閲覧/保存(.md、3.2 KB) |
11公開・本番移行4種この段階で使う:公開前チェック、配置、段階的な利用開始、切戻しの準備
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| 公開前チェック結果11-01 | 公開範囲・接続先・設定値・秘密情報・権限・費用を公開前に確かめて記録する | 11-01 | 空欄版:閲覧/保存(.md、1.0 KB)記入例:閲覧/保存(.md、2.7 KB) |
| 配置手順・実行記録11-02 | 何をどこへ配置したかと版を明確にし、手順と実行結果を残す | 11-02 | 空欄版:閲覧/保存(.md、0.7 KB)記入例:閲覧/保存(.md、1.8 KB) |
| 初期利用の確認記録11-03 | 対象者・機能・時間帯を絞った初期利用で、正常利用と異常の兆候を記録する | 11-03 | 空欄版:閲覧/保存(.md、1.2 KB)記入例:閲覧/保存(.md、2.2 KB) |
| 切戻し手順・引渡し記録11-04 | 旧版に戻せる範囲とデータの扱いを決め、引渡しの記録を残す | 11-04 | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、2.1 KB) |
12運用・障害対応5種この段階で使う:稼働の把握、異常の初動、障害からの復旧、復元演習
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| 運用項目・確認頻度一覧12-01 | 稼働・処理結果・利用状況・費用の確認項目と頻度を一覧にする | 12-01 | 空欄版:閲覧/保存(.md、1.0 KB)記入例:閲覧/保存(.md、3.4 KB) |
| 異常時の初動手順12-02 | 異常の申告から事実確認・影響範囲・暫定対応までの初動手順を決める | 12-02 | 空欄版:閲覧/保存(.md、1.0 KB)記入例:閲覧/保存(.md、2.3 KB) |
| 障害対応記録12-03 | 障害が起きたときに、事実・影響・対応・原因・再発防止を時系列で残す | 記事C | 空欄版:閲覧/保存(.md、2.2 KB)記入例:閲覧/保存(.md、6.1 KB) |
| 復旧確認表12-03 | 復元のあと、件数・内容・関係・業務の再開可否を順に確かめる | 記事C | 空欄版:閲覧/保存(.md、2.8 KB)記入例:閲覧/保存(.md、3.8 KB) |
| 復元演習記録12-04 | 隔離した場所へ復元し、件数・内容・関係・利用可否を確かめた記録を残す | 12-04 | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、1.8 KB) |
13保守・改善・引継ぎ・終了4種この段階で使う:改善要望の整理、変更の影響調査、更新と再検証、引継ぎ・終了
| ひな形 | 何に使う | 使う記事 | 空欄版・記入例 |
|---|---|---|---|
| 改善要望一覧13-01 | 利用状況と業務課題から、追加・修正・廃止の要望と優先順位を整理する | 13-01 | 空欄版:閲覧/保存(.md、0.7 KB)記入例:閲覧/保存(.md、1.6 KB) |
| 変更影響調査13-02 | 変更が要件・データ・連携・権限・運用・教材のどこに及ぶかをたどる | 13-02 | 空欄版:閲覧/保存(.md、0.7 KB)記入例:閲覧/保存(.md、1.3 KB) |
| 更新記録・再検証結果13-03 | 小さな変更の記録と、既存機能が壊れていないことを確かめた再検証の結果を残す | 13-03 | 空欄版:閲覧/保存(.md、0.7 KB)記入例:閲覧/保存(.md、1.4 KB) |
| 引継ぎ資料・終了チェック表13-04 | 担当者の変更、残すデータ、アクセス停止、契約・接続の終了を漏れなく確認する | 13-04 | 空欄版:閲覧/保存(.md、0.9 KB)記入例:閲覧/保存(.md、1.9 KB) |
最小実験コード
1セット=1枚のカードです。「動かし方(README)」に起動手順と注意があります。同じフォルダに全ファイルをそろえてください(依存関係があります)。
記事B 最小実験コード(sample-b)
承認処理のテスト12件を実行し、説明用の失敗例(approval_v1.py)では権限や重複の不備が検出され、修正版(approval_v2.py)ではすべて成功します。
approval_v1.py は意図的に不備を入れた説明用の失敗例です。メモリ上の新規 SQLite だけを使います。
ファイル一覧(6)
- README.md(起動手順と注意。配布用に生成)
- common.py(4.9 KB)
- approval_v1.py(2.9 KB)
- approval_v2.py(6.4 KB)
- test_approval.py(10.3 KB)
- mutation_check.py(5.0 KB)
記事C 復元演習コード(sample-c)
架空データのバックアップを取り、意図的に壊してから別の場所へ復元し、件数・内容・指紋を照合して「戻った/戻らない」を確かめます。
cleanup_v1_1.py は意図的に危険にした失敗例で、演習領域内の履歴を削除します。演習領域(このフォルダ直下の work*)の外では動きません。
ファイル一覧(6)
- README.md(起動手順と注意。配布用に生成)
- drill.py(27.4 KB)
- drill_safety.py(5.8 KB)
- cleanup_v1_0.py(1.3 KB)
- cleanup_v1_1.py(1.8 KB)
- drill_selfcheck.py(15.1 KB)
00-02 プログラム・入力データ・出力の最小例
同じ依頼一覧をCSVとJSONで読み、状態ごとの件数を表示します。件名にカンマを含むCSVでは列がずれることを観察します。
同じ依頼一覧を CSV と JSON で読んで状態ごとの件数を表示するプログラムと、その入力データです。requests-comma.csv は件名にカンマを含む説明用の入力データで、列がずれる読み違えを観察します。ファイルを読むだけで何も書き換えません。Node.js標準機能のみを使用しています。
ファイル一覧(5)
- README.md(起動手順と注意。配布用に生成)
- count_by_state.js(1.7 KB)
- requests.csv(0.2 KB)
- requests.json(0.3 KB)
- requests-comma.csv(0.2 KB)
06-02 接続先確認の演習コード
設定ファイルから「今どの環境につながっているか」を読み、本番なら処理を止めます。実際の接続先はありません。
操作の前に「今どの環境につながっているか」を設定ファイルから確認し、本番なら止めるコードです。設定ファイルはすべて架空で、実際の接続先・実データは存在しません。何も書き換えません。Node.js標準機能(node:fs、node:path)のみを使用しています。
ファイル一覧(5)
- README.md(起動手順と注意。配布用に生成)
- check_env.js(1.6 KB)
- env-development.json(0.1 KB)
- env-staging.json(0.2 KB)
- env-production.json(0.2 KB)
06-03 変更履歴の演習コード
使い捨てのGit置き場で、変更→差分の確認→保存→やり直しの流れを実際に実行し、画面の出力を見ます。
作業開始→分岐→変更→確認(status・diff)→add→commit→確認→やり直し(revert)→共有先の確認、という最小の流れを、フォルダ直下の work/ に作る使い捨ての Git 置き場で実行するシェルスクリプトです。共有先は設定せず送信しません。演習用の名前・日時を固定するので個人の Git 設定は読みません。approval_after.js は教材上の変更例で、実際のAI出力ではありません。
ファイル一覧(4)
- README.md(起動手順と注意。配布用に生成)
- drill.sh(2.6 KB)
- approval_before.js(0.3 KB)
- approval_after.js(0.3 KB)
06-04 秘密情報の混入確認 演習コード
設定見本・Gitの対象外・履歴・AIへ渡す資料の4か所に、架空の秘密の値が混入していないかを確かめます。
設定見本が空欄か、.env が Git の対象外か、履歴に秘密の値が無いか、AIへ渡す資料と公開する実行記録に混入が無いか、の4つを使い捨ての置き場で確かめるコードです。秘密の値は架空(DRILL-FAKE-KEY-0000)で本物ではありません。Node.js標準機能(node:fs、node:path、node:child_process)と git を使い、共有先は設定しません。
ファイル一覧(4)
- README.md(起動手順と注意。配布用に生成)
- check_secrets.js(6.0 KB)
- env.example.txt(0.1 KB)
- gitignore.example.txt(0.1 KB)
08-01 最小の動作例コード
承認できるかを判定する最小の関数に、いろいろな入力を渡して結果を表示します。初稿版では割当承認者の判定が抜けています。
承認可否を判定する最小の関数と、入力を変えて確認する実行スクリプトです。approval-draft.js は「AIの初稿」という設定の説明用の失敗例(実際のAI出力ではない)で、割当承認者の判定が抜けています。Node.js標準機能のみを使用し、追加パッケージは導入していません。
ファイル一覧(4)
- README.md(起動手順と注意。配布用に生成)
- approval.js(0.5 KB)
- approval-draft.js(0.6 KB)
- run.js(1.1 KB)
08-02 保存処理コード
依頼を作成・保存・状態更新し、演習用のJSONファイルに正しく保存されたかを確かめます。
依頼の作成・保存・状態更新を、教材演習用のJSONファイル1つに対して行うコードです。storage.js は保存だけを担当し、submit_guard.js が提出前に対象の存在と状態を確かめます。approval.js は 08-01 の正本のコピーで、保存した依頼に対して判定関数を呼ぶ接続を確かめます。Node.js標準機能(node:fs、node:path)のみを使用しています。
ファイル一覧(5)
- README.md(起動手順と注意。配布用に生成)
- storage.js(1.5 KB)
- submit_guard.js(0.9 KB)
- approval.js(0.6 KB)
- run.js(3.4 KB)
07-03 AI作業指示書の検証コード
要件から先に決めた期待結果と「AIの初稿」(説明用の失敗例)を照合し、不一致があれば終了コード1で終わります。修正版では一致します。
approval-draft.js は「AIの初稿」という設定の説明用の失敗例(実際のAI出力ではない)です。verify.js は要件から先に決めた期待結果と照合し、不一致があれば終了コード1で終わります。Node.js標準機能のみを使用しています。
ファイル一覧(4)
- README.md(起動手順と注意。配布用に生成)
- approval-draft.js(0.4 KB)
- approval-fixed.js(0.3 KB)
- verify.js(1.6 KB)
08-03 連携処理コード
手元の通信(localhost)で画面役と処理役をつなぎ、提出操作の一巡と、失敗時の応答を確かめます。
画面(クライアント)と処理(サーバー)の間の提出操作の一巡をローカル通信(localhost)で確かめ、08-02の保存処理(storage.js のコピー)で保存するコードです。Node.js標準機能(node:http、node:fs、node:path)のみを使用しています。
ファイル一覧(5)
- README.md(起動手順と注意。配布用に生成)
- server.js(2.6 KB)
- client.js(1.7 KB)
- client-fail.js(0.3 KB)
- storage.js(1.6 KB)
08-04 エラー処理・修正差分コード
「状態は変わったのに履歴が書けなかった」部分失敗を再現し、修正版で失敗時に何も残らないことを確かめます。
storage_v1.jsは意図的に不備を入れた説明用の失敗例(部分失敗を正常完了として扱うバグ)です。Node.js標準機能(node:fs、node:path)のみを使用しています。
ファイル一覧(5)
- README.md(起動手順と注意。配布用に生成)
- storage_v1.js(1.5 KB)
- storage_v2.js(2.0 KB)
- run_v1.js(0.9 KB)
- run_v2.js(0.8 KB)
09-01 テストケース・実行結果コード
判定関数に正常・異常・境界のテストを実行します。故意に壊した版で、テストがどの壊れ方を検出できるかも確かめます。
承認可否の判定関数に対する正常・異常・境界のテストケースと、実行して期待値と照合するスクリプトです。mutants.js は故意に壊した版(説明用、正本は変えない)で、run_mutation_tests.js がテストの検出力を確かめます。Node.js標準機能(node:assert)のみを使用しています。
ファイル一覧(6)
- README.md(起動手順と注意。配布用に生成)
- approval.js(0.6 KB)
- test_cases.js(1.2 KB)
- run_tests.js(1.0 KB)
- mutants.js(1.7 KB)
- run_mutation_tests.js(1.5 KB)
09-03 リスク別の検証コード
重複した承認、承認と再提出の入れ違い、繰り返し実行を、保存先の状態条件で確かめます。
重複した承認操作、承認と再提出の入れ違いを、保存先の状態条件で確認するコードです(実際の同時アクセスの再現ではありません)。run_mutation_check.js は正本のコピーを故意に壊してテストの検出力を確かめます(正本は変えません)。Node.js標準機能(node:fs、node:path)のみを使用しています。
ファイル一覧(6)
- README.md(起動手順と注意。配布用に生成)
- storage_guard.js(1.8 KB)
- run_duplicate.js(1.2 KB)
- run_resubmit_guard.js(1.4 KB)
- run_repeat_scale.js(1.1 KB)
- run_mutation_check.js(2.5 KB)
10-01 受入確認の演習コード
受入条件AC-005のうち、今の実装で観測できる「作成時の必須項目チェック」だけを依頼者役の操作で確かめます。
受入条件 AC-005 のうち現在の実装範囲で観測できる部分(作成時の必須項目チェック)だけを、依頼者役の操作に相当する呼び出しで確かめる演習コードです。画面を使った受入確認ではありません。Node.js標準機能(node:fs、node:path)のみを使用しています。
ファイル一覧(3)
- README.md(起動手順と注意。配布用に生成)
- run_ac005.js(2.1 KB)
- storage.js(1.6 KB)
10-02 移行・照合コード
架空の過去依頼(CSV)をアプリのデータ項目に変換し、件数と内容を照合します。日付の形式変換と文字化けの検出を含みます。
架空の過去依頼(CSV)をアプリのデータ項目へ変換し、件数照合・内容照合を行うコードです。日付の形式変換と文字化けの検出を含みます。Node.js標準機能(node:fs、node:path)のみを使用しています。
ファイル一覧(4)
- README.md(起動手順と注意。配布用に生成)
- old_requests.csv(0.4 KB)
- migrate.js(2.6 KB)
- run.js(2.2 KB)
11-02 配置・確認コマンドコード
ローカルの配置先へコードとデータをコピーし、配置元との同一性(指紋)を記録して、健全性確認を実行します。先に10-02の実行が必要です。
ローカルの配置サンドボックスに、08-01 の正本 approval.js と 10-02 の出力 migrated_requests.json を実ファイルとしてコピーして配置し、配置元の sha256 を記録して確認コマンド(健全性確認)を実行するコードです。先に 10-02 を実行しておく必要があります。実際の外部サービスへの配置ではありません。Node.js標準機能(node:fs、node:path)のみを使用しています。
11-01 公開前チェックの演習コード
公開前チェック6項目のうち手元で確かめられることを機械的に確かめ、「演習で確認」「未確認」「実環境で確認が必要」に分けます。
公開前チェック6項目のうち今の環境で確かめられることを機械的に確かめ、「演習で確認」「未確認」「実環境で確認が必要」に分類するコードです。存在しない公開設定・本番の接続先は確認済みにしません。何も書き換えません。Node.js標準機能のみを使用しています。
ファイル一覧(3)
- README.md(起動手順と注意。配布用に生成)
- check_release.js(5.9 KB)
- env.example.txt(0.1 KB)
11-03 初期利用の演習コード
11-02で配置した範囲だけを対象に、対象者・機能・期間を絞った初期利用を演習し、確認記録を残します。先に11-02の実行が必要です。
11-02 の正本が配置した deploy_target/ をそのまま使い、配置した範囲(承認可否の判定関数と移行データ3件)だけを対象に、対象者・機能・期間を絞った初期利用を演習として行い、確認記録を残すコードです。配置コードのコピーは持たず、配置し直しもしません。実際の利用者による利用ではありません。Node.js標準機能(node:fs、node:path)のみを使用しています。
11-04 切戻し演習コード
配置先で、旧版の退避→失敗例の配置→確認で不一致→旧版へ切戻し→確認、を実際に行い、コードを戻してもデータは戻らないことも確かめます。
11-02 が配置した配置サンドボックスで、旧版の退避→新版(説明用の失敗例)の配置→配置後の確認で不一致→旧版への切戻し→切戻し後の確認を実際に行うコードです。コードの切戻しではデータが戻らないことも確かめます。実際の外部サービスへの配置ではありません。Node.js標準機能のみを使用しています。
ファイル一覧(4)
- README.md(起動手順と注意。配布用に生成)
- rollback.js(3.8 KB)
- run.js(4.0 KB)
- approval_v0.1.1-broken.js(0.7 KB)
12-02 異常時の初動 演習コード
08-04の部分失敗を題材に、申告→事実確認→影響範囲→原因→暫定対応の初動を、記録を読みながら進めます。記録は書き換えません。
08-04 で再現できる部分失敗(状態は変わったが履歴の書き込みに失敗)を題材に、申告→事実確認→影響範囲→仮説と切り分け→原因→暫定対応→恒久対応/残課題の初動を、実際の記録を読んで行うコードです。実際に発生した障害ではありません。記録を読むだけで書き換えません。Node.js標準機能のみを使用しています。
ファイル一覧(2)
- README.md(起動手順と注意。配布用に生成)
- investigate.js(6.5 KB)
12-04 復元演習コード
バックアップを別の場所へ復元し、件数・内容・関係の3つを照合します。復元先が既にあるときは上書きせず拒否することも確かめます。
バックアップ(基準時点)を別の場所へ復元し、件数・内容・関係の3照合と戻らない変更を確認するコードです。run_reject_check.js は復元先が既にあるときに上書きせず拒否することを確かめます。記事C(SAMPLE-C)の演習と同じ考え方を、Node.js標準機能(node:fs、node:path)だけで再現しています。
ファイル一覧(4)
- README.md(起動手順と注意。配布用に生成)
- drill.js(4.8 KB)
- run.js(0.9 KB)
- run_reject_check.js(0.8 KB)
13-03 更新・再検証コード
「取り下げ」の小さな変更を加え、新しいテストと既存のテスト(09-01)を再実行して、既存機能が壊れていないことを確かめます。
13-01の要望に対応する小さな変更(withdraw.js)を実装し、新規テストと既存テスト(09-01のcanApproveテストケース)を再実行して既存機能への影響を確認するコードです。Node.js標準機能(node:assert)のみを使用しています。
ファイル一覧(4)
- README.md(起動手順と注意。配布用に生成)
- withdraw.js(0.6 KB)
- approval.js(0.4 KB)
- run.js(2.9 KB)
実行記録(匿名化版)
これは、実験コードを実際に動かしたときの記録(画面に出た文字と終了コード)です。手元で動かした結果と見比べる用途で、SHA-256(ファイルが改ざんされていないことを確かめる指紋のような値)は MANIFEST.json にあります。主に上級者向けです。
作業フォルダの絶対パスを <PROJECT_ROOT>、ホームを <HOME>、一時フォルダを <TMP> に置き換えた公開用コピーです(変換規則と件数は制作フォルダ内の変換記録に残しています)。実行結果の内容は変えていません。初版の記録は含めていません(初版のコードは改訂済みのため)。
- 記事B 改訂版 rev1 の実行記録(匿名化版)(12.9 KB)— 記事Bの現行コードの主たる記録
- 記事B rev2 のソース指紋(匿名化版)(1.5 KB)— rev2 でコードが変わっていないことの記録
- 記事C 改訂版 rev2 の実行記録(匿名化版)(19.8 KB)— 記事Cの現行コードの記録
- 07-03 AI作業指示書の検証 実行記録(匿名化版)(1.6 KB)— stdout・stderr・終了コードを整形・省略せずに記録。macOS 26.6.2 / Node.js v24.18.0
- 08-03 連携処理 実行記録(匿名化版)(3.3 KB)— server.js・client.js・client-fail.js の実出力と保存先の中身。macOS 26.6.2 / Node.js v24.18.0
- 10-01 受入確認の演習 実行記録(匿名化版)(2.1 KB)— AC-005 の観測できる部分の演習。画面を使った受入確認ではない
- 11-03 初期利用の演習 実行記録(匿名化版)(5.9 KB)— 配置サンドボックス内での演習。実際の利用者による利用ではない
- 06-03 変更履歴の演習 実行記録(匿名化版)(3.2 KB)— drill.sh の全文出力(status・diff・log・revert・remote)。日時固定のため保存単位の識別子は再現可能。macOS 26.6.2 / git 2.54.0
- 06-04 秘密情報の混入確認 実行記録(匿名化版)(2.8 KB)— 4つの混入先の確認 9 件すべて一致。秘密の値は架空。macOS 26.6.2 / Node.js v24.18.0 / git 2.54.0
- 10-02 移行・照合 実行記録(匿名化版)(1.8 KB)— run.js の全文出力と migrated_requests.json の確認。コード・データは初版から不変。macOS 26.6.2 / Node.js v24.18.0
- 11-01 公開前チェックの演習 実行記録(匿名化版)(3.0 KB)— 10-02 未実行時の停止と、実行後の分類結果。存在しない公開設定・本番の接続先は未確認扱い。macOS 26.6.2 / Node.js v24.18.0
- 11-03 初期利用の演習 実行記録(匿名化版、Phase 5B-2C1)(8.2 KB)— 11-02 の正本が配置した内容に対する演習。実際の利用者による利用ではない。macOS 26.6.2 / Node.js v24.18.0
- 11-04 切戻し演習 実行記録(匿名化版)(4.2 KB)— 新版配置→不一致→旧版へ切戻し→確認の stdout・終了コードと、切戻し後の配置ファイル。macOS 26.6.2 / Node.js v24.18.0
- 12-02 異常時の初動 演習 実行記録(匿名化版)(4.2 KB)— 08-04 の部分失敗を再現し、事実確認から暫定対応までを記録から行った stdout。実際の障害ではない。macOS 26.6.2 / Node.js v24.18.0
- 06-01 環境構築手順の確認コマンド 実行記録(匿名化版)(1.5 KB)— 確認コマンド4つの stdout・終了コード。最終監査で再実行して取得。macOS 26.6.2 / git 2.54.0 / Node.js v24.18.0
- 08-04 エラー処理・修正差分 実行記録(匿名化版)(2.7 KB)— run_v1.js・run_v2.js の全文出力。コード不変、失敗ログの時刻以外は初版の出力と同一。macOS 26.6.2 / Node.js v24.18.0
- 11-03 初期利用の演習 実行記録(匿名化版、Final Content Audit)(4.8 KB)— 対象者の文言を改めた run.js の再実行。操作・判定・件数は Phase 5B-2C1 と同じ。macOS 26.6.2 / Node.js v24.18.0
- 13-03 更新・再検証 実行記録(匿名化版)(3.9 KB)— run.js の全文出力(新規3件・既存6件、9件PASS)と approval.js が 09-01 と同じことの diff。コードは初版から不変。macOS 26.6.2 / Node.js v24.18.0
- 12-04 復元演習 実行記録(匿名化版)(2.7 KB)— run.js の全文出力と、復元先が既にあるときの拒否(例外を受け止めた場合と受け止めない場合)。macOS 26.6.2 / Node.js v24.18.0
- 08-02 保存処理 実行記録(匿名化版)(3.0 KB)— 入力チェック・保存・ガード付き提出・08-01の判定関数の呼び出し・拒否の stdout・stderr・終了コード。macOS 26.6.2 / Node.js v24.18.0
- 09-01 テストケース・検出力確認 実行記録(匿名化版)(3.3 KB)— テスト6件と、故意に壊した版5通りに対する検出力確認の stdout・stderr・終了コード。macOS 26.6.2 / Node.js v24.18.0
- 11-02 配置・確認コマンド 実行記録(匿名化版)(4.5 KB)— 10-02 未実行時の停止、10-02 の実行、配置と健全性確認5項目、MANIFEST と diff の記録。macOS 26.6.2 / Node.js v24.18.0
- 00-02 プログラム・入力データ・出力の最小例 実行記録(匿名化版)(2.4 KB)— CSV・JSON の読み込みと集計、カンマを含む CSV の読み違えの stdout・stderr・終了コード。macOS 26.6.2 / Node.js v24.18.0
- 06-02 接続先確認の演習 実行記録(匿名化版)(2.4 KB)— 開発・検証・本番・設定ファイルなしの4通りの stdout・stderr・終了コード。設定はすべて架空。macOS 26.6.2 / Node.js v24.18.0
- 09-03 リスク別の検証 実行記録(匿名化版)(2.6 KB)— 重複・入れ違い・繰り返し・検出力確認の stdout・stderr・終了コード。同時アクセスの再現ではない。macOS 26.6.2 / Node.js v24.18.0
- 08-01 最小の動作例 実行記録(匿名化版)(1.9 KB)— 初稿(説明用の失敗例)と修正後を同じ run.js で実行した stdout・stderr・終了コード。macOS 26.6.2 / Node.js v24.18.0
他環境での確認については検証の補足を参照してください。
AI時代のシステム開発の基礎