本文へスキップ
ブクドリ | BOOK DRIP
戻る

#100日チャレンジ 毎日連続100本アプリを作ったら人生が変わった 大塚あみ

『#100日チャレンジ 毎日連続100本アプリを作ったら人生が変わった』大塚あみ|「サボりたい」から国際学会まで

学習・インプット 大塚あみ
約7分で読めます

※ 本記事はアフィリエイトリンク(Amazonアソシエイト)を含みます。

この本の全体像
『#100日チャレンジ 毎日連続100本アプリを作ったら人生が変わった』の図解

本の結論

著者は100日で、関数しか書けない初心者から、デザインパターンを設計から主導する人へと成長しました。

明日やること

SNSで『〇〇を100日続ける』と宣言して退路を断ち、不格好でいいから今日ぶんのアウトプットを一つ公開する

効く悩み

  • 入門書を写経するだけで飽きて、いつも数時間で挫折する
  • ChatGPTに何を頼めばいいか分からず、うまく答えを引き出せない
  • 面倒くさがりで、何を始めても三日坊主で終わってしまう

読むべき人

  • AIを使って何か作ってみたい初心者・独学者
  • 継続が苦手で、続く仕組みを探している人

読まなくていい人

  • 体系的なプログラミングの教科書を求める人
  • 誰でも再現できる成功法則を期待する人
目次

授業中、教授の話も聞かずにこっそりオセロを作っていた女子大生がいます。その落書きのようなゲームは講師の目に留まり、叱られるどころか話が転がって、100日後には彼女をスペインの国際学会の壇上に立たせることになります。

『#100日チャレンジ』は、経済学部で「いかに授業をサボるか」ばかり考えていた大塚あみが、ChatGPTと出会って100日間毎日アプリを作り続けた記録です。

断っておくと、これは根性や努力の美談ではありません。「面倒くさい」「手を抜きたい」という等身大の感情から出発する、少し変わった成長ドキュメンタリーです。

そもそも一人では勉強が続かなかった著者は、X(旧Twitter)で見た「#いいねの数だけ勉強する」という投稿をヒントに、毎日アプリをSNSで公開して自分を追い込む仕組みをこしらえました。

やり遂げれば、いずれフリーランスとして独立するときに実力の証明になる——そんな打算もありました。意志の力に頼るのではなく、逃げられない強制力を外側に設計してから走り出します。

この段取りの巧さが、まず読みどころになります。

図解

950時間・5万行・8,123プロンプトが刻んだ成長曲線

この節の要点

著者は100日で、関数しか書けない初心者から、デザインパターンを設計から主導する人へと成長しました。

チャレンジ開始前の腕前は、VBAの授業で数当てゲームを2時間かけて作れる程度。JavaScriptの入門書は数時間で投げ出しています。要するにほぼ初心者です。

そこから100日で約950時間を注ぎ、5万行を超えるコードを書き、ChatGPTへ8,123個のプロンプトを送りました。関数しか書けなかった人が、最後にはデザインパターンを設計から主導するまでになります。

この技術の伸びと、心の変化を同じ画面で追えるのが、本書のいちばんの面白さです。

技術の伸び方はきれいな階段になっています。テキストで盤面を出すだけの単純な関数から始まり、当たり判定のアルゴリズム(AABB)、データと機能を束ねる「クラス」、ゲームの状態を切り分ける「Stateパターン」を経て、再利用可能な設計のひな型であるデザインパターンへ。

途中、Javaで名を馳せた丸山先生のセミナーで釘を刺される場面が効いています。生成AIを本当に使いこなすには数学の土台が要る、と。実際、砲弾の軌道にはニュートンの運動方程式が、図形の回転にはアフィン変換が必要でした。

AIがコードを吐いても、それを読んで直せるかどうかは結局こちらの理解に懸かっているという指摘は、本書の芯の一つです。

面白いのは、成長が速すぎるがゆえの逆説も正直に書かれている点です。著者は使い回すつもりで汎用ボタンを20時間かけて作り込みましたが、他の作品ではほとんど再利用できませんでした。

今のスキルで一から書き直したほうが、読みやすく、しかも30分で済んでしまいます。過去の自作が「ゴミ」に見えるのは、それだけ前に進んだ証拠——という開き直りには、独学者を励ます力があります。

効率だけを見れば失敗ですが、成長の物差しとして見れば大成功なのです。

サボるための工夫が、プロンプトの本質を突く「精神注入法」

この節の要点

AIに自分のペルソナまで具体的に渡す「精神注入法」が、機械臭のない文章を生みました。

物語はプロローグから既にひねくれています。著者が最初にChatGPTを触った目的は、レポート課題をサボることでした。ところがAIに書かせた文章は無機質で、個人の視点がなく、そのまま出せば一発でバレます。

そこで編み出したのが「スピリット・インジェクション・メソッド(精神注入法)」です。

すると出力から機械臭が抜け、人間味のある文章になります。

サボるための小細工が、そのままプロンプトエンジニアリングの核心——文脈と役割をどれだけ具体的に渡せるか——を突いていました。ここは笑い話に見えて、実は本書でいちばん実用的な発見かもしれません。

多くの人がAIに「良い質問」を探して消耗するなか、彼女は自分という素材を渡すことで質を上げました。後の学会発表も、元をたどればこの一件が起点になっています。

「手を抜くことに全力を尽くす」怠け癖が、才能に反転する

この節の要点

「面倒なことをしたくない」という怠け癖こそが、プログラミングの強い動機であり、才能に反転しました。

本書でもっとも視点が変わるのはこの一点です。著者は自分を「手を抜くことに全力を尽くすタイプ」だと分析します。一見ただの怠け癖ですが、この「面倒なことをしたくない」という衝動こそが、プログラミングの強い動機になりました。

象徴的なのがトランプゲームの制作で、53枚の画像ファイルの名前を手で変えるのが嫌でたまらず、一括変更のプログラムをAIに書かせて一瞬で片づけます。

面倒を避けるために全力でコードを書く——それは自動化と再利用という、プログラミングの根幹そのものです。周囲の大人たちはこの姿勢を、怠けではなく「才能」だと評価しました。

欠点だと思い込んでいたものが、武器に反転する瞬間です。自分の性格を直そうとするより、その偏りが力になる場所を探すほうが早い——そう言い換えてもいいでしょう。

同じ精神は、続け方にも通じています。著者が好むのは「Fake it till you make it(できるふりをして、できるようになる)」という言葉です。

最初から完璧を狙わず、不格好でも動くものを毎日出します。初日のオセロは画像が切り替わるだけの代物で、Day4には早くもストックが尽き、自信を失いかけます。

それでも「昨日より1%だけよくできれば未来は変わる」と自分に言い聞かせて続けた結果、最終日のオセロはアニメーションもデザインも別物になっていた。

1%の複利は、100日でこれほどの差を生む。裏を返せば、毎日ゼロから一定水準の作品を出し続けるのは相当な負荷で、続いた本当の理由は根性ではなく、興味を切らさない工夫のほうにあったと読めます。

ChatGPTは「解答機」ではなく「補助線」だと気づくまで

この節の要点

AIは最短の解を示してくれますが、それがシステム全体を見据えた最適解かどうかは、自分にしか判断できません。

AIとの距離の取り方も、100日で大きく変わります。当初の著者は行き当たりばったりに丸投げし、返ってきたコードをそのまま貼ろうとしていました。ですが複雑なアプリではそれでは動きません。

次第に「答えを予想しながら具体的に問う」「中身を吟味して取捨選択する」使い方へ移っていきます。たどり着いた結論は、ChatGPTは使い手の能力以上のことはできない、というものでした。

支えになったのが、記録の習慣です。著者はうまくいった指示や出たエラー、覚えた用語を、メモ同士を相互にリンクさせるツェッテルカステン(Zettelkasten)という手法で「外部記憶」としてため込んでいきました。

8,123という数字が単なる試行回数ではなく蓄積として効いてくるのは、この地道な資産化があるからです。だから彼女はAIを「補助線」と呼びます。制作を設計し監督するのは人間で、AIはそこに引かれる補助の線にすぎません。

仕事を奪われるかを心配するより、人間が上流工程、つまり設計とアイデア出しに立ちます。凡庸に響くかもしれませんが、8,123回の試行の末に本人の手で掴んだ結論だからこそ、重みがあります。

進路選択でも同じ姿勢が出ます。就活で自己PRを歪められるのを嫌っていた著者は、最後は感情のままに選ぶのではなく理性で最適解を選ぶと割り切り、IT企業にエンジニアとして就職する道を選びました。

「面倒くさい」と思った瞬間を、そのまま学びの入り口にする

やってみること

SNSで100日宣言をして退路を断ち、面倒な作業をAIで小さなツールに変え、うまくいった指示をメモに残しましょう。

本書を読み手の行動に落とすと、輪郭は驚くほどシンプルになります。

宣言する
完璧に準備してからではなく、SNSで「〇〇を100日やる」と宣言して退路を断ちます。最初はハリボテで構わないから、毎日ひとつアウトプットを外に出します。
面倒を相談する
日常で「面倒だ」と感じた作業——資料の要約、ファイルの整理、名前の一括変更——を見つけたら、我慢する前にAIへ「どう効率化できるか」を相談し、実際に小さなツールに変えてみます。サボりたいと感じた瞬間こそ、自動化を学ぶ絶好のチャンスだからです。
記録する
うまくいった指示や出たエラーは、そのつどメモに残しておきます。単発のやりとりで消費して終わらせず、後から引ける形でため込んでおきます。派手さはありませんが、この記録の積み上げが、三日目に折れそうな自分を静かに支える土台になります。

意志で歯を食いしばるのではなく、続かざるを得ない仕組みと、面倒を武器に変える習慣を先に用意しておきます。本書の実用性は、この一点に集約されています。

一つの落書きが書籍と受賞に連鎖した——ただし再現性には注釈が要る

この節の要点

一つの落書きは人の紹介の連鎖で学会発表と出版につながりましたが、同じ成果を独学だけで再現するのは容易ではありません。

この100日は、著者一人では完結していません。授業中のオセロを見つけた佐々木先生が大学の伊藤先生へ紹介し、伊藤先生が学会発表を後押しします。ASCII.jpに連載を持つ元編集長・遠藤さんが古典ゲームの制作を勧め、書いたインタビュー記事を公開すると、それがアクセス首位を取り、編集者の紹介を経て本書の出版へつながりました。

著者は電子情報通信学会やIEEE CogInfoCom 2024で発表して奨励賞や審査員特別賞を受け、スペイン・カナリア諸島の国際学会Eurocast2024にも立ちました。

授業中の落書きが、ここまで転がっていったわけです。

ただし、手放しで真似できる話ではありません。ここは正直に線を引いておきたいと思います。著者は「数学が苦手」と言いつつ微分方程式やアフィン変換を素早く実装へ落とせる地頭の持ち主で、要所で優れたメンターにも恵まれています。

同じ成果を独学だけで再現するのは容易ではありません。それでも、不完全なまま出す、手を抜きたい気持ちを自動化の燃料にする、AIを解答機ではなく補助線として扱う——この三つの構えは、地頭やメンターと無関係に、今日から誰でも真似できます。

100日を終えた著者の結論も、拍子抜けするほど素朴でした。継続とは歯を食いしばる苦行ではなく、日々の小さな興味を追ううちに生活へ溶け込む習慣なのだ、と。

三日坊主が怖くて動けないなら、まず昨日より1%だけ進む一手を、今日ひとつ決めればいいのです。

明日の1アクション

SNSで『〇〇を100日続ける』と宣言して退路を断ち、不格好でいいから今日ぶんのアウトプットを一つ公開する


この記事をシェア:

次に読む一冊

同じテーマを、もう一段深く考えるための一冊です。

学習・インプット『ChatGPT英語学習術』山田優|AIを「翻訳機」から「最強の英語コーチ」に変える3つの武器「ChatGPTに英語を聞いた。翻訳も頼んだ。単語の意味も調べた。──なのに、英語力は1ミリも上がっていなかった。」『ChatGPT英語学習術』(山田優)の要約。