※ 本記事は学習ログとして継続的に更新していきます。
本記事では、LLMエンジニアリングの学習内容と、MapleStoryを題材に開発したプロジェクトを記録しています。
🌱 Week 1: MapleStoryを題材としたLLMアプリケーション開発の基礎
Day 1: はじめてのLLMアプリケーション構築
🍁 MapleStory Job Category Classifier
学習内容
PythonアプリケーションからLLMを利用するための基本的な構成について学習した。.envを用いたAPIキー管理、System MessageとUser Messageによるプロンプト設計、モデルレスポンスの取得・処理までの一連の流れを理解した。
実装内容
MapleStoryの職業名を入力すると、その職業カテゴリを判定するLLMベースの分類アプリケーションを作成した。
得られた知見
LLMアプリケーションの多くは「データ収集 → プロンプト生成 → モデル呼び出し → 結果処理」という共通のアーキテクチャを持つことを理解した。
Day 2: OpenAI互換APIとモデルポータビリティ
🍁 MapleStory Job Category Classifier (Ollama Edition)
学習内容
OpenAI互換APIを利用したモデル切り替え手法について学習した。エンドポイントやモデル名を変更するだけで、同じアプリケーションを異なるLLM上で動作させられることを確認した。
実装内容
Day 1で作成した分類アプリケーションを、GPTからOllama上のLlama 3.2へ移植した。
得られた知見
特定のモデルに依存しない設計を行うことで、クラウドモデルとローカルモデルを柔軟に切り替えられることを理解した。
Day 3: 最先端LLMとエージェントAI
学習内容
GPT、Claude、Gemini、Grok、DeepSeekなどの先端モデルについて調査し、それぞれの特徴や推論能力を比較した。また、複数のステップを自律的に実行するエージェントAIの概念について学習した。
得られた知見
モデルごとに得意分野や性能特性が異なることを理解した。また、高性能なモデルであっても誤った情報を生成する可能性があるため、人間による確認が重要であることを再認識した。
Day 4: トークン、コンテキスト、そして「記憶」の仕組み
🍁 MapleStory Main Tracker
学習内容
トークン化の仕組みやコンテキストウィンドウについて学習した。また、LLM APIが本質的にはステートレスであり、会話履歴によって記憶しているように見せていることを理解した。
実装内容
プレイヤーのメイン職がNight LordからRenへ変更されるケースを例に、会話履歴によるコンテキスト管理を検証した。
得られた知見
LLMの「記憶」は会話履歴によるコンテキスト管理で実現されており、その管理はアプリケーション側の重要な責務であることを理解した。
Day 5: マルチステップAIワークフローの構築
🍁 MapleStory AI Job Brochure Generator
学習内容
検索、情報整理、構造化出力、コンテンツ生成を組み合わせたマルチステップワークフローについて学習した。また、One-shot Prompting、JSON出力、Retrieval、Streaming Responseなどの実践的な手法を学んだ。
実装内容
MapleStoryの職業情報を収集・整理し、それらを基に詳細な職業紹介パンフレットを生成するアプリケーションを構築した。
得られた知見
複数のLLM処理を連携させることで、単一プロンプトでは実現できない高度なアプリケーションを構築できることを理解した。
🌱 Week 2: モデルAPIからマルチモーダルAIアプリケーションへ
Day 1: モデルAPIとモデルポータビリティ
🍁 MapleStory Multi-Model Job Advisor
学習内容
複数のLLMプロバイダーを共通インターフェースで利用する方法を学習した。OpenAI、Gemini、DeepSeek、Ollamaなどを、設定変更のみで切り替えられる構成を体験した。
実装内容
同一のプロンプトを複数モデルへ送信し、その回答内容を比較できる職業推薦ツールを作成した。
**得られた知見
**
アプリケーションをモデル非依存に設計することで、柔軟なモデル選択や比較検証が可能になることを理解した。
Day 2: Gradioを活用したAIアプリケーション開発
🍁 MapleStory Multi-Model Job Advisor UI
学習内容
Gradioを用いたWebインターフェース構築について学習した。既存のAIロジックを変更することなく、ブラウザから利用可能なアプリケーションとして公開できることを確認した。
実装内容
モデル選択機能と質問入力機能を備えたMapleStory Job AdvisorのUIを実装した。
得られた知見
Gradioを利用することで、試作段階のAIコードを短時間で実用的なアプリケーションへ発展させられることを理解した。
Day 3: 会話型AIチャットボットの構築
🍁 MapleStory Main Advisor Chatbot
学習内容
会話履歴、システムプロンプト、ストリーミング応答を活用したチャットボット開発について学習した。
実装内容
プレイヤーの好みやプレイスタイル、育成目標を会話の中で保持しながらアドバイスを行うチャットボットを構築した。
得られた知見
会話履歴を適切に活用することで、より自然かつ個別最適化されたユーザー体験を提供できることを理解した。
Day 4: Tool CallingとAIアプリケーション開発
🍁 MapleStory Character Progression Assistant
学習内容
LLMと外部ツール・データベースを連携させるTool Callingについて学習した。また、ツールスキーマやSQLiteを利用したデータ管理手法も学んだ。
実装内容
キャラクター情報、Legion進捗、ボスミュール情報などをデータベースから取得できるアシスタントを実装した。
得られた知見
Tool Callingを活用することで、LLMは外部システムからデータを取得し、実際のアプリケーションロジックと連携できることを理解した。
Day 5: マルチモーダルAIアシスタントの構築
🍁 MapleStory Progression Assistant Plus
学習内容
会話AI、Tool Calling、データベース、画像生成、音声生成を統合したマルチモーダルアプリケーションについて学習した。
実装内容
キャラクター情報の参照に加え、MapleStory風イラストの生成や音声による回答機能を備えたAIアシスタントを構築した。
得られた知見
現代のAIアプリケーションはテキスト生成だけでなく、画像、音声、ツール連携などを組み合わせることで、より豊かなユーザー体験を実現できることを理解した。
Week 2の発展プロセス
Day 1: モデルAPI
↓
Day 2: Gradio UI
↓
Day 3: 会話型AI
↓
Day 4: Tool Calling & データベース
↓
Day 5: マルチモーダルAIアプリケーション
Week 2 振り返り
Week 2では、単純なモデル利用から実践的なAIアプリケーション開発へと段階的に発展させた。UIの構築、会話履歴管理、Tool Calling、データベース連携、画像生成、音声生成を組み合わせることで、単なるチャットボットではなく、実際のデータを活用しながら複数の形式で情報を提供できるMapleStory AIアシスタントを構築することができた。🍁