金曜の夕方、社内BIM推進チームのSlackに「Dynamoの最新情報まとめてくれない?」と依頼が飛んできました。二つ返事で受けたはいいものの、いざ検索してみると出てくるのはAWSのDynamoDBとMLSのヒューストン・ダイナモばかり。RevitのDynamoの話題は今週ほぼゼロ。これはこれで、業界の関心の偏り方が透けて見える一週間でした。
とはいえ、DynamoDB側の動きが妙に活発で、そこにRAG(検索拡張生成)絡みの話が集中している。BIM担当としてスルーできない匂いがしたので、今週はあえてDynamoDBの流れを追いかけつつ、Revit Dynamoユーザーとして何が使えそうか考えてみます。
今週のDynamoDB周辺で起きていたこと
ベクトル検索がDynamoDBで動くようになった
今週一番いいねが付いていたのが、DynamoDBのベクトル検索で簡単にRAGができるようになったぞ!という記事。DynamoDBに直接ベクトル検索機能が入ったことで、専用のベクトルDBを立てずにRAG構成が組めるようになったという話です。
関連して、DynamoDBのベクトル検索に関してや、基礎から整理したDynamoDBの基礎を振り返りながら、ベクトル検索機能を理解するも同時期に出ていて、明らかに界隈が反応しています。
チャンク分割とRDBとの違い
実装寄りだと、DynamoDBでチャンク分割時のデータ保持構造を考えてみたが面白かった。実運用でRAGを回すとき、長文をどう分割してどう保持するかは地味に効く論点で、1アイテム1チャンクで済むわけがない、という現実的な悩みが書かれています。
そしてDynamoDBをAWS CLIで触って分かった、RDBとの違いは、RDB脳で入るとハマるNoSQL特有の癖を整理してくれる内容。うちの社内DBもほぼSQL Serverなので、この視点は他人事じゃないです。
Revit Dynamoの話題は今週なし
正直に書きます。今週のRSSにRevitのDynamo(ビジュアルプログラミング)の新ネタは見当たりませんでした。Midnight AI Groove 26-08-12のようなAI全般のまとめは流れてきますが、Dynamo BIM文脈のアップデートは静か。残りはヒューストン・ダイナモやShepshed Dynamoといったサッカークラブの試合速報で、これは検索ノイズです。
ゼネコンBIM担当としての独自考察
Revit Dynamoの新機能が来なかったのは、正直ちょっと物足りない。ただ、DynamoDB+ベクトル検索の波は、うちのBIM推進業務にわりと直接効いてくる予感がしています。
何が言いたいかというと、社内標準の運用で一番しんどいのが「テンプレの検索性」なんです。Revitの共有パラメータ命名規則、Dynamoスクリプトの用途別カタログ、過去物件のファミリ流用ルール。全部Confluenceとファイルサーバに散らばっていて、若手が「柱の一括タグ付けするスクリプトってどこ?」と聞いてきたときに、私が口頭で場所を教えている。これは標準化とは呼べない。
ここに、社内ドキュメントをチャンク分割してベクトル検索できるRAGを乗せれば、Slackから「梁の断面変更を一括でやるDynamoグラフある?」と聞けば該当スクリプトのパスと使い方を返す仕組みが作れるはず。専用のベクトルDBを別途調達しなくてもDynamoDBで済むなら、情シスへの申請ハードルがぐっと下がります。ここが個人的には大きい。うちの情シスは新規SaaS導入に半年かかるので。
ただし現実的なハードルもあります。チャンク分割の設計を雑にやると、Dynamoグラフの断片だけがヒットして肝心のノード構造が伝わらない、みたいな事故が起きそう。前述のチャンク保持構造の記事で悩まれていた話は、BIM文書でも同じ形で降りかかると思ってます。あとRevitのDynamoスクリプト(.dyn)はXMLに近い構造なので、テキスト化してからチャンク化する前処理は自作が要りそう。まだ試せていないですが、社内PoCの題材としてはちょうどいい規模感かなと。
総括
Revit DynamoとAWS DynamoDBは名前が同じだけの他人ですが、今週みたいに片方だけ盛り上がる週は、逆に他分野の技術を横目で見るチャンス。うちの社内標準ライブラリにRAGを乗せる実験、来月の推進会議で提案してみようと思ってます。ヒューストン・ダイナモの試合結果は、また来週。