宇宙を舞台にした経済シミュレーションを、個人が作って公開した

海外の技術系コミュニティに、ひとつのプロジェクトが公開されました。宇宙を舞台にした経済シミュレーションで、作者はこう説明しています。何ひとつ台本が書かれていない、と。

このシミュレーションの中では、数百隻の宇宙船が飛び回っています。ただし、それぞれの船の動きはあらかじめ決められていません。船は自分で状況を見て、いま一番もうかる交易ルートを探したり、輸送契約を引き受けたり、燃料を補給したり、造船所で装備を積み替えたり、乗組員の士気が落ちきる前に港に寄って休ませたりします。すべて船自身の判断です。

市場も生きています。物の値段は供給量から自動的に決まり、品不足になれば緊急度に応じた上乗せが乗ります。国家にあたる勢力は税をかけたり補助金を出したりします。住民は不満がたまると別の星へ移住します。資金が尽きた宇宙ステーションは見捨てられ、そのまま朽ちていきます。

作者は率直に書いています。ここまで作れたのは、多くの部分をClaudeと組んで進めたからだ、と。しかも途中でひと山越えています。最初はElixirという言語で試作していたのですが、一般的なWindowsのパソコンでは動きが重かった。そこでClaudeに頼んで、エンジンの中身をRustという別の言語で丸ごと書き直させたそうです。土台の作り直しです。個人の趣味プロジェクトが、途中で土台ごと作り直すという判断を実際に実行しきったこと、これがこのニュースのいちばん重い部分です。

ここで一度、言葉の補足をしておきます。Elixir、Rustというのはどちらもプログラムを書くための言語の名前です。日本語と英語くらい別物で、普通は途中で乗り換えません。書き直しに数か月かかるのが当たり前だったからです。

何が起きたのか、技術を抜きにして説明する

技術用語を全部外して、この出来事を言い換えてみます。

ひとりの人が、複雑な経済のミニチュアを作りました。そのミニチュアの中では、数百の登場人物がそれぞれ勝手に損得を計算して動きます。誰かが全部を指示しているわけではない。にもかかわらず、価格が動き、街が栄え、街が滅びます。そして、そのミニチュアを動かす土台の作りが気に入らなかったので、途中で土台を全部作り直した。ここまでを、本業のかたわらでひとりでやった。

これまでこの種のものを作るには、専門のチームと年単位の時間が必要でした。ゲーム会社が何十人がかりでやるような仕事です。それが個人の手の中に降りてきています。

もうひとつ、目立たないけれど大事な変化があります。作者は、船の判断のさせ方に「目標から逆算して手順を組み立てる」やり方を採用しています。何をするかを一つひとつ書き並べるのではなく、いまの状態と、望ましい状態を書いておく。あとは船が自分で道筋を考える。しかも飛んでいる途中でもっと良い選択肢が見つかれば、その場で計画を立て直します。

指示を全部書き並べる作り方から、望ましい状態を書いて残りは任せる作り方へ、重心が移っている。これはソフトの話であると同時に、仕事の任せ方の話でもあります。

仕事の任せ方の2つの型

非エンジニアのあなたにとって、これは何の話なのか

ゲームの話でしょう、と流したくなるところです。実際、作者本人もこれはまだゲームではなくサンドボックス、つまり砂場だと書いています。目的も勝利条件もありません。

それでも私が取り上げるのは、ここで起きた2つのことが、中小企業の日々の意思決定にそのまま重なるからです。

ひとつめ。「たくさんの主体がそれぞれ勝手に判断した結果、全体がどうなるか」を試せるようになったということ。これは商売そのものです。20人のスタッフがそれぞれの都合でシフト希望を出す。300人のお客さんがそれぞれの財布事情で買う買わないを決める。5社の競合がそれぞれの都合で値段を動かす。その全部が絡んだ結果として、来月の売上が決まります。エクセルの表計算は、平均値の未来しか教えてくれません。ひとりひとりが勝手に動いた結果は、平均とは違う形になります。

ふたつめ。作り直しが安くなったということ。これは道具選びの心理を変えます。従来は、最初の選択を間違えたら終わりでした。だから慎重になり、比較検討に3か月かけ、結局何も始まらない。作り直しが安いなら、まず粗く作って動かし、間違っていたら直す、という順番が成立します。私が中小企業の現場で見てきた失敗の多くは、技術の失敗ではなく、決めきれずに時間だけ溶かした失敗です。

この出来事の実利は、宇宙船ではなく、間違えても巻き戻せるという前提が手に入ったことにあります。

念のため書いておくと、これは「誰でも同じものが作れる」という話ではありません。作者は明らかに技術の素地がある人です。ただ、素地がある人が数か月かけていた仕事が数週間になった、という変化は、素地がない人にとっても意味を持ちます。あなたが作れるものの難易度も、同じ倍率で上がっているからです。

業種別に、どう効いてくるかを具体的に考える

抽象論のままでは動けないので、3つの現場に落として書きます。

従業員25名の飲食店グループ、シフトと食材ロスの場合

3店舗を回している飲食店で、店長が毎週いちばん時間を取られているのがシフト作成と発注です。スタッフ25名それぞれに希望と得意な時間帯があり、繁忙は天気と近隣のイベントで揺れます。いまは店長の勘です。

ここでシミュレーションが効きます。過去1年の日別売上、曜日、天気、近隣イベントの有無をCSVに落とし、そこから「この条件の日は客数がこれくらい」という関係をClaudeに読ませて、来月30日分の客数を何十通りも生成させます。ひと通りの予測ではなく、上振れ下振れを含めた分布を作るのがポイントです。そのうえで、今のシフト案と、人を1名減らした案、ピーク帯だけ1名足した案の3つを、それぞれ30日分の全パターンにぶつけます。結果として出るのは「案Bは平均利益が月4万円高いが、10回に1回は回らなくなって客を逃す」といった形の答えです。店長の勘は平均については正しいことが多いのですが、10回に1回の破綻を見落とします。そこだけを機械に補わせる。食材発注も同じ構造で、廃棄ロスと欠品のどちらをどれだけ許容するかを数字で決められるようになります。

社員8名のBtoB向けソフト販売会社、営業の配分の場合

営業3名で、リード、つまり問い合わせをくれた見込み客を追いかけている会社を考えます。月に60件のリードが来て、大企業からの引き合いもあれば個人事業主からの相談もある。3名の時間は有限です。

いま多くの会社が使っているのは「大きい案件から順に追う」という単純な決まりです。しかし実際には、大型案件は決まるまでに5か月かかり、途中で失注する確率も高い。小型案件は1か月で決まるが単価が低い。どちらにどれだけ人を割くのが正解かは、単価と成約率と所要期間の3つが絡むので、頭では解けません。

ここで、リード60件それぞれが「規模」「業種」「問い合わせ経路」を持った独立の存在として振る舞うモデルを組みます。それぞれに過去実績から出した成約率と平均日数を持たせ、営業3名の稼働時間を制約として、配分ルールを何通りか試します。全部大型に張る、半々にする、まず小型を早く決めて資金を作ってから大型に張る。それぞれで12か月回して、年間の受注額と月々の資金繰りの両方を見る。私が見てきた範囲では、この手の会社は「小型を早く決めて足元を固めつつ、大型は2件だけに絞る」が強いことが多いのですが、大事なのは一般論ではなく自社の数字で確かめることです。

従業員40名の製造業、値上げをどこまでやれるかの場合

原材料が上がって、値上げを検討している金属加工の会社を考えます。取引先は30社。値上げすれば利益率は戻るが、何社かは離れます。何社離れると赤字になるのか。それが分からないから、結局5パーセントだけ上げてお茶を濁す、というのがよくある結末です。

ここでも同じ手が使えます。取引先30社を、それぞれ取引額、取引年数、代替業者の見つけやすさ、過去の価格交渉の反応という属性を持った存在として並べます。値上げ幅ごとに、各社が離脱する確率を設定する。この確率は当てずっぽうでは意味がないので、営業担当3名に「この会社に8パーセント上げたら離れると思うか」を10段階で聞いて、その平均を初期値に使います。そのうえで、5パーセント、8パーセント、12パーセントの3案を、それぞれ1000回試行します。出てくるのは「12パーセントなら平均利益は最大だが、上位2社が同時に離れる年が全体の15パーセントあり、その年は赤字」という形の答えです。ここまで見えれば、上位2社にだけ先に説明に行く、という打ち手が自然に出てきます。値上げの意思決定が、度胸の問題から、段取りの問題に変わります。

従業員12名の会計事務所、繁忙期の受注量の場合

もう1業種だけ。会計事務所は3月と5月に負荷が集中します。何件まで顧問先を増やせるかは、平均処理時間ではなく、同時に締切が重なったときに何が起きるかで決まります。顧問先それぞれに決算月と作業量のばらつきを持たせて1年回すと、「あと8件までは回るが、9件目からは残業が月40時間を超える月が出る」といった限界点が見えます。採用のタイミングを、感覚ではなく限界点から逆算できるようになります。

そのまま使える実践手順

では、非エンジニアの方が明日から何をやればいいか。Claude Codeを使った最短の手順を書きます。Claude Codeというのは、パソコンの中のファイルを直接読み書きしながら作業してくれるClaudeのことです。

業務シミュレーションを作る5ステップ

第1ステップ、決めたい判断をひとつに絞ります。ここが最重要です。「経営をシミュレーションしたい」では何も作れません。「来月のシフトを何人体制にするか」「値上げを何パーセントにするか」まで絞ります。判断がひとつなら、必要なデータも自然に決まります。

第2ステップ、過去データをCSVで用意します。会計ソフトやPOSからエクスポートするだけで構いません。列名が日本語でも大丈夫です。1年分あれば十分で、なければ半年でも始められます。

第3ステップ、ばらつきの前提を人が決めます。これが機械に任せてはいけない部分です。「客数は平日で上下30パーセント振れる」「この取引先は8パーセント上げると3割の確率で離れる」といった数字は、あなたと現場の担当者が決めます。根拠が薄くても構いません。書き出して合意することに意味があります。

第4ステップ、Claudeに投げます。こう頼めば動きます。

(コピーして使えるプロンプト:) 添付のCSVは当店の過去1年の日別売上と客数です。これをもとに、来月30日分の客数を1000パターン生成し、次の3つのシフト案それぞれについて、月間の粗利と、人手が足りずに機会損失が出た日数を計算するPythonスクリプトを書いて実行してください。案A:現行どおり1日6名。案B:1日5名。案C:平日5名・金土7名。結果は3案の比較表と、粗利の分布がわかるグラフで出してください。前提として置いた仮定は最後に箇条書きで列挙してください。

最後の一文が効きます。どんな仮定を置いたかを吐き出させることで、あなたが検算できるようになります。

第5ステップ、出てきた分布を見て意思決定し、1か月後に実績と突き合わせます。外れていたら第3ステップの前提を直す。この往復を3回やると、そこそこ信用できる道具になります。

最初の1本は1日で作れます。完璧を目指さず、粗い1本を回すことを優先してください。

注意点と、よくある誤解

いくつか、はっきり書いておきたいことがあります。

まず、シミュレーションは未来を当てる装置ではありません。ここを誤解すると必ず失望します。これは「この判断をしたら、悪いときにどれくらい悪いか」を見るための装置です。平均値は当たらなくていい。最悪ケースの形が分かれば、それだけで意思決定は変わります。

次に、入れた前提が間違っていれば出てくる答えも間違います。当たり前の話ですが、画面にグラフが出ると人は信じてしまいます。だから前提を必ず紙に書き出して、社内の別の人に見せてください。私は、数字よりも「この前提、本当にそう思う?」という会話のほうに価値があると考えています。

三つめ。全部を自動で判断させないでください。冒頭の宇宙船は自分で判断して勝手に動きますが、あれは遊びだから成立します。実務では、シミュレーションはあくまで材料を出すところまでで、決めるのは人です。特に、値上げ、人の配置、取引の打ち切りといった、相手のいる判断を機械の出力に直結させるのは避けるべきです。

四つめ。データが少ないから無理、と思わないこと。取引先30社、社員25名といった規模は、統計としては少なすぎますが、シミュレーションとしてはむしろ扱いやすい規模です。ひとりひとりを個別に書き出せるからです。大企業のほうがこの手法は難しい。

五つめ。作れる人がいないと維持できないのでは、という懸念。これは半分正しく、半分は変わりました。冒頭の作者が土台を丸ごと作り直せたように、いまは中身を書き直すコストが下がっています。誰かが辞めても、CSVと前提のメモさえ残っていれば作り直せます。守るべきはコードではなく、データと前提の記録です。

シミュレーションを導入して失敗する会社のほとんどは、道具で失敗するのではなく、前提を紙に残さなかったことで失敗します。

この変化を、経営者としてどう受け止めるか

最後に、少し引いた話をします。

冒頭のプロジェクトで、私がいちばん引っかかったのは技術の中身ではなく、作者の態度でした。目的も勝利条件もない砂場のまま公開して、誰か気に入った人が引き継いでくれてもいいし、このままAIが吐いた出来損ないとして終わってもいい、と書いている。それでいて、シミュレーションの土台としてはもう十分いい形になっていると思う、とも書いています。

完成させないまま出す。この身軽さが、作るコストが下がった時代の作法だと思います。

中小企業の現場に持ち帰るとこうなります。これまでは、システムを入れるとなれば、要件を固めて、見積もりを取って、半年かけて、失敗できないという前提で進めてきました。その前提が緩みます。1日で粗いものを作り、2週間使ってみて、違ったら捨てる。捨てるコストが、以前の見積もり作業より安い。

私が相談を受けるなかで増えているのは、この身軽な作り方に切り替えたいが、社内に判断できる人がいないという声です。技術の問題ではなく、どこまでを機械にやらせ、どこから先を人が決めるかという線引きの問題です。線引きさえ決まれば、あとの作業は思っているより簡単に片づきます。

作るコストが下がった以上、今いちばん高くつくのは、作らずに検討し続けることです。

まとめ

ひとりの開発者が、数百の登場人物がそれぞれ勝手に判断して動く経済シミュレーションを、Claudeと組んで作り上げ、途中で土台を別の言語に丸ごと作り直しました。趣味のプロジェクトです。

ただ、そこで起きたことは、あなたの会社にも同じ形で降りてきています。たくさんの人や取引先がそれぞれ勝手に動いた結果として何が起きるかを、自分の数字で試せるようになったこと。そして、作ったものが気に入らなければ作り直せるようになったこと。

シフトの人数、値上げの幅、営業の配分、採用のタイミング。どれも、平均値の計算では答えが出ず、勘に頼ってきた判断です。そこに「悪いときにどれくらい悪いか」という材料を足すだけで、会議の質が変わります。

始め方はひとつだけ覚えてください。決めたい判断をひとつに絞り、過去のCSVを用意し、前提を紙に書き、1000回まわす。それだけです。


自分の会社のどの判断からシミュレーションに載せるべきか、手元のデータで足りるのか。30分あれば当たりをつけられます。Claude Worksの無料30分相談で、あなたの業種と規模に合わせて一緒に整理しましょう。