記事一覧

2026-08-17 22:12:00

ものづくりの時間が変わった――「文明の夜明け」を感じた

ものづくりの時間が変わった――「文明の夜明け」を感じた

――SharePoint版への第2章、そのとっかかりで「文明の夜明け」を感じた

AIがコードを書き、模擬SharePointを構築し、ユニットテストを実行。人間が実際のSharePoint環境で確認し、AIへ結果を返して改善する開発の流れを表したイラスト
AIがコードを書き、ユニットテストまで実行。人間が本物の環境で確かめ、その結果をまたAIへ返していきました。

この記事の要点

私はいま、Digital Supporters Clubという会員制クラブサイトをつくっています。

前回は、Microsoft Power Pagesを使った会員サイトの設計に挑戦し、 AIとの対話を繰り返した結果、 要件定義書から123件のテストケースを持つテスト仕様書までつくりました。

そして次は、SharePointを中心に、 もっと小さく実際に動くものをつくってみよう、と方向を変えました。

今回の出来事は、その第2章へ踏み出した、とっかかりでの体験です。

SharePoint版の運営を少し楽にするために、 会員ごとのフォルダ作成や権限設定を支援する 「DSC Builder」という小さな管理ツールを、 AIと一緒につくることにしました。

そこで私は初めて、 AIに実際に動くコードを全面的に書いてもらいました。

驚いたのは、それだけではありません。

AIは、そのコードを確かめるためのユニットテストまで用意し、 実際にそのユニットテストまで実行したのです。

さらに、テスト用の模擬SharePointまでPythonコードとしてつくっていました。

コードを書く。
テストを書く。
テストする。
問題があれば直す。
またテストする。

そのサイクルが、 私が現役のころに接してきたシステム開発とは、 まるで違う速度で回っていきました。

私はその様子を見ながら、

「自分はいま、文明の夜明けに立ち会っているのではないか」

と本気で感じました。

ところが、ユニットテストが通ったコードを 本物の日本語版SharePointで動かすと、 それでも問題が見つかりました。

そこで見えてきたのは、

AIがつくり、人間が現実に当て、その結果をまたAIへ返す

という、新しいものづくりの姿でした。

この記事を貫く4つの気づき
  1. AIはコードを書くだけでなく、ユニットテストをつくり、実行するところまで進んでいる
  2. AIによって「設計 → 実装 → テスト → 修正」の速度が大きく変わった
  3. ユニットテストが通っても、本物の環境でなければ分からないことがある
  4. AI時代の開発では、人間は「現実との接点」という重要な役割を持つ

今回の経験で強く感じたのは、 AIが単にコードを書くようになったのではなく、 ものをつくり、試し、直し、もう一度つくる時間の流れそのものが変わり始めている ということです。

1.第2章へ踏み出したところで、驚いた

前回の記事では、 Digital Supporters Clubの会員サイトをPower Pagesでつくろうとして、 AIと一緒に要求仕様や設計を考えていったことを書きました。

最初は、もっと簡単につくれると思っていました。

ところがAIと対話を続けるうちに、

「この場合はどうしますか」

「途中で失敗したらどうしますか」

「他の会員から本当に見えませんか」

と、一つ決めるたびに次の問いが出てきました。

その結果、要件定義からデータ設計、画面、権限、運用、 そして123件のテストケースまでつながっていきました。

そして最後に、

Power Pagesへの挑戦が第1章。

次はSharePointを中心に、まずはもっと小さく動くものをつくる。

そう書きました。

今回の出来事は、 その第2章へ踏み出した、とっかかりでの体験です。

SharePoint版をつくり始め、 その運営を少しでも楽にするための小さなツールを AIと一緒につくろうとしました。

その過程で、私は初めて、

AIに実際に動くコードを全面的に書いてもらいました。

しかも、それだけではありませんでした。

AIはユニットテストまでつくり、 実際にそのテストまで実行したのです。

これには、本当に驚きました。

2.残っていた、地味だけれど気の抜けない作業

SharePointとTeamsを使った小さな会員サイトをつくり始めると、 サイトの骨組みは少しずつ形になっていきました。

自分だけが見られる原稿の場所。

クラブの仲間に公開する作品の場所。

作品について感想を届ける場所。

Power Pages版で考えた、

「保存することと、公開することは違う」

「本人の非公開原稿は、他の会員から見えてはいけない」

という考え方も、そのまま引き継ぎました。

ところが実際に運営することを考えると、 一つ地味な作業が残りました。

新しい会員が入る

会員専用のフォルダをつくる

原稿を書く場所をつくる

届いた感想を保存する場所をつくる

公開作品のフォルダをつくる

それぞれに正しいアクセス権を設定する

作業そのものは、それほど複雑ではありません。

でも、間違えてはいけません。

本人だけが読めるはずの原稿が、 別の会員から見えてしまったら大きな問題です。

公開作品についても、 他の会員は読むことはできても、 編集できてはいけません。

会員が増えるたびに、同じ設定を行い、 最後に間違いがないか確認する。

地味ですが、かなり神経を使います。

そこで、この作業を支援する小さな管理ツールをつくることにしました。

名前は、

DSC Builder

です。

たとえば、

「DSC0007番の会員を準備して」

とGPTに伝える。

すると、

必要なフォルダをつくる

権限を設定する

本当にその通りになったか確認する

ところまで支援する。

そんな道具を目指しました。

3.最初は、大きくつくりすぎた

ところが、最初に考えたDSC Builderは、 かなり大きなものでした。

新規会員の準備だけではありません。

  • 長期間利用していない会員を見つける
  • 利用継続を確認する
  • 退会時にはアクセスを停止する
  • 一定期間データを保持する
  • 最後にはデータを削除する

入会から退会まで、 かなり広い範囲を自動化しようとしていました。

設計をレビューしていく中で、

「今の段階で、そこまでつくる必要があるだろうか」

という問いが出てきました。

以前、Power Platformのライセンス費用で立ち止まったときと、 よく似ています。

技術的につくれるか。

それだけではありません。

今、それをつくる意味があるのか。

そこで範囲を大きく縮めました。

まず試すのは、 新しい会員1人を迎えるときのSharePoint設定だけ。

休眠管理も、退会処理も、削除の自動化も、 いったん将来へ送る。

そして設計に、

「作れるものをすべて作る」のではなく、
「効果が確認できた部分だけ次へ進める」

という考え方を入れました。

実際に試す。

本当に楽になるなら続ける。

効果が小さければ、そこで止める。

前回は、仕様書をつくることで、

「このシステムを本当につくるべきか」

を考えることができました。

今回は、AI自身を使った開発にも、 同じ考え方を適用することになりました。

4.本当にコードができた

設計を何度も見直したあと、 AIに実際のコードを書いてもらいました。

ここは、はっきり書いておきたいと思います。

今回、コードそのものは全面的にAIに書いてもらいました。

私はプログラムを一行も書いていません。

私が行ったのは、

  • 何をつくりたいのか
  • どこまでつくるのか
  • どんな場合には処理を止めるのか
  • どんな結果なら成功なのか

そうしたことをAIとの対話で考えることでした。

設計が決まると、AIがコードを書きました。

それまでも、

「AIはコードを書ける」

という話は知っていました。

だから、ここまではある程度想像できました。

でも、本当に驚いたのは、その先でした。

5.AIが、ユニットテストまで実行した

AIは、コードを書いて終わりではありませんでした。

そのコードが正しく動くかを確かめるための ユニットテストも用意しました。

そして、

そのユニットテストを実際に実行しました。
コードを書く

ユニットテストを書く

ユニットテストを実行する

結果を確認する

問題があればコードを直す

またテストする

そこまでが、 ひと続きの開発作業として進んでいったのです。

私は、その様子を見ながら本当に驚きました。

自分がAIと話し合って決めた設計がコードになる。

そのコードを確かめるテストコードもできる。

そして、実際にテストが走る。

「AIはプログラムを書けるらしい」

と外から眺めていたときとは、 まったく違いました。

自分が必要としているシステムのコードが目の前で生まれ、
そのコードに対するユニットテストまで実行されていく。

その体験の重さは、 想像していたものとは違いました。

6.ものを作る時間の流れが変わった

そして、私が一番強く感じたのは、その速さでした。

要件を考える

設計する

コードを書く

テストコードを書く

テストする

問題を調べる

コードを直す

またテストする

それぞれの工程に、人の作業時間が必要でした。

もちろん、AIを使っても、 こうした工程そのものが全部なくなるわけではありません。

違ったのは、

その工程を回す速度です。

私が、

「この場合はどうなる?」

と問いかける。

AIが設計を確認する。

コードを書く。

テストを書く。

テストを実行する。

必要なら修正する。

そして、また次へ進む。

これまで別々の工程だったものが、 対話の中で次々につながっていきました。

私が現役のころに接してきたシステム開発の時間感覚とは、 明らかに違いました。

私は、

「便利になった」

とか、

「少し速くなった」

という感覚では受け止められませんでした。

ものを作るときの、時間の流れそのものが変わった。

そう感じました。

7.AIは、模擬SharePointまでPythonでつくった

さらに驚いたことがありました。

ユニットテストをするとき、 毎回本物のSharePointへ接続していたわけではありません。

AIは、テスト用の模擬SharePointをPythonコードとして書いていました。

たとえば、

  • このフォルダは存在するか
  • フォルダをつくったらどうなるか
  • どんな権限が設定されているか

といったSharePointの振る舞いを、 テスト用のPythonコードの中で再現します。

そして、その模擬SharePointを相手に ユニットテストを実行する。

いわば、小さな「模型のSharePoint」です。

つまりAIは、

実際に使うコードを書く

そのコードを試すための模擬SharePointをPythonでつくる

ユニットテストを書く

ユニットテストを実行する

ところまでやっていたのです。

私はここでも、

AIはコードを書くだけではない

と感じました。

コードをつくる。

そのコードを試すための世界までつくる。

そしてテストする。

だからこそ、

書く

試す

直す

また試す

というサイクルを、 ものすごい速度で回すことができるのだと思いました。

8.ところが、本物のSharePointでは違った

ところが、これだけテストしていても、 本物のAzureとSharePointで動かすと問題が見つかりました。

その一つが、SharePointの権限でした。

最初のコードでは、

「Full Control」

「Edit」

「Read」

という英語の名前を使って、 SharePointの権限レベルを設定しようとしていました。

ところが、私が実際に使っているのは 日本語版のSharePointです。

本物のSharePointから返ってくる表示名は、 日本語でした。

では、なぜユニットテストでは、 この問題を見つけられなかったのでしょう。

9.テストも、同じ前提でつくられていた

理由は単純でした。

実際に動くプログラムも、テスト用の模擬SharePointも、
「権限の名前は英語で返ってくる」という同じ前提でつくられていたからです。

プログラムは、

「Full Control」

を使おうとする。

模擬SharePointも、

「Full Control」

を返す。

だから、ユニットテストはPASSします。

テストの中だけを見れば、何も間違っていません。

ところが、本物の日本語版SharePointでは、 権限の表示名が日本語で返ってきました。

そこで初めて、

「英語の名前で返ってくる」という前提そのものが、
現実とは違っていた

ことが分かりました。

これは、 ユニットテストが役に立たなかったという話ではありません。

ユニットテストは、

「こちらが想定した条件の中で、コードが正しく動くか」

を確かめることには、とても役立ちます。

ただし、

その想定そのものが現実と違っている場合は、
本物の環境で動かしてみなければ気づけないことがある。

今回、私はそれを実際に体験しました。

そこでAIは、 英語や日本語といった表示名に頼るのではなく、 言語に左右されない方法で権限を判定するよう コードを修正しました。

さらに、日本語環境でも正しく判定できることを確認する ユニットテストも追加しました。

模擬SharePointで試す

本物で動かす

現実との違いが見つかる

結果をAIへ返す

AIがコードを直す

テストも直す

また試す

最初のテストで見えていなかった現実が、 本物のSharePointで見つかる。

その現実を、今度はテストの中にも取り込む。

こうしてテストも、 少しずつ現実に近づいていきました。

10.「やり直す」ことにも問題があった

もう一つ、 途中で処理に失敗した場合にも問題が見つかりました。

途中までフォルダができる。

その後で処理が止まる。

初めのコードでは、 その処理を同じ番号でもう一度実行しても、 失敗した結果を返すだけで、 その先へ進めない場合がありました。

そこで、

どこまで処理が進んでいたのかを確認する

安全に再開できる状態か判断する

再開できる場合は、その続きから進める

という形へコードを修正していきました。

この修正コードもAIが書きました。

実際のAzureやSharePointで動かすための コードやコマンドもAIが用意しました。

私は、それを実行します。

返ってきた結果やエラーをAIへ伝えます。

AIが原因を調べます。

コードを直します。

私はまた実行します。

ここでも同じ往復が続きました。

11.AIがつくり、人間が現実に当てる

今回の開発を振り返ると、 人間とAIの役割について、 前回とは少し違うものが見えてきました。

前回は、

人間が目的を示す

AIが設計案を出す

AIがレビューする

人間が判断する

設計を直す

という関係でした。

今回は、その先へ進みました。

人間が目的を示す

AIと設計する

AIがコードを書く

AIが模擬SharePointをPythonでつくる

AIがユニットテストを書く

AIがユニットテストを実行する

人間が本物の環境で動かす

現実との違いを見つける

結果をAIへ返す

AIがコードとテストを直す

もう一度、本物で試す

コードを書いたのは、AIです。

でも、完成品をAIから受け取って終わりではありませんでした。

AIがつくり、人間が現実に当て、その結果をまたAIへ返す。

そんな共同作業になりました。

12.「もう一度、つくり直そう」のコストが下がった

前回の記事で、私は、

AIが変えたのは「考え直すコスト」だった

と書きました。

人間のチームで、

「要件まで戻りましょう」

「設計をやり直しましょう」

と言うのは簡単ではありません。

でもAIとの対話なら、

「待って。この場合はどうなる?」

と思ったところから、 すぐ前へ戻れます。

今回、その先を体験しました。

コードを書いたあとでも、

「この場合は?」

と聞く。

AIが直す。

テストする。

もう一度直す。

つまりAIは、

「もう一度、つくり直してみよう」

と言えるコストまで、 大きく下げ始めていました。

作る

試す

失敗する

直す

もう一度試す

この循環そのものが、とても軽くなった。

私はそこに、 前回とはまた違う大きな変化を感じました。

13.文明の夜明けに立ち会っている

今回の経験を、私は単に、

「初めてAIにコードを書いてもらった」

という出来事としては受け止めていません。

コードを全面的にAIが書いた。

テスト用の模擬SharePointまでPythonでつくった。

ユニットテストを書いた。

そのユニットテストまで実行した。

問題があれば、コードやテストを直した。

その一連のサイクルが、 驚くほどの速度で回っていった。

私はそれを、 ニュースでも、誰かのデモでもなく、 自分が本当につくろうとしている Digital Supporters Clubの開発で経験しました。

そして、その速度を目の前で見たとき、 私が現役のころに接してきたシステム開発との違いを、 頭ではなく実感として感じました。

だから私は、本気で、

文明の夜明けに立ち会っている。

そんな実感を持ちました。

AIによって、 単にプログラミングが便利になったのではない。

人間がものをつくる方法そのものが、変わり始めている。

私はそう感じました。

私はプログラマーではありません。

プログラムも一行も書いていません。

それでも、

何をつくりたいかを考える

AIと設計する

AIがコードを書く

AIがテストする

自分が本物の環境で動かす

違いを見つける

AIへ返す

また直す

その「ものをつくる世界」の中に、 自分も入ることができました。

もちろん、AIが常に正しいわけではありません。

今回も、本物のSharePointへ当てたからこそ 分かったことがありました。

だから、人間の役割がなくなったとは感じません。

むしろ、

AIが猛烈な速度でコードとテストをつくれる時代だからこそ、
現実に当て、違いを見つける人間の役割が、よりはっきり見えてきた。

そう感じています。

Digital Supporters Clubのクラブサイトは、 まだ完成していません。

今回の出来事は、 第2章の本当にとっかかりです。

でも、そのとっかかりだけで、 私はこれまでとはまったく違う ものづくりの速度を経験しました。

作る

使う

気づく

改善する

前回、これからやろうとして書いたこの循環が、 もう実際に動き始めています。

AIと一緒につくる。

現実に当てる。

違っていたら、またAIへ返す。

そして、もう一度つくる。

第2章は、まだ始まったばかりです。

今回の開発で作成した主な設計・実装

  • Digital Supporters Club Phase 0 SharePoint / Teams ゲスト版プロトタイプ設計
  • DSC Builder GPT v0.1 ツール設計
  • Azure / Microsoft Entra ID 構築設計
  • DSC Builder API / Azure Functionsの実装コード
  • SharePointを模擬するPythonテストコード
  • DSC Builderのユニットテスト

今回のDSC Builderでは、 最初からすべてを自動化するのではなく、 まず新規会員のSharePoint利用開始準備に範囲を絞り、 実際にどの程度運営を楽にできるのかを確かめるところから始めました。

そして、この開発を通して、 AIがコードを書き、テストし、 人間が現実の環境で確かめ、その結果をまたAIへ返す という新しい開発の循環を体験することになりました。

Digital Supporters Clubの第2章は、 まだ始まったばかりです。