2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【学習】Udemy:『生成AIを活用したプログラミング学習の加速術』

Posted at

はじめに

Udemyで『生成AIを活用したプログラミング学習の加速術 -AIサポートで効率的に習得するプログラミング言語-』を受講してみたので、ここに学習メモを残します。
この記事はあくまで個人的な学習メモですので、勉強する際は実際の動画講座をご覧になることをおすすめします。

講座作成者:我妻 幸長さん

値段

2025年の1月。セール期間中に購入しました。
定価:10,800円
セール:1,300円

講座受講の理由

私が本講座を購入した理由を以下に示します

  • 今後必ず必要となってくるAIの活用方法をしり、実務でも活かせるようになりたい
  • 生成AIで学ぶことに慣れておきたい

講座の目標・特徴

1:生成AIを活用し、プログラミングの学習効率を向上
2:対象者は「プログラミング学習でつまずきを感じている人」「スキルアップを目指している人」「最新AI技術を体験したい人」

動画の中でも注意点としてあげている事として2024年4月段階の生成AIになります。

講座全体の流れ

講座の内容は以下の通りです。
Section1. 生成AIの概要とプログラミング学習への活用
→ 生成AI時代における効率的なプログラミング学習について、概要を解説します。
Section2. 的確な質問と回答の評価
→ 生成AIに的確に質問し、望ましい回答を得るためのテクニックを解説します。
Section3. エラー解決・リファクタリング
→ 生成AIを活用し、コードをエラーを検出したり、冗長性を排除するためのテクニックを解説します。

学習メモ

LLMについて

大規模言語モデル(LLM:Large Language Model)のこと。
chatGPTやGeminiやClaude3でLLMが使用されている。
LLMによって専門的知識がなくても「自然言語」で操作できるようになった

開発環境GoogleColaboratory

Google Colaboratory
本講座ではじめて知ったツールです
講座内でも紹介されていますが以下サイトでより詳しく知ることができます

プロンプトエンジニアリングのテクニック:ロールプレイ

何らかの役割を演じさせて、回答に一貫性を持たせること

何か質問する前に役割を持たせることが後に続く回答での質を向上させることにつながることを知ることができます
詳しくはセクション2でその違いを知ることができます

「Zero-Shot」➡例示なし

#悪いプロンプト例➡退屈な漫才の内容をそのまま出力する
文章から温度を想像してください
退屈な漫才

#いいプロンプト例➡「冷たい」と出力される
文章から温度を想像してください
そして温度を表す形容詞を考えてそれのみを記述してください
退屈な漫才

「Few-Shot Prompting」➡いくつか例を示すことで回答精度向上する

#プロンプト例➡「寒い」と出力される
文章から温度を想定してください

上半身裸でバイクにのる寒い
滝に打たれる寒い
つまらないジョーク寒い
こたつに入る暖かい

退屈な漫才

「Chain-of-Thought Prompting」➡複数の中間的な推論ステップ介し複雑な推論を実現

#例として一度Q&Aを投げてやることでその後のQ&Aに適切に回答してくれる
Q:次のグループ中にある奇数を足し合わせると奇数と偶数どちらになりますか
12.31.3.12.24.5.32
A:グループの中の帰趨は[31.3.5]です
 それらを足し合わせると39です39は奇数なので答えは奇数です

Q:次のグループの帰趨を足し合わせると奇数と偶数どちらになるか
4.15.12.1.12.3.17

#出力結果は「36。偶数」となる

「Zero-Shot Cot」➡「Zero-Shot」と「Chain-of-Thought Prompting」

「Chain-of-Thought Prompting」だと質問と答えの例をいちいち作るのが面倒くさい…のを解消したのが「Zero-ShotCot」

以下の質問に回答してください回答はステップごとに出力してください
Q:以下のグループの奇数を足し合わせると奇数と偶数どちらか
12.31.5.14.42.3.17
A:

#出力は「56。 偶数」となる

要件定義

「ロールプレイ」同様、「要件定義」をしっかり明示することで回答の精度がアップします。
要件定義そのものについては下記サイトを参考に理解を深めました

要件定義とは、システムやアプリなどの製品やサービスを開発する際に、どのような内容にするか、どこまで実装するかなどをまとめる工程

生成AIによるエラー解決

エラー解決においても生成AIは便利ですがどんなプロンプトなのかによって回答の精度が異なることがわかりました。

以下のPythonのコードを実行するとエラーが発生します 
(コード)

エラーメッセージは以下の通りです
(エラーメッセージ)
 
問題を解決しエラーが発生しないコードを書いてください

まとめ

本講座で改めて生成AIの理解を深めることができました。また、単純な座学だけではなく、「GoogleColaboratory」というツールを用いてAIが回答したコードの動作を確認する過程があることは非常に良かったです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?