ChatGPTの使い方はあまり考えすぎずに気楽・気軽・適当に使うくらいでちょうどいいんじゃないかと思ってみた件について

最近、誰かのブログで紹介されていたのをきっかけに、大塚あみさんの「#100日チャレンジ 毎日連続100本アプリを作ったら人生が変わった」という本を読むことがありました。

本を読み終えて、自分の中でChatGPTの使い方が少し変化したような気がするので記事にしてみようと思います。

100日連続でゲームやアプリを作るためのChatGPTの活用法は参考になった。

この本は、筆者の大塚あみさんがChatGPTを活用してプログラミングで毎日1本のゲームやアプリを作成してX(旧Twitter)に100日連続で投稿する「#100日チャレンジ」に取り組んだ様子を小説にしたものです。

読む前はChatGPTを使った仕事の効率化の本か何かだと思っていたのですが、数十ページほど読んだあたりで、これは(巷に溢れている)そういった本ではないことに気づきました。

とはいえ、100日連続でプログラミングでゲームやアプリを作成して投稿するにあたって、ChatGPTを使い倒している筆者なので、どういった感じでChatGPT活用していたのかについては割と丁寧に書かれていて、この部分がすごく参考になりました。

本の中でよく見られたChatGPTの使い方に、

  • プログラミングでわからないこと(本の中では主にプログラミングの技術や知識など)がでてきたことをChatGPTに質問する
  • 質問に対するChatGPTの回答に対してさらにわかりやすいように具体的に説明してもらう
  • 自分のやりたいことをとりあえずChatGPTに投げかける(漠然とでもOK)

といったものがありました。読んで感じたことは「先生」と「生徒」のようなだな。ということ。

自分自身のこれまでのChatGPTの使い方といえば、どちらかといえば自分が上(メイン)にいて、その補助をChatGPTにしてもらうような使いかたでしたが、この本を読んでChatGPTが上(先生)で自分が下(生徒または素人)のような使い方もアリだなと考えが広がったような気がします。

本を読んで増えたChatGPTの使い方

読み終えた後に、この本で書かれていたようなChatGPTの使い方って、自分の立場に置き換えたときにはどんな使い方ってどんなだ?と考えてみました。

本の中ではゲームを作成することでプログラムの知識や構造、応用力などをどんどん学んでいく過程が書かれていますが、自分の場合は特にゲームを作成したいわけではないので、そっくりそのまま同じやり方をするのは違うので。

で、手っ取り早く浮かんだのが「(税理士業務で使っている)Excelマクロ」で何かできないか?でした。

このブログでもいくつか自分で作成したプログラムを晒したりしていますが、本を買ったり、ネットで調べたり、YouTubeで動画みたりして独学でExcelマクロを学んできたので、そもそもどれくらい自分はExcelマクロが使えているのか初級レベルなのか、中級レベルなのか今一つ確信がもてないでいました。

自分がどのくらいのレベルにいるのか、今いるレベルよりも、もう一つ上のレベルにいくにはどうすればいいのかをChatGPTに聞いてみたらいいのでは?

そう思って少しChatGPTを触ってみたところ、今までやってこなかった使い方をいくつか見つけることができました。

プログラムを理解できているか、自力でコードを作成できるか問題を出してもらう

1つ目はまずは自分がどのくらいのレベルにいるのかを確認してみることにしました↓

そうするとChatGPTが問題を出してくれます。   

これに回答することでどのくらいのレベルなのかを判定してくれるのでしょう。

この問題、文章だと少しわかりにくいので、Excel形式で表現したのがこちら↓

こんな感じでデータが2000個あって(上の画像では11個しかないけど。)ボタンを押したらC列の合計金額を表示させるマクロを作れ。という問題になります。

作成したプログラムを採点してもらい、改善点の提案をしてもらう

で、下のコードは自分で作成したものですが↓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub total_amount()
 
Dim i As Long
Dim result As Long
 
For i = 2 To 1000
 
    If IsNumeric(Range("c" & i).Value) Then
 
        result = result + Range("c" & i).Value
     
    End If
 
Next i
 
MsgBox "売上金額の合計は【" & result & "】です"
 
End Sub

これをChatGPTに送信すると採点してくれます。結果がこちら↓


採点だけではなくて、プラスアルファの改善点などのアドバイスもくれたりします↓

これを繰り返していくと少しづつ力がつく?かもしれません。

自分が作成したプログラムにコメントをつけて見やすくしてもらう

次に思いついたChatGPTの使い方が、プログラムの「コメント」を付けてもらう。ということです。

Excelマクロには「コメント」といって、コードがどういった内容なのかを説明する文章をつくることができます。

下に記載したコードの3行目や7行目などの緑色の文字の部分がそれで、このコメントはプログラムが実行される時には無視される仕様になっています。

Excelマクロを作っている最中はこのコードがどんな動きをするのか、ある程度は覚えているのでコメントの必要性を感じないことも多いですが、後日見返したときは自分がつくったプログラムでも「さっと」わからないことが多く、自分以外の人が作ったプログラムを使う場合や後々のことを考えると「コメント」は多く記載していたほうがいいと思います。

ですが、このコメントを書くのは正直面倒くさい作業の部類に入ります

簡単なコードであればコメントを書かないこともありますし、どこまでコメントを付すかはその人の能力によるところが大きく、人によってバラバラのような気がします。

そこにChatGPTの力を借りようと考えました。さきほどのコードをChatGPTになげてコメントを付してもらったものがこちら↓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub total_amount()
 
    ' 変数の宣言
    Dim i As Long          ' 行数カウント用
    Dim result As Long     ' 売上金額の合計を格納する変数
 
    ' 2行目から1000行目までループ(1行目は見出しなので除外)
    For i = 2 To 1000
 
        ' C列のセルに数値が入力されているかチェック(空白や文字列は無視)
        If IsNumeric(Range("C" & i).Value) Then
 
            ' 数値の場合は合計に加算
            result = result + Range("C" & i).Value
 
        End If
 
    Next ' 次の行へ
 
    ' 最終的な合計金額をメッセージボックスで表示
    MsgBox "売上金額の合計は【" & result & "】です"
 
End Sub

かなり細かく、丁寧に書かれています。(慣れた人からすると冗長にかんじるくらいかもしれませんが)

こうすることで後々自分が見たときにはコードの内容を再度把握する際の負担感が減ることが期待されます。

正直このくらいの数行のコード(かつ簡単な内容)であればたいしたことはありませんが、数十行、数百行になるとコメントがないと内容の把握がしんどくなるのでこの使い方は個人的にはアリだと思います(なぜ今まで思いつかなかったのか・・・)

基本的な知識や曖昧な理解になっている知識について質問する

ChatGPTが上(先生)で自分が下(生徒または素人)という視点にたった使いかたで、今まで理解できていなかった知識をしっかり理解する手助けにChatGPTを使えるのではないかと感じました。

そこで、Excelマクロで自分が今一つ理解ができていない「function」という考えかたについて質問してみることにしました。

この「function」という考え方が理解できると、再利用性が高い・他のマクロから呼び出せるといったメリットがあるようなのですが、いまいち理解ができないまま今に至っています。

この考え方が理解できれば今より一つ上のレベルになれるような気がします。

ということで、さきほどのコードを書き換えてみます。

とChatGPTに投げて、でてきたコードの例がこちら↓

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
' 売上金額の合計を計算して返す関数
Function GetTotalAmount() As Long
 
    Dim i As Long
    Dim result As Long
 
    ' 2行目から1000行目までループ
    For i = 2 To 1000
 
        ' C列の値が数値かどうか確認
        If IsNumeric(Range("C" & i).Value) Then
 
            ' 数値なら合計に加算
            result = result + Range("C" & i).Value
 
        End If
 
    Next i
 
    ' 関数の戻り値として合計金額を返す
    GetTotalAmount = result
 
End Function
 
' 関数を使って合計金額を表示するサブプロシージャ
Sub ShowTotalAmount()
 
    Dim total As Long
 
    ' 関数を呼び出して合計金額を取得
    total = GetTotalAmount()
 
    ' メッセージボックスで表示
    MsgBox "売上金額の合計は【" & total & "】です"
 
End Sub

こんな感じで解説もつけてくれます↓

解説を読んでわからないことをさらに質問する。質問の回答でわからないことがあれまさらにその質問をする。この繰り返しをすることで少しづつ理解の手助けになるかもしれません。

「具体例を出して。」とChatGPTに命令することで具体例をいくつか提示してくれるのでこういった点は書籍で学習するよりも効率的かなと。

ChatGPTに頼りっぱなしでは多分ダメ。

本の中でも書かれていたのですが、最初から最後までChatGPTだけで完結することはまだ難しいようで、ゲームを作るうえでプログラム全体の構想を練ったり、作成したプログラム全体をエラーがでないように全体を見渡したり、繋げるときには自分自身にある程度知識や理解がないと上手くいかないようす。

上のfunctionの考え方についてもこちらが「function使ってコードを書き換えて」と命令して初めて得ることができる情報になるので、そういった前提知識などが(ある程度)あることがChatGPTとのやりとりが充実するポイントのような気がします。

とはいえ、AIの発達はものすごいので、近い将来こういった状況すら変えてくる可能性はありますが。

まとめ

大塚あみさんの「#100日チャレンジ 毎日連続100本アプリを作ったら人生が変わった」という本を読んで自分なりの現時点におけるChatGPTの使い方を記事にしてみました。

ChatGPTが上(先生)で自分が下(生徒または素人)という視点にたって使ってみると違った使い方がみえるかもしれません。




【本日の近況報告】

川西賢志郎さんの書籍「はじまりと おわりと はじまりと」を読了。2024年に解散した漫才コンビ「和牛」の川西さんの本です。

もし自分に弟子がいたら伝えたかったこと。をメインに、漫才師としての考えや、解散後に一人で活動していくにあたってのことなどが書かれている本でした。

特にファンというわけではないのですが、関西ではテレビで見かけることが多く、少し前に解散したこともあって、どんな文章を書くのか気になり読んでみました。

本の中身としては、おもしろおかしく書かれている「笑える本」ではなくて、芸人として、漫才師としていろんなことを真面目に、一生懸命に考えて活動していることがよくわかる内容になっていて、本人の(良い意味で)頑固な性格であったり、想いがとても伝わってくる素敵な本でした。

悩みながらも芯があるというか、ブレない考えがある人なんだなと。そんな印象を受けました。

ひとりで仕事をしている人には何かしら共感できる部分があるのではないかと思います。また本がでたら読んでみたいです。

【本日の1曲】

カメレオン・ライム・ウーピーパイ/Grooving Night

仕事中によく聴くラジオ番組で知った日本のアーティストで、ファットボーイスリムなどの90年代の音楽に影響を受けたそうです。

で、実際に聴いてみて個人的に1番ファットボーイスリムっぽいなと思ったのが今日の1曲です。

イントロの感じやテンポ感がそれっぽいなと。ブレイクビーツ、陽気なヒップホップなどが好きなら気に入ると思います。元リップスライム(最近期間限定で復活しましたが)のPESさんと一緒にやってる曲なんかもあってこちらも〇。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!