Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Mastraに入門してみた ~AWS CDKを添えて~
Search
つくぼし
April 22, 2025
Technology
0
480
Mastraに入門してみた ~AWS CDKを添えて~
つくぼし
April 22, 2025
Tweet
Share
More Decks by つくぼし
See All by つくぼし
Amazon Bedrock GenUハンズオン座学資料 #2 GenU環境でRAGを体験してみよう
tsukuboshi
0
230
Amazon Bedrock GenUハンズオン座学資料 #1 GenU環境で生成AIを体験してみよう
tsukuboshi
0
580
AWSエンジニアに捧ぐLangChainの歩き方
tsukuboshi
4
1.2k
世界の中心でApp Runnerを叫ぶ ~Aurora DSQLを添えて~
tsukuboshi
0
320
初めてのGPTs ~ネコ派を〇〇派に変える技術~
tsukuboshi
0
600
Amplify Gen 2ではじめる 生成AIアプリ開発入門
tsukuboshi
1
1.1k
AWSで構築するパターン別RAG構成解説
tsukuboshi
5
5.9k
AWS構成図から CloudFormationとパラメータシートを 自動生成するシステムを作ってみた
tsukuboshi
0
9.6k
5分で分かる(かもしれない) Vector engine for OpenSearch Serverless
tsukuboshi
1
1.5k
Other Decks in Technology
See All in Technology
CloudTrailも、GuardDutyも、VPC Flow logsも… ログ多すぎ問題の整理術
nikuyoshi
4
530
VPC Reachability AnalyzerAnalyzer~実務での使いどころ
masakiokuda
1
300
主要ライブラリの実例に学ぶ、TypeScriptで実現する型安全な座標定義
tiroljpn
1
220
Data Hubグループ 紹介資料
sansan33
PRO
0
1.7k
Project Referencesを活用した実行環境ごとのtsconfig最適化
itatchi3
1
220
Microsoft Season of Agent AI エージェントの使用開始
takas0522
0
110
toittaにOpenTelemetryを導入した話 / Mackerel APM リリースパーティ
cohalz
1
160
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
360k
撤退危機からのピボット : 4年目エンジニアがリードする TypeScript で挑む事業復活 / crisis-to-pivot-4th-year-engineer-ts-relaunch
carta_engineering
2
730
バックエンドのコードファーストなOpenAPIスキーマ駆動開発 - TSKaigi2025
yujitorii
1
250
[JAWS-UG 栃木 #2]AWS FISはドSなのか?システムに試練を与えて強くする!
sh_fk2
1
250
AIの電力問題を概観する
rmaruy
0
150
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
4 Signs Your Business is Dying
shpigford
183
22k
Statistics for Hackers
jakevdp
799
220k
Navigating Team Friction
lara
185
15k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Why Our Code Smells
bkeepers
PRO
336
57k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
The Language of Interfaces
destraynor
158
25k
Transcript
Mastraに⼊⾨してみた ~AWS CDKを添えて~
2 ⾃⼰紹介 • 部署 ◦ AWS事業本部コンサルティング部 • ニックネーム ◦ つくぼし
• 最近推しているAWSサービス ◦ AWS Infrastructure Composer • SNS/ブログ ◦ X(@tsukuboshi0755) ◦ DevelopersIO(つくぼし)
3 これからAIエージェント作るなら Mastraを推したい
Mastraとは 4 ⚫ TypeScript製のAIエージェントフレームワーク ⚫ OpenAI、Anthropic、Gemini等の様々なAIプロバイダーとシームレスに連携可能 ⚫ エージェント、メモリ、ワークフロー、RAG、可観測性、評価、⾳声といったLLMアプ リに必要な機能がオールインワンで揃う
LangGraphの⼈気を約半年で抜かしたMastra 5
Mastraのアクセス画⾯ 6 ⚫ ビルド時にHonoベースのHTTPサーバが⽣成され、Mastra単独でも以下の画⾯ですぐ試せる ⚫ Next.jsと直接統合できるので、フロントエンドをカスタマイズする事も容易
Mastraの実態はVercel AI SDKのスーパーセット 7 参照:https://mastra.ai/ja/docs/frameworks/ai-sdk
⚫ LangChainとMastraという単語が有名なので直接⽐較されるのを⾒かけるが、そもそもフ レームワークのレイヤーが異なるため、この2つを⽐較してもあまり意味がない事が多い ⚫ もし⼤雑把で良いから⽐較したい場合、LangChain vs Vercel AI SDK、LangGraph vs
Mastraの構造の⽅がまだ良いのでは?と考えている LangChainとMastraは同軸で⽐較するものではない 8 ファミリー系列 LLM処理汎用化フレームワーク AIエージェントフレームワーク LangChain系 LangChain LangGraph Vercel AI SDK系 Vercel AI SDK Mastra
Mastraエージェントの定義 9 ⚫ name(エージェント名)、instructions(システムプロンプト)、model(AIモデル)を定義 ⚫ toolsにはエージェントで呼び出したいツール群を定義する ⚫ MCPサーバをツールで呼び出す場合はawait mcp.getTools()を指定
MastraにおけるMCPサーバの定義 10 ⚫ @mastra/mcpモジュールのMCPConfigurationで定義可能 ⚫ servers内に使⽤したいMCPサーバの設定を記載する
Mastraエージェントの便利機能 11 ⚫ エージェントはステップ単位でタスクを実⾏する ⚫ maxStepsを使うと、LLM連続呼び出しの最⼤数を増減し、ステップ回数を制御できる ⚫ onStepFinishを使うと、各ステップ終了時の結果を出⼒し、タスクの進捗状況を表⽰で きる
Mastraのライセンス(ELv2)をどの程度気にする必要があるか? 12 ⚫ Elastic Licenseは、OSS公開されていたElasticSearchがクラウドプロバイダー社のマ ネージドサービスとして有料提供された事に対して、提供元のElastic社が反発した事が きっかけで⽣まれたライセンス ⚫ MastraにはELv2(Elastic License
v2)が付くので、使⽤の許可基準は以下のようになる ◯ Mastraを元に作ったAIエージェントアプリケーションを顧客に提供する→⭕ ◯ クラウドにおけるマネージドサービスとして、MastraのAPI各種とUIにそのままアク セスできる形で顧客に提供する→❌ ⚫ 結論:MastraでSaaSアプリを開発/提供するレベルであればほぼ気にしなくて良い認識
13 MastraをAWSにデプロイしたい どうせならTypeScriptで組みたい...
14 IaCにはAWS CDKを使おう!
AWS CDKとは 15 ⚫ AWSリソースをプログラミング⾔語で記載できるTypeScript製のフレームワーク ⚫ 裏側ではCDKコードがCloudFormationテンプレートに変換されデプロイされる仕組み ⚫ CDKのライブラリはコンストラクトレベルという単位で分けられている ◯
L1はAWSリソースがCloudFormationとほぼ同⼀の項⽬で、細かいパラメータを制御 できる ◯ L2はAWSリソースのベストプラクティスがデフォルト値として事前に設定されてお り、より少ないパラメータでリソースを構築できる ◯ L3は複数のAWSリソースがパターン化され、特定のユースケースにおけるアーキテク チャ全体を⼀括で展開できる
コンテナイメージのビルド/ECRへのプッシュ⾃動化 16 ⚫ cdk-docker-image-deploymentのDockerImageDeploymentを使⽤する事で、コンテナ イメージのビルドとECRへのプッシュをCDKデプロイ時に丸っと⾃動化可能 ⚫ ContainerImage.fromAssetが同⼀のECRリポジトリしか使えないのに対して、 cdk-docker-image-deploymentはイメージ毎にECRリポジトリを指定する事が可能
ALB + ECS Fargateの構成パターンを1つのモジュールで構築 17 ⚫ ecs_patternsのApplicationLoadBalancedFargateServiceを使⽤する事で、ALB + ECS Fargateの構成を簡単に構築できる
⚫ ネットワーク/ロードバランサー/各種ECSリソース等の設定がベストプラクティスで抽象 化され、少ない⾏数でデプロイ可能
npm run cdk:deployコマンドを実⾏するだけでAWSにデプロイできます 18
AWS MCP Serversについて 19 ⚫ AWS公式が公開しているMCP Serverの⼀覧がまとまっている ◯ https://github.com/awslabs/mcp/ ◯
Mastra以外にも、Claude Desktop等で使うのも良い ⚫ 以下のAWS MCP MCP Serversは認証情報登録が必要ないのでオススメ ◯ AWS Documentation MCP Server:AWSドキュメントの検索 ◯ AWS CDK MCP Server:CDKのベストプラクティス ◯ AWS Terraform MCP Server:Terraformのベストプラクティス
サンプルコードを知りたい⽅向け 20 https://zenn.dev/tsukuboshi/articles/nextjs-mastra-mcp-with-aws
次回予告 21 Mastraに競⾺予想させて⼀攫千⾦狙ってみた
None