【AIをAIから習って覚える】 第1話 - LLMを使いこなすには、人間様の的確な指示がキモだった件
はじめまして!
今日から「AIの技術をAIから学んで、それを皆さんにシェアする」という新しいアプローチのブログを始めます。従来のAI学習法と異なり、AIそのものを「先生」として活用し、最新のAI技術を体系的に学んでいく過程を公開していきます。
私はシステムエンジニアとして、日々の業務でAIを活用していますが、最近発表されたClaude 3.7 thinkingを使ってコーディングやデバッグをしていた時、その驚異的な能力に感動すると同時に戦慄しました。
「あ、このままだとコードしか書けないエンジニアの仕事なくなるわ。」
AIの進化スピードは加速の一途をたどっています。この状況で、AIを単に「使う側」から「使わせる仕組みを作る側」へとシフトするにはどうすればいいのか。考えた結果、一つの答えにたどり着きました。
「AIの技術は、実はAI自身が最も体系的に理解している。だから、AIから直接学ぶのが最も効率的なのではないか。」
そこで今回は、Googleの最新AIモデル「Gemini 2.0 Pro」と対話しながら、AIエージェント技術の学習プランを作成した過程を公開します。AIとの対話から得られた知見と、それを実践する際のコツをお伝えします。
LLMは万能じゃない?
最近、LLM(大規模言語モデル)ってのが、めちゃくちゃ進化してるじゃないですか。
質問に答えたり、文章を作ったり、翻訳したり…と、まるで人間みたいに何でもできちゃう。
でもね、LLMって、実は「万能」じゃないんだよね。
こっちが曖昧な指示を出したり、意図をちゃんと伝えなかったりすると、LLMは「?」ってなっちゃう。
そして、さらに「わっかんねーけど、きっとこれだろう」となって、微妙にピントのずれた返事をすることも多いです。
今回のGemini 2.0 Proとの対話でも、それが起きたのでそれを公開します。(ちょっと恥ずかしい)
でも、AIのプロンプトにどんな文章を入れると、何が返ってきて、どう直すと良い感じになるのかの参考になれば幸いです。
では行ってみよう。
Gemini 2.0 Proとのガチ対話 - 人間の指示が重要!
最初は「AIエージェントについて教えて!」というざっくりとした質問をしてみました。
私の最初の質問:
「AIエージェントについて教えてください。どんな技術が必要で、どう学べばいいですか?」
Gemini 2.0 Pro:
「AIエージェントに関する理解と、それを踏まえた学習プランについて詳細な添削と提案をさせていただきます。素晴らしい考察と計画性で、AIエージェント開発への意欲と熱意が伝わってきます。」
…という返答が返ってきました。褒められてはいるものの、これは私が求めていた情報ではありません。AIが何か勘違いしているようです。
そこで、より具体的に質問を組み立て直しました。私のAIエージェントについての理解を書き出し、それを添削してもらうというアプローチに変更したのです。
おらー!!この上なく丁寧に自分の理解度、そして欲しいモノを書き殴ったぞ!!!
```
AIエージェントと呼ばれるものを僕なりの理解をしている内容を書き出すので添削してください。
通常のLLMは1ショットの質問に対してステートレスに返答を生成するもので、chatなどは会話の履歴をメモリに保持して毎回送信することで実現している。
そして、エージェントと呼ばれるものは、最初にアクションプランニングを行い、それに沿って個別のアクションを実行することができるようにAIを使用しているものだ。
例えば、
「東京駅から博多駅まで行くための方法をコスト、所要時間別にリスティングして、予算3万円以内で最もバランスの良い方法を示すとともに、チケット購入をしてください。」
というプロンプトが入力された場合には、
・LLMから東京駅から博多駅に行く方法の種類を取得(電車、バス、飛行機、レンタカー)
・Web検索を行い、それぞれの最新の価格と所要時間を調査
・プロンプトされた条件と、それぞれの移動方法の価格や時間を比較して最も優れた方法を選出
・ここからはブラウザを実際に使用することが必須となるので、それが可能なエージェントに命令(Claude MCPなどを使用か?
ここまでは、プランニングと複数回のLLMへのクエリ、その結果の検証で可能になるはず。
ただし、Web検索結果はベクトル化されておらず、最適な経路検索にはWebへのクエリ文章や、結果の検証をテキストから行う必要があるように見受けられ、依然として簡単ではなさそう。
マルチエージェント間ではメモリの共有や、それぞれのエージェントの役割分担、リーダーエージェントの作り方など、なかなかチャレンジングにも見える。
とはいえ、最新の技術では既にそれが可能になっているようだ。
私はシステムエンジニアだが、必要に応じてこのようなユーザーエージェントを作るのに必要な技術要素、私への学習方法をプランニングしてください。
おそらく、以下の技術が具体的に必要になると思うが、過不足を埋めてください
1. LLMを使用して特定のフォーマットで出力を得て、整ったフォーマットでプランニングを出力する技術
2. それらのブランを最適なエージェントを選択して並列でプロンプト実行する技術(ここまではステートレスで問題ない)
3. 2で得られたレスポンスと1で得られたプランを比較して、十分な回答が得られたのかチェックする技術
4. リアルタイムにWeb検索した結果をLLMのプロンプトやレスポンスに反映させるための技術、テキストのまま使用するパターンと、リアルタイムにデータのベクトル化を行う技術が個別に必要になりそう
5. 1 - 4をオーケストレーションするための技術(シングルエージェント、リーダー有りエージェントに関する技術)
6. 必要に応じてマルチエージェントを作る技術
さて、まずは私が認識している必要になる技術に過不足がないかどうかを調べてください。
次に、それぞれ特化したフレームワークが存在しているはずなのでそれをリストアップしてください。
次に、それらを学習していくのに、どの順番で行うと効率が良いのかを考えてください。
最後に、それぞれの技術要素や具体的な使用方法の学習プランを個別に細かく生成してください。
最終出力は、私専用のAIを学ぶための教科書のようにしてください。
```
私: 私はこんな感じの、ちょー具体的な質問をしてみました。
Gemini 2.0 Pro: 1. AIエージェントの理解について(添削)
```
AIエージェントに関する理解は、概ね正確で深い理解をされています。
- **LLMのステートレスな性質と会話履歴の利用:** 正しいです。LLMは基本的に1回のプロンプトに対して応答を生成します。会話のような継続的なやり取りは、過去の履歴をプロンプトに含めることで実現しています。[\[1\]](https://www.google.com/url?sa=E&q=https%3A%2F%2Fvertexaisearch.cloud.google.com%2Fgrounding-api-redirect%2FAQXblrx5i6uOWXLNeSXVnX4WVUA9EADbPFs8766voeNyRhwzt2Hw7N5C7q-GZuP9sxgueyWk1P7f4WTHbjOSdhSDySxsaLcYUZSnQ5o_8hdkVx4YywURLrJo4yfONvj00gqjq9DFBmE4pdNMSg6mWQ%3D%3D)
- **AIエージェントの定義:** 適切です。AIエージェントは、プランニングを行い、それに沿って様々なアクション(ツール利用、外部API連携など)を実行できる点が、通常のLLM利用との大きな違いです。
- **例示されたプロンプトへの対応:** 非常に良い例です。AIエージェントがこのプロンプトを処理する流れを詳細に記述されており、AIエージェントの持つべき機能が明確になっています。[\[1\]](https://www.google.com/url?sa=E&q=https%3A%2F%2Fvertexaisearch.cloud.google.com%2Fgrounding-api-redirect%2FAQXblrx5i6uOWXLNeSXVnX4WVUA9EADbPFs8766voeNyRhwzt2Hw7N5C7q-GZuP9sxgueyWk1P7f4WTHbjOSdhSDySxsaLcYUZSnQ5o_8hdkVx4YywURLrJo4yfONvj00gqjq9DFBmE4pdNMSg6mWQ%3D%3D)
- **複数回のLLMへのクエリ、Web検索、結果の検証:** おっしゃる通り、これらの要素が必要になります。[\[1\]](https://www.google.com/url?sa=E&q=https%3A%2F%2Fvertexaisearch.cloud.google.com%2Fgrounding-api-redirect%2FAQXblrx5i6uOWXLNeSXVnX4WVUA9EADbPFs8766voeNyRhwzt2Hw7N5C7q-GZuP9sxgueyWk1P7f4WTHbjOSdhSDySxsaLcYUZSnQ5o_8hdkVx4YywURLrJo4yfONvj00gqjq9DFBmE4pdNMSg6mWQ%3D%3D)
- **Web検索結果の利用:** ベクトル化されていないデータ(テキスト)をどのようにLLMに理解させ、活用するかは重要なポイントです。
- **マルチエージェント:** マルチエージェント間の連携、役割分担、リーダー選出などは、より高度なAIエージェントシステムを構築する上でチャレンジングな要素となります。[\[1\]](https://www.google.com/url?sa=E&q=https%3A%2F%2Fvertexaisearch.cloud.google.com%2Fgrounding-api-redirect%2FAQXblrx5i6uOWXLNeSXVnX4WVUA9EADbPFs8766voeNyRhwzt2Hw7N5C7q-GZuP9sxgueyWk1P7f4WTHbjOSdhSDySxsaLcYUZSnQ5o_8hdkVx4YywURLrJo4yfONvj00gqjq9DFBmE4pdNMSg6mWQ%3D%3D)
- (…中略…)LLMの内部構造と動作原理、より高度なプロンプトエンジニアリング、LLMの評価、LLMの限界と倫理的側面などを提案します。
```
お、いい感じ!
でも、まだ足りない。
実際に手を動かして学べる課題が欲しい!
私: これらを順番に学びながら実際に何かを作る課題が必要です。1個である必要はないので、課題を出してください。段階的に学習していき、LLMの使用方法から、RAGや強化学習について、Agentを必要に応じて構築できるようになるまで学べるような課題ベースのプランを作ってください。
Gemini 2.0 Pro: (…中略…)ステップ1からステップ5までの詳細な学習プランと課題を提示します。
うんうん、いい感じになってきた!
でも、まだLLMが僕の意図を汲みきれていない部分がある…
私: これらには君がリストアップしてくれた学習が必要と思われる内容のリストが網羅されていない気がするんだ。再チェックしてくれるかな?
Gemini 2.0 Pro: (…中略…)改訂版の課題ベース学習プランを提示します。
何か、ちょっとずれた返事だな。
もっと具体的に頼んでみよう。
私: Web検索をして、その内容を使用してレスポンスをするためのThinking, Refrection, Agent技術が含まれていないんじゃないかな?
Gemini 2.0 Pro: (…中略…)さらに改訂版の課題ベース学習プランを提示します。
いいぞいいぞ。
それぞれの課題を具体的なものにしたら完成だ。
私: 課題が表題だけなので、実際に手を動かして開発可能なレベルまで具体的な課題文章にしてください。
Gemini 2.0 Pro: (…中略…)最終版の課題ベース学習プランを提示します。
イエス!
大体完成した。
LLMを使いこなすコツ - 人間の言語化能力がカギ
今回のGemini 2.0 Proとの対話で、LLMを効果的に使うためのコツが見えてきたよ。
それは…
「人間が、LLMに何をさせたいのか、具体的に言語化して指示すること」
LLMは、曖昧な指示だと、的外れな答えを返しちゃうことがある。
でも、人間が「こういう情報を、こういう形式で教えて」って具体的に指示すれば、LLMはちゃんと答えてくれる。
つまり、LLMを使いこなすには、人間の「言語化能力」がとても重要ってことですね!
まとめ - AI時代の学び方と働き方
AI技術が急速に進化する現代において、私たちに求められるスキルも変化しています。今回のGemini 2.0 Proとの対話から得られた重要な学びは以下の通りです:
-
明確な目標設定と具体的な指示の重要性:AIに何をしてほしいのかを明確に言語化することが、質の高い結果を得るカギです。
-
人間の言語化能力の価値:曖昧な指示ではなく、具体的で構造化された指示を出せる能力が、AI時代においてますます重要になっています。
-
AIを「先生」としつつも「道具」として使いこなす姿勢:AIから学びながらも、最終的にはAIを自分の目的のために活用するという視点が大切です。
次回からは、今回作成した学習プランに沿って、実際にAIエージェントの開発に取り組んでいきます。その過程で得られた知見やノウハウも、皆さんと共有していきたいと思います。
次回からは、この学習プランに沿って、実際にAIエージェントを作っていきます!
その過程で得られた知見やノウハウも、どんどんシェアしていきます。
まったねー!
おまけ
最終的に完成した学習プランを貼っておきます。
今後はこれに沿ってAIに教えてもらいながら記事を書いていきます。
改訂版 課題ベース学習プラン (Ver.4)
全体目標:
AIを活用したフルスタックアプリケーションを開発できるようになる。具体的には、LLMを単なるツールとして使うだけでなく、RAGによる情報検索、強化学習による最適化、自律的なエージェントなどを組み込み、ユーザーに高度な価値を提供するアプリケーションを構築できる。
学習プランの構成:
各ステップは、以下の要素で構成されます。
- 学習内容: そのステップで学ぶべき技術要素、概念
- 課題: 具体的なアプリケーション開発課題
- 参考資料: 学習に役立つ資料(書籍、記事、ドキュメント、ライブラリなど)
- 発展課題(オプション): より深く学びたい場合の追加課題
ステップ1: LLMの基礎とプロンプトエンジニアリング
-
学習内容:
- LLMの基本的な使い方(API呼び出し、パラメータ設定など)
- プロンプトエンジニアリングの基礎(指示の明確化、出力フォーマットの指定など)
- Chain-of-Thoughtプロンプティング
- Few-shot learning
- Transformerアーキテクチャの基本 (Self-Attention, Encoder-Decoder)
- トークナイゼーションの基礎 (BPE, SentencePiece)
-
課題:
-
課題1-1: シンプルなQ&Aアプリケーション
-
課題文:
ユーザーがテキストボックスに質問を入力し、「送信」ボタンをクリックすると、LLM (OpenAI APIまたはHugging Face Transformersライブラリを使用) が質問に対する回答を生成し、画面に表示するWebアプリケーションを作成してください。-
要件:
- Streamlitなどのライブラリを使用して、シンプルなUIを作成すること。
- ユーザーインターフェースは、質問入力欄、送信ボタン、回答表示欄で構成すること。
- LLMのAPIキーは、環境変数などを用いて安全に管理すること。
- エラーハンドリングを実装し、API呼び出しが失敗した場合などに適切なメッセージを表示すること。
-
提出物:
- ソースコード (GitHubなどのリポジトリで公開)
- 動作するアプリケーションのデモ (ローカル環境で動作確認できること)
- 簡単なREADME (アプリケーションの概要、使い方、工夫した点などを記載)
-
要件:
-
課題文:
-
課題1-2: テキスト要約アプリケーション
-
課題文:
ユーザーがテキストエリアに長文テキストを入力し、「要約」ボタンをクリックすると、LLMがテキストを要約し、結果を別のテキストエリアに表示するWebアプリケーションを作成してください。-
要件:
- 要約のスタイル(箇条書き、段落形式など)をラジオボタンなどで選択できるようにすること。
- 要約の長さ(短め、普通、長めなど)をスライダーなどで調整できるようにすること。
- 入力テキストの文字数制限を設け、制限を超えた場合はエラーメッセージを表示すること。
- 提出物: (課題1-1と同様)
-
要件:
-
課題文:
-
課題1-3: プログラミング支援ツール
-
課題文:
ユーザーがテキストエリアに自然言語で実現したい処理の内容(例:「PythonでCSVファイルを読み込んで、各行の合計値を計算する関数」)を入力し、「生成」ボタンをクリックすると、LLMが対応するコード(Pythonなど)を生成し、コードブロック内に表示するツールを作成してください。-
要件:
- Code Interpreter API、もしくはLangChainの
create_python_agent
などを利用する。 - Chain-of-Thoughtプロンプティングを用いて、コード生成の過程を説明するコメントをコード内に含めること。
- 生成されたコードを実行し、結果を表示する機能を追加すること(セキュリティには十分注意すること)。
- シンタックスハイライトを適用し、コードを見やすく表示すること。
- Code Interpreter API、もしくはLangChainの
- 提出物: (課題1-1と同様)
-
要件:
-
課題文:
-
-
参考資料:
- OpenAI APIドキュメント
- Hugging Face Transformersドキュメント
- LangChainドキュメント
- 各種LLMのブログ記事、チュートリアル
- "Attention is All You Need" (Transformerの原論文)
- Hugging Faceのトークナイゼーションに関するドキュメント
ステップ2: RAG (Retrieval-Augmented Generation) と Web検索の基礎
-
学習内容:
- RAGの概念と仕組み
- ベクトルデータベースの基礎(Faiss, Annoy, Pineconeなど)
- LangChainなどを使ったRAGの実装
- LLMの評価指標 (BLEU, ROUGE, METEOR, Perplexity) の基礎
- Web検索APIの使い方 (Google Custom Search API, SerpAPIなど)
- Webスクレイピングの基礎 (Beautiful Soup, Scrapyなど)
-
課題:
-
課題2-1: 社内ドキュメント検索システム
-
課題文:
あらかじめ用意された社内ドキュメント(Markdown形式のテキストファイル群)をベクトルデータベースに格納し、ユーザーが入力した質問に関連するドキュメントを検索し、その内容に基づいてLLMが回答を生成するWebアプリケーションを作成してください。-
要件:
- LangChainを使用して、RAGシステムを構築すること。
- Faiss, Annoy, Pineconeなどのベクトルデータベースを使用すること。
- 検索結果として、関連度の高いドキュメントの上位k件(kはパラメータとして設定可能)を表示すること。
- Chain-of-Thoughtプロンプティングを用いて、回答生成の際に参照したドキュメントとその理由を説明させること。
- UIは、質問入力欄、検索ボタン、検索結果表示欄、回答表示欄で構成すること。
-
提出物:
- ソースコード (GitHubなどのリポジトリで公開)
- 動作するアプリケーションのデモ (ローカル環境で動作確認できること)
- README (アプリケーションの概要、使い方、工夫した点、使用したベクトルデータベースとその選定理由などを記載)
- 社内ドキュメントのサンプル (個人情報などを含まないもの)
-
要件:
-
課題文:
-
課題2-2: Web検索と連携したQ&Aアプリケーション
-
課題文:
ユーザーが入力した質問に対して、Web検索API (Google Custom Search API, SerpAPIなど) を使用して関連情報を検索し、検索結果を基にLLMが回答を生成するWebアプリケーションを作成してください。-
要件:
- LangChainの
RetrievalQA
チェーンなどを利用して、RAGシステムを構築すること。 - 複数の検索結果を比較・検討し、最も適切な情報源に基づいて回答を生成すること。
- 回答の根拠となったWebページのURLを、回答とともに表示すること。
- UIは、質問入力欄、検索ボタン、回答表示欄(根拠URLを含む)で構成すること。
- 検索APIのキーは、環境変数などを用いて安全に管理すること。
- LangChainの
- 提出物: (課題2-1と同様)
-
要件:
-
課題文:
-
-
参考資料:
- RAGに関する論文 (例: "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks")
- ベクトルデータベースのドキュメント (Faiss, Annoy, Pineconeなど)
- LangChainのRAG関連ドキュメント
- LLM評価指標に関する論文、ブログ記事
- Web検索APIのドキュメント
- Webスクレイピングライブラリのドキュメント
ステップ3: 高度なプロンプトエンジニアリングとReflection
-
学習内容:
- Tree of Thoughts (ToT)
- ReActプロンプティング
- Self-Reflection (自己反省) の概念と実装
- LLMに自身の応答を評価させ、改善させる
- LangChainの
SelfAskWithSearchChain
などの活用
-
課題:
-
課題3-1: Web検索結果の評価と改善
-
課題文:
LLMにWeb検索API (Google Custom Search API, SerpAPIなど) を使用して、特定のトピックに関する情報を検索させ、検索結果のリストを生成させます。その後、LLMに各検索結果の関連性、信頼性、有用性を評価させ、評価に基づいて検索クエリを改善させるシステムを作成してください。-
要件:
- 最初の検索クエリは、ユーザーが入力できるようにする。
- LLMは、検索結果を評価する際に、明確な基準(関連性、信頼性、有用性など)を用いること。
- LLMは、改善された検索クエリを提案し、その理由を説明すること。
- 改善前後の検索結果を比較表示し、ユーザーが評価できるようにすること。
- LangChainのReActプロンプティングを活用すること。
-
提出物:
- ソースコード (GitHubなどのリポジトリで公開)
- 動作するアプリケーションのデモ (ローカル環境で動作確認できること)
- README (アプリケーションの概要、使い方、工夫した点、ReActプロンプティングの適用例などを記載)
-
要件:
-
課題文:
-
課題3-2: 質問応答システムの自己改善
-
課題文:
ステップ2で作成したQ&Aアプリケーション(社内ドキュメント検索またはWeb検索)を拡張し、LLMに自身の回答の正確性、完全性、明確さを評価させ、評価に基づいて回答を修正させる機能を追加してください。-
要件:
- LLMは、回答を生成した後、自己評価プロンプトを用いて自身の回答を評価すること。
- 自己評価の結果(例:「この回答は正確性に欠ける可能性がある」)を表示すること。
- 自己評価に基づいて、回答を修正するプロンプトを生成し、修正版の回答を表示すること。
- ユーザーが元の回答と修正版の回答を比較できるようにすること。
- LangChainの
SelfAskWithSearchChain
などを参考にすること。
- 提出物: (課題3-1と同様)
-
要件:
-
課題文:
-
-
参考資料:
- ToT, ReActに関する論文
- Self-Reflectionに関する論文
- LangChainのドキュメント (特に
SelfAskWithSearchChain
など)
ステップ4: エージェント構築 (Thinking, Acting, Tool Use)
-
学習内容:
- エージェントの概念と設計 (Thinking, Acting, Tool Use)
- LangChain Agents, AutoGPT, BabyAGIなどのフレームワーク
- マルチエージェントシステム
- LLMの限界と倫理的側面(バイアス、ハルシネーション、プライバシー)
- エージェントが利用するツールの設計と実装 (Web検索、計算、API呼び出しなど)
-
課題:
-
課題4-1: タスク自動化エージェント (Web検索の活用)
-
課題文:
ユーザーが自然言語で目標(例:「今週末に東京で開催されるAI関連のイベントを調べて、参加費が1万円以下のものをリストアップし、カレンダーに登録する」)を入力すると、エージェントがWeb検索、情報収集、条件フィルタリング、カレンダー登録などのタスクを自動的に実行するシステムを作成してください。-
要件:
- LangChain Agents, AutoGPT, BabyAGIなどのフレームワークを利用すること。
- エージェントは、以下のツールを利用できるようにすること。
- Web検索ツール (Google Custom Search API, SerpAPIなど)
- 情報抽出ツール (LLMを用いて、Webページから必要な情報を抽出する)
- 条件判定ツール (LLMを用いて、抽出した情報が条件に合致するか判定する)
- カレンダーAPI連携ツール (Google Calendar APIなど)
- エージェントは、思考過程(どのツールをどのような順番で使用するか、各ステップで何をしているかなど)をログに出力すること。
- エージェントは、内省的に行動を改善する機能を持つこと(例:検索結果が不十分な場合に検索クエリを修正する、エラーが発生した場合に別のツールを試すなど)。
- ユーザーインターフェースは、目標入力欄、実行ボタン、エージェントのログ表示欄、結果表示欄で構成すること。
-
提出物:
- ソースコード (GitHubなどのリポジトリで公開)
- 動作するアプリケーションのデモ (ローカル環境で動作確認できること)
- README (アプリケーションの概要、使い方、工夫した点、エージェントの設計、使用したツール、内省的改善の実装方法などを記載)
-
要件:
-
課題文:
-
課題4-2: カスタマーサポートエージェント (高度化)
-
課題文:
ユーザーからの問い合わせ(テキスト入力)に対して、FAQ検索、ドキュメント検索、Web検索などを組み合わせて回答を生成するカスタマーサポートエージェントを作成してください。-
要件:
- LangChain Agentsフレームワークを使用すること。
- エージェントは、以下のツールを利用できるようにすること。
- FAQ検索ツール (事前に用意したFAQデータをベクトルデータベースに格納し、検索する)
- ドキュメント検索ツール (社内ドキュメント検索システム)
- Web検索ツール
- 質問分類ツール (LLMを用いて、質問のカテゴリを判定する)
- 回答生成ツール (LLMを用いて、検索結果に基づいて回答を生成する)
- 複雑な質問に対しては、質問分類ツールを用いて質問を複数のサブ質問に分割し、各サブ質問に対して個別に回答を生成し、最後に統合する。
- 回答が不十分な場合や、ユーザーが満足しない場合は、オペレーターにエスカレーションする機能を追加すること(エスカレーション先のオペレーターは、ダミーの応答を返す関数でシミュレートする)。
- エージェントの思考過程をログに出力すること。
- 提出物: (課題4-1と同様)
-
要件:
-
課題文:
-
-
参考資料:
- LangChain Agentsドキュメント
- AutoGPT, BabyAGIのGitHubリポジトリ
- マルチエージェントシステムに関する論文
- AI倫理に関する書籍、記事、ガイドライン
- "Toolformer: Language Models Can Teach Themselves to Use Tools"
ステップ5: フルスタックアプリケーション開発
-
学習内容:
- これまで学んだ技術を統合し、実際のユーザーが利用できるアプリケーションを開発する。
- フロントエンド(React, Vue.jsなど)、バックエンド(FastAPI, Flaskなど)、データベース(PostgreSQL, MongoDBなど)を適切に組み合わせる。
- デプロイ(AWS, GCP, Azureなど)
-
課題:
- 課題5-1: AIを活用したToDoリストアプリケーション
- 課題5-2: AIパーソナルアシスタント
- 課題5-3: (自由にテーマを設定)
Discussion