株式会社ずんだもん技術室AI放送局 podcast 20260324
内容紹介
RAG パイプラインを捨てて claude -p に Grep させたら3時間で社内ナレッジ Bot が動いた、Creating with Sora safely、Announcing TypeScript 6.0
出演者
youtube版(スライド付き)
関連リンク
本記事は、数百ファイル規模の社内ナレッジを検索・回答するSlackボットを、従来の「RAG(検索拡張生成)」という複雑な仕組みを使わずに、ClaudeのCLIツール(Claude Code)を活用して構築した実践レポートです。
1. 従来のRAGが抱える「つらさ」
通常、LLMに社内文書を読み込ませるには「RAG」という手法を用います。これには、文章を細かく切る(チャンク分割)、数値化する(Embedding)、専用のデータベース(ベクトルDB)に保存する、といった多くの工程が必要です。著者は1年間これらと格闘してきましたが、200ファイル程度の規模に対しては、これらの精度調整や運用コストが非常に高いという課題を感じていました。
2. 新しいアプローチ:エージェンティックサーチ
そこで著者が編み出したのが、LLM自体に「検索(Grep)」と「読み込み(Read)」のツールを持たせ、直接ファイルを探索させる手法です。
- 仕組み:
claude -p(Claude Codeの非対話モード)を使用し、LLMが自分で「どのファイルに答えがありそうか」を推論し、必要に応じて複数のファイルを行き来しながら回答を統合します。 - メリット: データのベクトル化やDB管理が一切不要。ファイルをディレクトリに置くだけで準備が完了します。
- 構築スピード: 最初のボットを約3時間、2つ目はわずか30分で追加できるほどの圧倒的な手軽さを実現しました。
3. 実装のポイントとセキュリティ
実装の核心は、Pythonの subprocess から claude コマンドを呼び出すだけというシンプルなものです。
しかし、自由度が高い反面、初期段階では「サーバー内の機密ファイルを読み出される」といったプロンプトインジェクション(悪意ある指示)の脆弱性が露呈しました。これに対し、著者は以下の3層の防御策を講じています。
- 作業ディレクトリ(cwd)の制限: アクセスできる範囲を限定する。
- 入力フィルタ:
/etc/passwdなどの危険なパスが含まれる入力を遮断する。 - システムプロンプト: 「指定ディレクトリ以外は見ない」というルールを徹底させる。
4. 運用上のトレードオフ
この手法は万能ではなく、明確な使い分けが必要です。
- 向いているケース: 数百ファイル程度の規模、正確性が求められる用途、運用コストを抑えたい場合。
- 課題: 回答に10〜45秒ほどかかる(ツール呼び出しの往復が発生するため)。また、数千〜数万のドキュメントを扱う大規模な環境では、従来型のRAGの方が高速でコスト効率も良くなります。
5. まとめ:エンジニアへの示唆
この仕組みを支えているのは、単なるLLMの賢さだけではなく、ツール実行・コンテキスト注入・セッション管理を一つのCLIで完結させた「Claude Code」という実行環境(ハーネス)の完成度です。 「小規模なナレッジであれば、複雑なパイプラインを組む必要はない」という事実は、リソースの限られた現場や新人エンジニアにとって、非常に実用的な知見と言えます。まずはこの「エージェンティックサーチ」から始め、規模に応じてRAGへ移行するという選択肢が、今後のLLM活用のスタンダードになるかもしれません。
引用元: https://zenn.dev/kok1eeeee/articles/knowledge-chatbot-agentic-search
OpenAIが発表した最新の動画生成モデル「Sora 2」および「Soraアプリ」における、安全性への取り組みについての要約です。技術の進歩に伴うリスクに対し、エンジニアリングと運用の両面から多層的な防御策が講じられています。新人エンジニアの方にとっても、AIの社会実装における「信頼性設計」の具体例として非常に参考になる内容です。
主要な対策は以下の7つの柱で構成されています。
-
AI生成物の識別と来歴管理 すべての動画には業界標準の「C2PA」メタデータが埋め込まれ、目に見える形と見えない形の両方でAI生成物であることを示す信号が付与されます。また、Soraで生成されたものかを判定する高精度な逆画像・音声検索ツールも運用されます。
-
実在人物の画像からの動画生成(Image-to-Video) 友人や家族の写真から動画を生成できますが、アップロードには本人の同意が必要です。特に子供や若年層の画像については、より厳格なモデレーションとガードレールが適用されます。
-
キャラクター機能による肖像権の保護 自分の外見や声を「キャラクター」として登録し、その使用権を自らコントロールできる仕組みです。公人の描写は原則ブロックされます。また、自分のキャラクターが他人に使われた場合でも、常に内容を確認・削除できる透明性が確保されています。
-
青少年の保護(Teen Safeguards) 10代のユーザーに対しては、成人向けコンテンツのフィルタリング、スクロール時間の制限、DMの制限、ペアレンタルコントロールなどが適用され、安全に利用できる環境が整えられています。
-
有害コンテンツの多層フィルタリング プロンプト(入力)と生成動画(出力)の両方を、複数のフレームと音声にわたってチェックします。性的、テロ、自傷行為などの有害な生成を未然に防ぐほか、自動スキャンと人間によるレビューを組み合わせて継続的に学習・改善されています。
-
音声の安全性確保 生成された音声の文字起こしをスキャンしてポリシー違反をチェックします。また、実在するアーティストの模倣や既存の著作物を模倣する音楽の生成をブロックし、著作権保護にも配慮しています。
-
ユーザーのコントロールと通報機能 動画をフィードに公開するかはユーザーが選択でき、いつでも削除可能です。悪用に対する通報機能やアカウントブロック機能も完備されており、ポリシー違反に対して明確な対処が行われます。
これらの取り組みは、高い表現力を持つAIをいかにして責任を持って世に送り出すかという、現代のAI開発における重要な指針を示しています。
引用元: https://openai.com/index/creating-with-sora-safely
TypeScript 6.0がリリースされました。本バージョンは、JavaScriptベースのコードベースで構築される最後のリリースであり、次世代の「TypeScript 7.0」への橋渡しとなる非常に重要なマイルストーンです。
1. TypeScript 7.0(ネイティブ移植版)への準備
現在、TypeScriptチームはコンパイラと言語サービスをGo言語で書き直すプロジェクトを進めています。ネイティブコードの速度とマルチスレッドを活用することで、7.0以降は劇的な高速化が実現する予定です。6.0は、この7.0の動作(並列処理による非決定的な型IDのソート順など)をシミュレートする --stableTypeOrdering フラグを導入しており、次世代へのスムーズな移行をサポートします。
2. 開発体験の向上と新機能
- 型推論の強化:
thisを使用しない関数において、プロパティの順序に関わらず型推論がより正確に行われるようになりました。 - 最新ES仕様への対応: ES2025(
RegExp.escapeなど)や、待望の新しい日時APIであるTemporal、Mapの新しいメソッド(getOrInsert)の型がサポートされました。 - サブパスインポートの改善: Node.jsの仕様に合わせ、
#/で始まるサブパスインポートが可能になりました。 - DOM型の簡略化:
dom.iterableなどが標準のdomライブラリに統合され、設定がシンプルになりました。
3. 新人エンジニアが特に注意すべきデフォルト値の変更
モダンな開発環境に合わせ、tsconfig.json のデフォルト挙動が厳格かつ効率的に変更されています。
strict: trueがデフォルト: 新規プロジェクトでは最初から厳格な型チェックが有効になります。types: []がデフォルト: 以前は@types以下の全パッケージを自動で読み込んでいましたが、ビルドパフォーマンス向上のため、今後はtypes: ["node"]などのように必要なものだけを明示的に指定することが推奨されます。rootDirの変更: 明示しない場合、tsconfig.jsonがあるディレクトリがルートと見なされます。
4. 非推奨・廃止された機能
target: es5 や baseUrl、outFile、そして古いモジュール形式(AMD/UMD/SystemJS)が非推奨または廃止されました。これらはTypeScript 7.0では完全に削除されるため、モダンな設定への移行が必須となります。
今回のアップデートは、将来の圧倒的なパフォーマンス向上のための基盤作りです。新人エンジニアの方は、既存の設定に頼らず、最新のベストプラクティス(strictモードの活用や明示的な型定義)を意識することで、より堅牢で高速な開発環境を構築できるでしょう。
引用元: https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/
(株式会社ずんだもんは架空の登場組織です)