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
560
Mastraに入門してみた ~AWS CDKを添えて~
つくぼし
April 22, 2025
Tweet
Share
More Decks by つくぼし
See All by つくぼし
Amazon Bedrock GenUハンズオン座学資料 #2 GenU環境でRAGを体験してみよう
tsukuboshi
0
280
Amazon Bedrock GenUハンズオン座学資料 #1 GenU環境で生成AIを体験してみよう
tsukuboshi
0
660
AWSエンジニアに捧ぐLangChainの歩き方
tsukuboshi
4
1.3k
世界の中心でApp Runnerを叫ぶ ~Aurora DSQLを添えて~
tsukuboshi
0
340
初めてのGPTs ~ネコ派を〇〇派に変える技術~
tsukuboshi
0
610
Amplify Gen 2ではじめる 生成AIアプリ開発入門
tsukuboshi
1
1.3k
AWSで構築するパターン別RAG構成解説
tsukuboshi
5
6.2k
AWS構成図から CloudFormationとパラメータシートを 自動生成するシステムを作ってみた
tsukuboshi
0
9.8k
5分で分かる(かもしれない) Vector engine for OpenSearch Serverless
tsukuboshi
1
1.6k
Other Decks in Technology
See All in Technology
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
7.2k
やさしい認証認可
minorun365
PRO
29
12k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
17k
AIコーディング新時代を生き残るための試行錯誤 / AI Coding Survival Guide
tomohisa
9
12k
AI とペアプロしてわかった 3 つのヒューマンエラー
takahiroikegawa
1
660
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
280
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
2
410
Tenstorrent 開発者プログラム
tenstorrent_japan
0
300
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
脅威をモデリングしてMCPのセキュリティ対策を考えよう
flatt_security
4
1.5k
"SaaS is Dead" は本当か!? 生成AI時代の医療 Vertical SaaS のリアル
kakehashi
PRO
3
180
開発効率と信頼性を両立する Ubieのプラットフォームエンジニアリング
teru0x1
0
130
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
329
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.3k
RailsConf 2023
tenderlove
30
1.1k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Building Applications with DynamoDB
mza
95
6.4k
Building Adaptive Systems
keathley
43
2.6k
How STYLIGHT went responsive
nonsquared
100
5.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
We Have a Design System, Now What?
morganepeng
52
7.6k
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