株式会社ずんだもん技術室AI放送局

私立ずんだもん女学園放送部 podcast 20250425


Listen Later

関連リンク
  • 4万行超のopenapi.yamlをTypeSpecに移行した話
  • この記事では、OpenAPIを使ったAPIスキーマ駆動開発で直面した課題と、それを解決するためにTypeSpecに移行した経験が紹介されています。

    筆者のチームでは、APIの仕様を定義するのにOpenAPIのopenapi.yamlファイルを使っていました。開発を進めるにつれてこのファイルが4万行を超えるほど巨大になり、いくつかの問題が発生しました。最も大きな課題は、ファイルが大きすぎて手作業での編集が非常に大変になったこと、そしてGitHub CopilotやCursorのようなAI Agentを使う際に、ファイル全体を読み込ませようとすると情報量が多すぎて処理できなくなる(コンテキスト圧迫)ことでした。

    そこで、これらの課題を解決するためにTypeSpecというAPI定義言語への移行を検討しました。TypeSpecはMicrosoftが開発しており、TypeScriptに似た分かりやすい文法でAPIの仕様を定義できます。TypeSpecで書いた定義から、OpenAPIやプログラムのクライアントコードなどを自動生成する「エミッター」という機能が強力です。

    TypeSpecを選んだ理由はいくつかあります。まず、OpenAPIよりも構造化しやすく、ファイルを細かく分割して書けるため、巨大化しても管理しやすくなる点です。また、万が一TypeSpecが合わなかった場合でも、自動生成されたOpenAPIファイルを使えば元の運用に戻りやすい(撤退しやすい)ことも決め手になりました。さらに、記事執筆時点(2025年4月)でTypeSpecの安定版候補がリリースされ、安心して利用できるようになったことも後押ししました。

    移行は、まずTypeSpecの環境をセットアップし、既存の4万行を超えるopenapi.yamlをTypeSpec形式に自動変換するツールを使いました。変換後、一部の型定義がうまく変換されないといった問題が発生しましたが、TypeSpecの定義を手作業で調整したり、変換ツールの挙動を一時的に修正したりして対応しました。最終的には、TypeSpecファイルからopenapi.yamlを自動生成し、これまで使っていたコード生成ツール(OpenAPI Generator)やテストツール(Committee)はそのまま使い続けられるようにしました。

    移行後、TypeSpecファイルは元のOpenAPIファイルの半分以下(約2万行)になり、モデルやAPIルートごとにファイルを分割して管理できるようになりました。これにより、スキーマ全体の可読性が大幅に向上し、開発体験も改善されました。AI Agentも TypeSpec のファイルは小さく分割されているため、問題なく扱えるようになりました。また、TypeSpecを使えばOpenAPIのバージョンアップもエミッターの設定を変えるだけで簡単に行えるようになります。

    TypeSpecへの移行は調整が必要な部分もありましたが、約2日間で完了し、大規模なAPIスキーマの管理や開発効率の向上、AI Agentとの連携といった多くのメリットが得られたとのことです。OpenAPIファイルの巨大化に悩んでいるチームにとって、TypeSpecは検討する価値のある選択肢と言えるでしょう。

    引用元: https://zenn.dev/yuta_takahashi/articles/migrate-to-typespec

    • Enhance Your AI Agent with Data Flywheels Using NVIDIA NeMo Microservices NVIDIA Technical Blog
    • 企業でAIエージェント(自律的に動くAIシステム)を活用する際、常に変化するデータに対応し、AIの精度を維持することが大きな課題となります。これを「モデルドリフト」と呼びます。例えば、顧客対応AIが参照するデータベースの形式が変わったり、ユーザーの質問の仕方が変化したりすると、AIの回答精度が落ちてしまう可能性があります。

      この課題を解決し、AIエージェントの性能を継続的に向上させるための考え方が「データフライホイール」です。これは、ユーザーからのフィードバックやシステムで収集したデータを基にAIモデルを改善し、その結果AIの性能が向上することで、より多くのユーザーに使われ、さらにデータが集まる、という好循環サイクルのことです。このサイクルを回すことで、AIは常に新しいデータに適応し、精度を高く保つことができます。

      データフライホイールは、特に複雑なタスクをこなすAIエージェントにとって重要です。AIエージェントは、単一の応答だけでなく、状況を判断し、複数のツールを使ったり、情報を検索したりと、多くのステップを踏んで処理を行います。そのため、計算コストが高くなりやすく、効率性が求められます。データフライホイールによってモデルを最新データで調整することで、より小さくて効率的なモデルでも高い精度を維持できるようになり、運用コスト(TCO)や応答速度(レイテンシ)の改善に繋がります。

      NVIDIA NeMo Microservicesは、このデータフライホイールを実現するための包括的なプラットフォームを提供します。これは、AIエージェント開発に必要な一連のプロセスをサポートする機能群です。具体的には、AI学習のための「データ準備」、基盤となる大規模言語モデル(LLM)を特定のタスク向けに調整する「モデルカスタマイズ」(例えばLoRAのような技術を使って効率的に調整)、調整したモデルの性能を測る「モデル評価」、不適切・不正確な応答を防ぐための「ガードレール設定」、そしてモデルを実際に使えるようにする「デプロイ」といった機能がマイクロサービスとして提供されます。

      例えば、AIエージェントが外部ツールを使う機能(ツール呼び出し)を改善したい場合、NeMo Microservicesを使えば、大量のツール呼び出しデータを使って効率的にモデルをファインチューニングできます。小さなモデル(例: Llama 3.2 1B)を調整するだけで、より大きなモデル(例: Llama 3.1 70B)に近いツール呼び出し精度を達成できることが示されており、大幅な効率化が可能になります。

      これらのNeMo Microservicesの機能を連携させ、データ収集からモデル調整、評価、デプロイ、そして再びデータ収集へというサイクルを自動化することで、データフライホイールが構築されます。これにより、あなたの開発するAIエージェントは、常に最新の状況に適応し、性能を継続的に向上させることができます。

      NeMo Microservicesは現在利用可能で、始めるためのチュートリアルやドキュメントも提供されています。まずは試してみて、AIエージェントの強化に役立ててみてください。

      引用元: https://developer.nvidia.com/blog/enhance-your-ai-agent-with-data-flywheels-using-nvidia-nemo-microservices/

      • How Webtoon Entertainment built agentic workflows with LangGraph to scale story understanding
      • Webtoon Entertainmentは、「WEBTOON」や「Wattpad」といった大規模なストーリープラットフォームを運営している会社です。膨大な量のコンテンツ(マンガや小説)を扱っており、それらをマーケティング、翻訳、推薦などに活用する際に、一つ一つ手作業で内容を理解するのが大きな課題となっていました。

        この課題を解決するため、Webtoonは「Webtoon Comprehension AI (WCAI)」というシステムを開発しました。これは、AIエージェントと呼ばれる「特定のタスクを実行するAI」たちが連携して働く「エージェントワークフロー」によって動いています。特に、このワークフローの構築には「LangGraph」というフレームワークが使われています。

        WCAIの目的は、大量のWebtoonコンテンツに含まれるキャラクターや物語、画像とテキストの内容をAIが深く理解すること、そしてそれを効率的に(規模を拡大して)行えるようにすることです。

        技術的な面では、WCAIは画像とテキストを同時に理解できるAIモデル(VLM)や、特定のタスクを実行するAIエージェントを組み合わせています。これらのAIエージェント同士を連携させ、一連の処理の流れ(ワークフロー)を作るためにLangGraphが活用されています。

        なぜLangGraphを選んだのでしょうか? それは、Webtoonの膨大なコンテンツに対応できるスケーラビリティ、マンガやストーリー特有の専門知識をワークフローに組み込める柔軟性、ビジネスで使うための高い品質と一貫性が必要だったからです。LangGraphの「ノードベース」と呼ばれる仕組みは、処理のステップを細かく分けて、それぞれに専門的な知識を適用しやすかったのです。また、エージェントの動きを細かく制御でき、デバッグや監視がしやすい点も大きな理由でした。

        WCAIの中では、いくつかの主要なワークフローが動いています。例えば、「キャラクター識別」は登場人物の名前や役割、画像を特定します。「発言者識別」は、セリフが誰のものかを判断します。「物語抽出」は、ストーリーの重要な部分をテキストでまとめます。さらに、これらの情報を使って、ビジネスの目的に合わせた分析を行うワークフローもあります。例えば、マーケティングチームのために、特定のキャンペーンに合うような作品の特徴を抽出したりします。

        WCAIの導入により、コンテンツの内容を手作業で確認する手間が大幅に削減されました。例えば、コンテンツチームはこれまで手作業でキーワードを抽出していましたが、WCAIを使うことで作業量が70%以上減り、よりクリエイティブな業務に集中できるようになりました。マーケティングや翻訳チームも、必要な情報を素早く得られるようになり、業務効率が向上しました。

        WebtoonはこのWCAIシステムをさらに改善していく予定で、LangGraphのような新しい技術も積極的に取り入れています。この事例は、LangGraphを使ってAIエージェントによる複雑なワークフローを構築し、ビジネスの課題解決や生産性向上に繋げられることを示しています。

        この内容はLangChainのブログ記事を要約したものです。

        引用元: https://blog.langchain.dev/customers-webtoon/

        • アットプレス
        • 株式会社Code and DESIGNが、対話アプリ「お喋りずんだもん」のバージョン2.0をリリースしました。このアプリは、東北応援キャラクターの「ずんだもん」とリアルタイムで自由におしゃべりできるサービスです。まるで友達と話しているかのような自然な会話を通じて、ユーザーに癒しと楽しさを提供することを目的としており、仕事や勉強の合間やリラックスしたいときなどに利用できます。

          今回のバージョン2.0の大きな変更点として、アプリ内課金(In-App Purchase)に対応しました。これにより、従来の無料プランで気軽に会話を楽しめる点はそのままに、アプリをより深く楽しみたいユーザー向けにプレミアム機能が追加されています。これは、アプリのサービス提供側が、ユーザーのニーズに応えつつ、サービスを継続・発展させていくためのビジネスモデルの一つの形と言えます。

          バージョン2.0は現在iOS版のみで提供されています。アプリ開発の現場では、このように特定のプラットフォームから先行して新機能をリリースするといった対応もよく行われます。

          「お喋りずんだもん」は、日常にちょっとした癒しや楽しさを加えたい方にとって魅力的なアプリです。今回のアップデートは、ユーザーにとっての選択肢を増やし、アプリを継続的に運営していく上で重要な機能追加と言えるでしょう。エンジニアの視点から見ると、このような機能アップデートや課金モデルの導入は、サービス開発・運用における一般的なステップの一つとして学ぶことができます。

          引用元: https://www.atpress.ne.jp/news/434030

          • お便り投稿フォーム
          • VOICEVOX:ずんだもん

            ...more
            View all episodesView all episodes
            Download on the App Store

            株式会社ずんだもん技術室AI放送局By 株式会社ずんだもん技術室AI放送局