LVLPATH

日本最強無料プログラミングスクール

LangStudyMethod

おすすめのAI活用法

🔰 概要

おすすめのAIの使い方とTipsについて紹介します。

現代のソフトウェア開発だとAIの使いこなし力や上手な活用が必須です。

✅ ChatGPT

image

1: 分からないことや困っていることや悩みなどを聞く

  • ポートフォリオにどんな技術を使えばいいか分からない
  • SQLのこの部分のパフォーマンスを改善したいけどどうしたらいいか分からない
  • next.jsのapp routerが理解できない

ソフトウェア開発をしていると、基本的に分からないことやハマっていること(うまく動かないなど)が多く出現します。

その際にとりあえずまずはChatGPTに聞いてみることで、分からない箇所が言語化されてどうすればいいのか自分で解決できることやヒントを得ることにもなりますし、AI自体が答えをくれたりヒントをくれることも多いです。

技術的な事柄やキャリアの事柄など、「とりあえず困ったらまずはChatGPTに聞く」というのがすごく効率が良いです。

2: 情報を集める

  • Aの実装方法を箇条書きで完結に教えてください
  • GoogleのOAuth認証をnext.jsに入れたいので、どのような手順をふめばいいか教えてください
  • ソフトウェアエンジニアで年収を上げるためにはどういったスキルや経験が必要か教えてください

基本的にはとりえあずChatGPTに聞いてオーソドックスな答えをもらって、そこからさらに知識を広がりするケースにおいて、次のステップに進むのがおすすめです。

例えば、「コーディング試験対策について知りたい」などの場合には、まずはChatGPTに聞いて無難な答えをもらってから、Google検索やその他SNSで調べていくような手順で調べていくようなフローになります。

3: エラー文をそのまんまコピペして貼る

ReferenceError: ~~~
~~~
~~~
~~~

こういったエラーが出ました。修正してください。

4: エラー文をコピペして貼って、さらに推測などを入れる

TypeError ~~~

おそらく~~~.run()らへんのコードのエラーかと思います。

該当箇所だけ修正してください。

また、その際にコメントも上の部分に入れてください。

✅ GitHub Copilot

image

Copilotは無料で試してみて実際に明らかに生産性などの向上を感じたら有料で使うのがおすすめです。

*有料だとしても使う価値は十分にあります

TODO: Will add specific code suggestion exmples

✅ プログラミングにおけるAIに関するTips

image

1: 使うことで使いこなし力が上がる

AI含めプログラミング全般に言えることですが、勉強した結果特定の技術が使えるようになるというよりかは、特定の技術を使うことでさらに使えるようになります。

例: Reactを勉強するとReactが得意になるのではなくて、Reactを実際に使うと、Reactが使えるようになる

ChatGPTやGithub Copilotも同様なので、日々使っていくことが重要ですし、実際すごく便利なので使い始めると使わない状態には戻れなくなるというのはあります。

2: レビューを依頼する

  • このコードはいい感じですか?
  • このコードのパフォーマンスが改善できるとすればどこですか?
  • AとBとCのテーブル定義をしました。どこか問題ありますか?
  • Aを〜〜〜という方針で実装しようとしています。これは良い実装方法でしょうか?

3: 具体的な指示(プロンプト)を出す

AIに指示をするときは具体性が高ければ高いほど求める結果を安くなります。

  • Aという計算をuseMemoを使ってキャッシュしたいです。コードを直してください。
  • この画像の箇所のコンポーネントをだしてください。MUIを使っているので、sxにスタイルを記述してください。
  • Aの部分のバリデーションを作ってください

4: 手を動かす前にまずAIで作業時間を0もしくは大幅に短縮できないかを考える

例えば、以下のようなケースです。

ケース1

  • UIに大量のデモデータを入力して状態でフロントエンドを実装する必要がある
    • ↑手動でやるのはすごく時間がかかる
  • 画像をChatGPTにアップロードして、それを変数にれてもらえないか?
    • 一気にやってもらうことはできなくても、特定のセクションごとなどではできたりするケースもある

ケース2

  • Aに関しての単体テストを書きたい
    • 手動でテストケースを全部考えて書くのは面倒
  • Aのメソッドに関して、vitestを使って単体ストのコードを書いてください
    • ↑ そのあとに目視で単体テストのテストケースをチェックする

5: 1つ以外の結果を常に意識する

AIから出力された結果が常に正しいとは限らないので、自分の知識や経験に基づく部分からAIからの出力を変えることができます。

  • こっちのほうがパフォーマンスがいいかも
  • AではなくてBの実装方法がいい
  • 上司からこのコードは冗長だと言われるので、もっと完結に書く方法はありますか?

6: インタラクティブに使う

  • AIに聞く
  • AIからの回答を得る
  • その回答をふまえてまたAIに聞く
  • AIからさらに回答を得る

  • 自分「viteでReact単体で使う場合と、next.jsでReactを使うのはどちらいいですか?ユースケースなども教えてください」
  • AI「viteは〜〜〜、next.jsは〜〜〜」
  • 自分「今回はSEOを意識したいのでnext.jsでSSRでしょうか?そもそもSSRの仕組みよくわかりません。教えてください」
  • AI「SSRは〜〜〜」
  • 自分「SSRする際のサンプルコードを出してください」
  • AI「SSRのサンプルコードは〜〜〜」
  • 自分「このuseClientってなんですか?」
  • AI「useClineとは〜〜〜」

といったようにAIに質問してその答えをベースとしてまた質問を行う方法はすごく便利ですし、勉強にもなります。

7: ベースラインは自分ということを意識する

基本的にAIは自分(Root)があって、そこの枝葉を埋めてくれるような存在になるので、AIを使いながらあくまで自分の技術力を高めることを主軸に使っていくスタイルが重要です。

AIに複雑な計算ロジックのコードを出力してもらった場合でも、そのコードを読んでそれをハンドリング(プロンプトを使ったとしても)するのは自分という意識で取り組むのが重要です。

AIは全員使う時代なので、みんながAIを使うという前提で、高い技術力を築いていくようなスタンスになります。

✅ 具体的なアクション

  • ChatGPT, GitHub Copilotをとりあえず使う
    • 費用対効果が合うと感じるなら有料プランにする
  • 使いながらAIを使う力を向上させる
    • そのためにはとにかく使う
お問い合わせ