0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

# 家計簿を作っていたら、「システム化するほどではない業務」が消えることに気づいた

0
Posted at

家計簿を作っていたら、「システム化するほどではない業務」が消えることに気づいた

今日、ChatGPTに家計簿を作ってもらった。

正確には、家計簿ですらない。

私は家計を細かく管理したいわけではなかった。ただ、「我が家では食費や日用品に、実際いくら使っているのか」を測りたかった。

目的は節約でもない。

生活費の実測値が分かれば、自分が今後どれだけ働き、いくら稼ぐ必要があるのかを計算できる。それが分かれば、将来に対する漠然とした不安を数字に変えられる。

だから必要な機能は、ほとんどなかった。

  • 日付は今日の日付を自動表示
  • 区分を選ぶ
  • 金額を入れる
  • 必要ならメモを書く
  • 保存する

以上。

毎日PCを使うので、スマートフォンアプリである必要すらない。

そこでChatGPTと話しているうちに、

「これ、HTML一枚でいいのでは?」

となった。

そして、本当にHTMLファイルが一枚できた。

ブラウザで開けば動く。サーバーはいらない。インストールもいらない。入力したデータはブラウザに保存する。必要になったらCSVに書き出せる。

月末にCSVをChatGPTへ渡せば、月間食費や日用品費を集計してMarkdownに加工することもできる。

ここまでは、単に「AIに家計簿を作ってもらった」という話である。

問題は、このあとだった。

Excelを入力画面にする必要はあるのか?

私は会社で、ExcelやVBAを使った業務改善をしたことがある。

その中には、複数の参照テーブルと大量の変換ロジックを持ち、最終的には印刷・製本まで考慮しなければならない処理もあった。

そういう仕事なら、VBAやPythonを使う意味がある。

ところが、毎月10件程度しか発生しない仕事ならどうだろう。

Excelの指定フォーマットに、人間が一件ずつ入力している。

Excelだから、入力するセルを間違える。セルを結合する。書式を変える。数式を壊す。

入力規則のために別シートへリストを持たせたり、非表示シートを作ったりする。

そしてマニュアルには、

「このセルだけ入力してください」
「このシートは変更しないでください」
「この列は削除しないでください」

と書く。

そこで、家計簿のHTMLを見ながら思った。

Excelを最終的なフォーマットとして使うことと、Excelを入力画面として使うことは、まったく別の話ではないか。

入力だけHTMLにすればいい。

HTMLフォームに必要事項を入力させる。

選択肢はこちらで固定する。

日付なら日付入力欄にする。

必須項目が空なら、その場で止める。

条件によって必要な項目が変わるなら、JavaScriptのIFで必要な入力欄だけ表示する。

そして最後にボタンを押したら、既存システムが読み込めるCSVを出力する。

Excel側は、そのCSVを取り込めばいい。

既存のExcel資産を捨てる必要すらない。

マニュアルを「読ませる」必要もない

さらに考えると、HTMLにはもう一つ利点がある。

操作説明を画面そのものに埋め込める。

たとえば、

「中途採用」を選択したら中途採用に必要な項目だけを表示する。

ある条件を選択したときだけ注意事項を表示する。

入力値が不正なら、

「この項目は8桁の数字で入力してください」

と、その場で表示する。

画面の右側に操作ガイドを常時表示して、現在入力している項目に応じて説明を切り替えてもいい。

つまり、

Excel入力様式 + 入力マニュアル + 業務手順書 + 担当者が覚えている例外処理

の一部を、HTMLそのものへ埋め込める。

マニュアルを読ませて正しく操作してもらうのではない。

業務ルールをUIにしてしまう。

利用者は、画面から聞かれたことに答えればいい。

そして、先に「要件定義.md」ができる

ここで、もう一つ副産物に気づいた。

HTMLをAIに作らせるには、まずAIへ説明しなければならない。

誰が使うのか。

何を入力するのか。

どの項目が必須なのか。

選択肢は何なのか。

どんな条件分岐があるのか。

何をエラーとするのか。

最後に、どんなCSVを出力するのか。

だったら、コードを書く前に、それをMarkdownへまとめればいい。

要件定義.md

である。

そして人間が確認する対象を、コードではなく要件定義にする。

業務担当者はJavaScriptをレビューできなくても、

「この条件の場合は、この項目が必要」

という業務ルールならレビューできる。

要件が正しいことを確認したら、そのMarkdownをAIに渡してHTMLを生成させる。

さらに同じ要件定義から、

  • テストケース
  • 操作マニュアル
  • HTML内のヘルプ
  • 改修時の変更箇所

まで生成できる。

つまり、

業務知識
→ 要件定義.md
→ HTML
→ CSV / JSON / Markdown

という流れが作れる。

要件定義.mdを原本として残しておけば、数か月後に改修するときにもAIへ、

「この要件定義に次の仕様を追加して、HTMLを修正して」

と依頼できる。

小さなツールなのに、仕様が残る。

以前なら、こんなことは割に合わなかった。

「システム化するほどではない」という領域

ここで、ようやく気づいた。

生成AIによって変わったのは、単に「プログラミングが簡単になった」ことではない。

ソフトウェアを作ることが採算に合う最小単位が、猛烈に小さくなったのではないか。

以前なら、月10件の入力作業のために専用アプリを開発するなんて馬鹿げていた。

要件を整理する。

設計する。

コードを書く。

テストする。

マニュアルを書く。

保守する。

そこまでやるくらいなら、Excelで我慢したほうが安い。

だから世の中には、

「不便だけれど、システム化するほどではない」

という仕事が大量に残った。

ところが生成AIが、この計算を変えつつある。

業務担当者が自然言語で要件を説明する。

AIとの対話で要件定義.mdを作る。

AIがHTMLを書く。

AIに要件と実装を照合させる。

AIにテストケースを書かせる。

AIにマニュアルを書かせる。

しかも用途によっては、HTML/CSS/JavaScriptを一つのファイルへ全部入れてしまえばいい。

サーバーもいらない。

インストールもいらない。

使わなくなったら捨ててもいい。

すると、

「これ、毎日5分面倒だな」

程度の仕事にすら、専用ソフトウェアを作ることが合理的になり得る。

使い捨てアプリという発想

この発想そのものには先行する潮流がある。

生成AIによって、個人用・短期間用のmicro appやdisposable softwareを作る動きはすでに現れている。

single-file HTMLをAIに生成させ、小さな専用ツールとして利用する例もある。

Markdownで仕様を先に定義し、それをAI実装の原本にするSpec-Driven Developmentという考え方も発展している。

だから、ここで書いている個々の技術は新発明ではない。

ただ、非エンジニアの業務改善という視点からこれらを組み合わせると、かなり面白い。

要件定義.mdを原本として、業務ごとにsingle-file HTMLを生成する。

HTMLは、入力UIと簡単な業務ルールだけを担当する。

複雑な処理が必要ならCSVを境界として、Excel、VBA、Python、既存システムへ渡す。

HTMLが複雑になり始めたら、そこで別の技術へ移る。

何でもHTMLで作る必要はない。

HTMLが強いのは、それまで「わざわざアプリを作るほどではない」とされていた領域なのだと思う。

AI時代の業務改善は、大きなDXだけではない

企業のAI活用というと、大規模なシステム導入や、AIエージェント、生成AIを組み込んだサービスなどが注目されやすい。

でも、もっと小さな革命があるのかもしれない。

一人の担当者が毎月30分困っている。

あるExcelが使いづらい。

毎回同じ説明をしている。

毎回同じ形式へデータを書き換えている。

そういう仕事一つ一つに、

その仕事専用の小さなソフトウェアを置く。

そして、そのソフトウェアを作るコストより、面倒を我慢するコストのほうが高くなった瞬間に作る。

今日、私は食費を測りたかっただけだった。

だからChatGPTと話して、家計簿のHTMLを一枚作った。

そこから、

「Excelを入力画面にする必要、そもそもなかったのでは?」

と気づいた。

もしかすると生成AIが消していくものの一つは、

「システム化するほどではないから、仕方なく人間がやる仕事」

なのかもしれない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?