S3 Files Lambda Strands Agentsで作るサーバーレスファイルサーチ基盤¶
チェック¶
- [ ] 本文を確認した
- [ ] 概要を確認した
- [ ] タグを確認した
- [ ]
inbox/直下へ移行した
概要¶
S3 Files を Lambda に mount し、Strands Agents と Bedrock で agentic file search を作る記事。
ベクトル DB や EFS を使わず、S3 上の文書を list_tree、grep_tree、read_file、read_pdf のような tool で探索する。
CloudFront + S3 frontend、VPC 内 Lambda、S3 Files mount target、DynamoDB conversation history という構成。
本文¶
S3 Files は S3 bucket を file system として compute service に mount できる機能。 S3 の耐久性を保ちながら、EC2、ECS、Lambda などから shared storage のように扱える。
記事では、RAG のように embedding と vector DB を事前構築するのではなく、agent が file system を探索する方式を取る。
agentic file search は、ユーザー入力に応じて directory 構造、metadata、file name、file content を ls、grep、cat 的な tool で集める。
Lambda から S3 Files を mount するには VPC、mount target、security group、access point が必要。
NFS port 2049 を許可し、Lambda に file system を追加する。
agent 側には list_tree、grep_tree、read_file、read_pdf、stat_path のような tool を渡す。
重要な安全策として、agent が生成する path を信頼せず、mount root 外に出られないよう validation する。 file search は RAG の代替ではないが、文書を置くだけで始められる手軽さと原文を直接読める正確性が強み。
要点¶
- S3 Files により Lambda から S3 bucket を file system として扱える。
- Agentic file search は vector DB なしで file system tool によって探索する。
- VPC、mount target、security group、access point の設計が必要。
- Agent tool では path traversal 対策が必須。