Skip to main content

100日チャレンジ

リンク

何の本だったか

  • 大学生が授業の課題で、ChatGPT を使ってアプリを作ってみたら教授に気に入られて学会で話すことになった
  • ChatGPT を使って100日連続でアプリを作る宣言を SNS でして、全うした
  • その過程で出てくるいろいろ

感想メモ

全体

ChatGPT を使って文章やサンプルコード書いたり推敲したりをしていたところだったので、
ほかのひとの活用事例としてイメージがしやすくなったのは、良かった。

読み中の感想

  • すがすがしいくずみたいな序章だ
  • さらっと、地頭というか本人のポテンシャルが すごいことの片鱗を書いているので、「野生の何か」という印象を持ちながら読んだ
  • 学生の感じた感覚(「先生は意外とすごい人かも」とか)や先生との関係性がそのまま出ているので楽しく読める

関連書籍

本文で出てきた ツェッテルカステン は真似してみようかと思った。
で本から入る..

引用メモ

引用とそれぞれの感想

佐々木先生はさらにAIのトレンドや未来について語っていたが、私はゲームをしていてあまり覚えていない。

→ クズだ (ということにしている感じだが)

パソコン利用者向けの部屋 CITRAS

→ 中大

課題の答えを聞くような質問に ChatGPT は答えてくれない
「そうだ、先生の視点で質問してみよう」
「学生がレポート課題をサボる主な手口を教えて」

→ 賢い

ChatGPTが生成した文章は、ゴミサイトの記事と比べて何が明確に違うのか? 答えはすぐに分かった。AIが生成した文章には「個人的な感想」や「経験」が全く含まれていないのだ。

→ なるほど

「自分のペルソナ」をChatGPTに組み込んでみたらどうだろう? つまり、私自身の経験や感想をあらかじめ設定し、それに基づいて文章を生成させれば、もっと自然で人間らしいレポートになるのではないか?

→ そうやって使えば良いのか

私はいつも通りの席に座り、スマホを取り出してゲームを始めた。授業が始まるまでの時間は、こうして過ごすのが習慣になっている。いや、始まってからも、やっている気がするけれど……。

→ やはりクズだ(ということにしてる感じ)

そもそも研究というより、「授業をサボってオセロを作った話」だった。

→ そういう感覚か。でも研究というのはそういうものかもしれない?

私は文章を書くのは得意ではない。レポートを書きたくなかったからわざわざ自分のペルソナを反映させた文章をChatGPTで作る手法を編み出したのだ(私はこの手法に「スピリット・インジェクション・メソッド」と名づけた)。

→ おもろい

実際のところ、大学の授業は、自ら編み出した「スピリット・インジェクション・メソッド」で対応できる授業しか受けていないので、

→ 手を抜くための戦略がしっかりしているということ

私は、“Fake it till you make it”という言葉が好きだ。日本語にすると「成功するまで成功者のふりを装う」という意味になる。

→ どういう指針をもってやっているのかが分かって良い

フードコートのいいところは、ほどよく雑音があること。子どもが騒いでいたり、コーヒーマシンが鳴っていたりするけれど、それが逆に集中力を高めてくれる。

→ 分かるような

スクリーンショットを撮って、あたかもゲームが完成したかのように装う。

→ 一貫した指針

経済学部

→ ってこんな感じなのか

「でも、このメモ、ただのメモじゃないんです。『Zettelkasten』っていう、メモ同士をリンクさせる手法があって、それを参考にして作ったものなんです」

→ メモを整理するくだり。このアプリは Obsidian だろうか
→ この辺も片鱗のひとつ

「最近は毎日朝から晩まで大学に来てプログラミングをしています。企画が忙しくて、カフェテリアを自習室みたいに使っているんです」
軽く笑いながら言うと、先生は私をじっと見つめた。
「そのくらい学習するのが本来の大学生のあるべき姿なんだけどね。今の学生たちは、どうしてもっと努力しようとしないんだろう?」
一瞬、息が詰まる。私が努力とは無縁であることを先生は知っているのか……。

→ 意識して努力するのでないということ

「プログラマーとエンジニアって、そんなに違うんですか?」
そう尋ねると、先生は頷いた。
「プログラマーは、与えられたタスクに対してコードを書いて、動くものを作る。でも、エンジニアはそれだけじゃない。システム全体を見渡し、効率的なアルゴリズムを選定し、どのようにしてそのシステムを実現して拡張できるか、長期間にわたって運用できるかを考えなければならない。そのためには、数学や論理学の知識が欠かせないんだ」

→ ちょっと物議を醸しそう

「いや、カフェでプログラムを書いていたんですけど、1時間で追い出されちゃって」

→ 不謹慎ネタ

Java の分野で一世を風靡したという丸山先生

→ 丸山不二夫。日本Javaユーザ会や日本Androidの会の初代会長

1日に1万行を超えるコードを生成し、その中からわずか400行程度のゲームやツールを削り出す。まるで芸術家の創作活動のようも思える

→ なるほどそういう捉え方も
→ 作っては捨てしてる自分も

プログラマーはサボるために全力を尽くすものだ

→ そのように行動しておきながら。言われて実感するという

「前に見せてくれた、Matplotlib で作ったオセロ、あれは傑作だったよ。あれから何十人もの学生を見ているけれど、Matplotlib でゲームを作ろうとする学生はいないね」

→ 新鮮

2人の言葉を聞いているうちに、心の中で何かが変わっていくのを感じた。自分がただの怠けだと思っていた「手を抜くために全力を尽くす」姿勢。それを「プログラマーの本質」や「才能」だと言われると、自分の中での評価が少し変わった気がした。

→ これは 12/03 の話

「Sler がどうやって利益を上げるか、知っているかい?彼らは、一度作ったシステムやその部品を、別の仕事でも再利用できるように設計することによって、作業量を減らし、開発効率をできる限り高めているんだ。 同じ機能をゼロから作るより、既存のものを少しカスタマイズして使った方が、はるかにコストが抑えられるし、バグも少なくなるからね。それがビジネスとしても重要なポイントなんだ」

→ まあそう。耳が痛いかも

私は思わず聞き返した。スペイン?国際学会?そんな話を聞いた覚えはない。いや、そういえば10月頃、「スペインに行きたい?」と軽く聞かれ、何気なく「行きたいです」と答えたような。まさか本気だとは思わなかった。

→ ちょっと面白い。

英語に不安はない。コロナで外出できなかった時期、毎日のように海外のネットゲームコミュニティに参加していたおかげで、自然と英語が話せるようになった。

→ この例のように、さらっと地の出来るところが出てくるので、「学歴で測れない野生の何か」的な印象を持って読んでた

再利用を前提として作った部品が実際には役に立たない。それは、なぜ?
理由はすぐに分かった。プログラマーとしての私の成長曲線が、作り置きの部品のありがたさを上回っているのだ。2週間前に 20時間かけて作ったボタンクラスを例にとると、今なら 30分もかからずにもっといいものが作れる。作り直した方が、機能に優れ読みやすいものが手に入るのだ。

→ 良い分析だし、かっこいいこと言う

社会貢献や成長なんて言葉を振りかざし、人の労力や時間を費させるのは必善者やブラック企業の常套手段だ。そういう世間的によく言われていることではなく、もっと本質的なことを知りたかった。
「その社会貢献とか大学の責務とか、そういうのは正直どうでもよくて、私自身にとってどんな意味があるのかを知りたいんです」

→ 就活の頃にポリシーを持って物事を見ているのだなと。学生の頃にそんなこと考えてなかったなと

「この調子で100日目まで駆け抜け、論文を書こう」私はそう心の中で呟くと、床に毛布をき、寝転がりながら過去のメモを読み始めた。

→ これは別におどけて言っている訳ではなさそう

一方、私の心のどこかで何かが折れた気がした。自分の未来を放棄する代わりに、誰かの期待に応える。そうして社会に適応していくのかもしれない。

→ 就活の頃の話その2

「面接で落とされると・・・・・・どうなるんですか?」
「面接に落ち続けて競験活動が長引くと自己PR の原型がどんどん失われていき、次第に別人のような自己PRになる人もいる」

→ 怪談みたいな論調の実際の話だろう

意外にすごい人かも

→ 教授に対してこの発言。学生の感じたことそのままが出版されている温度感が面白い

「日本が好きで離れたくないなら別だが、君はずっとパソコンの中で生きているし英語も話せるから、海外に行ってもやっていけるだろう」
「そうだ。だから、卒業したらいったん就職し、修士を飛ばして博士課程に入るといいと思う」
「博士課程は、修士を出ていなくても入れる。ただし、修士を飛ばすためには社会人経験が1年必要で卒業から2年経っていることと、修止相当の実績を持っている必要がある。今からそれまでに、文をいくつか書いておけば、君なら入れると思う」
「それに、修士は授業を受けないといけないから、君には無理だ。修士を飛ばして、働きながら学位が取れる博士に入った方がいい」

→ 先生が学生のキャラクターを分かってアドバイスしている関係が見れてよい
→ たぶん、こういうところだろうな、楽しく読めたのは

ふと思い出したのは、私が管理しているDiscordのコミュニティだ。現在 80人ほどのゲーマーが集まっている。私が設立し、Xで人を集めて大きくした。しかし、実際に私が何か特別なことをする場面はほとんどない。基本的には方針やルールを決めたり段取りをつけたりして指示を出し、他のメンバーにやらせるだけ。
ルールに基づいて行動してくれるので、トラブルが起きても、私自身が動くことは少ない。どうしようもない大きな問題でもなければ、指示を出すだけで済む。

→ またさらっと片鱗を見せる
→ こういう話こそ就職面接では受けそうな気もするが、それは使わないようだ

「大学の授業での発表で、チームメンバー全員と協力して発表を成功させた経験があります。私は主に進行役として、メンバーの意見をまとめ、発表の構成をえました。スケジュール管理や進捗確認も担当し、最終的には教授から高評価をもらうことができました」
8割は嘘だ。実際には私の少ない発表経験からありそうな話を想像して話しているだけ。罪悪感なんてものはとくにない。ただ、世間が形式的に答えの決まっている質問を繰り返し、真実よりも「それっぽい」話を求めることに、少し呆れている。

→ 実際そんなものなんだろうか

「私がサポートできるのは、何かをやり始めた人に対してだけだ。何も考えない人には適切な手助けができない」

→ 至極まっとう

ChatGPT はいつも私を助けてくれるけれど、試行錯を指示し、その内容を確認し、制作をどこで終わらせるかを意思決定するのは、私しかいない。
また、ブログラムの規模が大きくなるについて、全体を最適化できるのは私しかいない、という意識も強くなった。
「ChatGPT は最短の解決策を教えてくれるかもしれないけれど、それが全体を見通した最適解かどうかは私しか判断できない」

→ やってみて分かる AI との付き合い方、という感じでとても説得力があり

「継続とは苦行ではなく、習慣として楽しむものだ」

→ これも書いてあること自体は普通のことだが、説得力がある

「学生にバイトを雇ってほしいと頼まれたのは初めてだ。発表日まで16日もあるじゃないか。なぜ自分でやらないんだ?」
「それは因果関係が間違っています。他人でもできるから自分でやらないんです」

→ また片鱗
→ ところどころで見せる片鱗

こうして私は、100日チャレンジにおけるすべてのプロンプトとその回答をデータベース化するというバイトの監督をしながら、内容の分析に取り組んだ。ちなみに、100日チャレンジでのプロンプトの総数は 8,123個。数日後に私は、これらのブロンプトとその回答を作品ごとに分類してすぐに閲覧できるアプリを作成し、それを先生に渡した。

→ なんとなくボリュームと作業が想像ついてよい

本文内の情報

登場人物

  • 伊藤先生:伊藤 篤 教授
  • 遠藤さん:遠藤 諭 さん。元「月刊アスキー」編集長

単語

言葉メモ
内心忸怩たる思い恥ずかしい / 情けない
ドッグファイトゲーム戦闘機同士が近距離で行う空中戦
Zettelkastenツェッテルカステン
ドイツ語で「メモの箱」という意味
Obsidian などのノートアプリでメモ同士を「双方向リンク」「グラフ構造」でつなげる
ColaboratoryGoogle が提供しているクラウドベースの Python 実行環境
GPA大学などの高等教育機関で学生の成績を数値で評価する指標のこと。
Grade Point Average(成績評価の平均値)の略
NPCNon Player Character
ゲームの AI キャラクターのこと(昔と意味が変わってしまったな)
即行でいままで誤用だと思ってたし漢字は「速攻」だと思ってた
「で」を抜いたら誤用?
仕損品(しそんひん)製造や作業の過程で、正常な製品として完成しなかったもの(不良品)

時系列メモ

  • 04/15 : 授業での 佐々木先生、ChatGPT との出会い
  • 06/08 : 論文発表
  • 09/25 : 後期の授業
  • 10/27 : 100日チャレンジを思いつく。Day1
  • 11/01 : Day 5
  • 11/20 : クラスを使ってみる
  • 12/03 : 手を抜くために全力を尽くす、ことへの気づき

読んだ時期、進捗メモ

通勤時間などにちびちび

  • 読んだ時期
    • 2025/05/12-27
  • 進捗
    • 05/12 10%
    • 05/13 20%
    • 05/14 30%
    • 05/16 43%
    • 05/17 60%
    • 05/20? 78%
    • 05/27 78%-100%