スキルの評価
Dagsterスキルの効果を定量的に測定する軽量評価フレームワークを構築し、その結果を報告する。
キーポイント
DagsterがAIエージェント(Skills)の評価フレームワークを構築し、効果測定の方法論を公開
Dagster Skillsは3種類(dagster-expert, dagster-integrations, dignified-python)で構成され、データエンジニアリングとプロダクションレディPythonを支援
AIエージェントの信頼性向上と実用性検証のための実践的アプローチを示している
影響分析・編集コメントを表示
影響分析
この記事は、AIエージェントの実用化において重要な「評価と検証」の方法論に焦点を当てており、生成AIの企業導入における信頼性確保の実践例を示している。特にデータエンジニアリング領域でのAIエージェントの効果測定フレームワークは、同業他社にも参考になるアプローチである。
編集コメント
AIエージェントの「使えるかどうか」を定量評価する方法論の具体例として注目。実務導入における検証プロセスの重要性を再認識させる内容。
データ統合プラットフォーム「Dagster」は、Slack向けAIデータアナリスト「Compass」を発表した。さらに、自社が提供するAIエージェント向け「Dagster Skills」の効果を定量的に測定するための軽量な評価フレームワークを構築し、その知見を公開した。この取り組みは、ユーザーがエージェントに指示を出した際、スキルが実際に活用され、適切な文脈が参照されているか、確かな結果を得られるかを検証する目的で始められた。
Dagsterが提供するスキルは主に三つある。第一の「dagster-expert」は、Dagsterフレームワークを活用するための設計パターンやアーキテクチャに関する核心的な文脈を提供する。資産の分割の要否、自動化戦略(宣言的オートメーション、スケジュール、センサー)の選択、リソース定義のパターン、プロジェクト構成などが含まれる。また、dgコマンドラインユーティリティを多用し、新規プロジェクトの構築、資産の実体化の実行、ログの確認、障害対応など、ローカル及び本番環境での確定的な操作を可能にしている。
第二の「dagster-integrations」は、最も広範なカバー範囲を持つ。AI/ML、ETLツール、ストレージオプション、検証フレームワークなどカテゴリ別に分類され、特定のデータエンジニアリング課題を解決するためのツール提案、統合方法の初期化、Dagsterプロジェクト内での設定方法を指南する。各ツールには固有の文脈やドキュメントが存在するため、スキル作成には複雑さが伴う。開発チームは、エンジニアが遭遇し得る「特有の癖」や「落とし穴」を可能な限りコード化し、正確な利用を保証しようとしている。
第三の「dignified-python」は、データエンジニアリング専用ではないが、本番環境で通用する「プロダクションレディなPython」の実践を促進するために作成された。Dagsterチームが内部で使用するこのスキルは、現代的なPythonの重要な概念を含んでいる。
要約すると、Dagsterは、自社のエコシステムを効果的に活用するためのAIスキルセットを整備し、その性能を客観的に評価するフレームワークを構築することで、ユーザーが信頼できるインサイトと確実な結果を得られるよう支援する基盤を強化している。
原文を表示
Meet Compass — Dagster’s new AI data analyst for Slack. Turn questions into trusted insights, instantly. Try Compass now →Discover What assets do best, an animated, narrated story about how data assets work together. Watch now →
Try Dagster+Sign InWe built a light weight evaluation framework to quantiatively measure the effectiveness of the Dagster Skills, and these are our findings.
So you've written a skill. How do you know if the agent is actually using it? Is the correct context being referenced when you ask a question? Is it doing anything at all…?
We recently published our own collection of skills for working with the Dagster framework and the vast library of integrations that we support, and we had a similar question. We wanted to better understand what was going on under-the-hood when we asked Claude, "Put my dbt models on a schedule to run every 15 minutes". So we set out to create a light-weight evaluation framework to ensure users of our skills get the result they need.
Before we dig in to how we evaluated our skills, let's talk about the skills that we provide.
First, we have dagster-expert which is the cornerstone of context for ensuring your project adheres to the patterns and architectural decisions for working with the Dagster framework. This includes information like whether or not an asset should be partitioned, which automation strategy is best to use (declarative automation, schedules, sensors), the patterns for defining a resource, design patterns in data engineering, and how to organize your project(s). Additionally, this skill makes heavy use of the dg command-line utility which is how we provide deterministic actions to the agent. This means you can do things like scaffold a new project, launch assets to be materialized, view logs, and troubleshoot failures in both your local and deployed instances of Dagster.
Next up, we have the dagster-integrations skill, which has the largest surface area by far. These skills are broken down by category: AI & ML, ETL tools, storage options, validation frameworks, etc. As an example, if you are trying to solve a specific data engineering problem, this skill will be able to provide you with suggested tools, how to initialize the integration, and how you would configure it within you Dagster project. It's worth pointing out that an additional complexity of creating a skill for integrations is that many of these tools have their own context, or documentation, that is required to ensure the tool is being used correctly. For that reason, we are trying to encode as many of the “quirks” and “gotchas” that an engineer might run into while working with these tools.
And finally, we have dignified-python. While not specifically designed for data engineering, this skills was created to promote what we consider to be production-ready Python. It is the skill we use internally while building with Python, and it includes many of the important concepts we promote, such as: modern type annotations, exception handling patterns, API design principles, and more.
So now that you have an idea of what we're trying to validate, let's talk about how we've built a light weight evaluation framework for ensuring that our skills are providing the correct context, being invoked when we would expect, and are most importantly, producing correct outputs. Additionally, by having a light weight testing framework, it has enabled us to get quick and repeatable feedback on workflows with context on what does and doesn’t work. This allowed us to iterate quickly and drastically improve the Dagster skills
All of the source code discussed in this post can be found in the dagster-io/skills repository in the dagster-skills-evals directory.
The basic architecture of this framework is a simple utility that allows us to run Claude headlessly with prompts covering common use-cases, and a selection of plugins (skills) to use. From that we are able to create snapshots of tool and skill usage, token utilization, and of course the output that is produced. These snapshots are persisted in version control, which allows us to then monitor how they change over time as we modify the underlying skills.
Here is an example snapshot that is produced from a prompt requested to create an asset in an existing Dagster project. As expected, we can see that the dagster-expert skill was referenced, and we can see a narrative summary of what occurred during this request, and the tools that were used. We can see that thedg scaffold defs command was utilized, and that validation occurred by using the dg list defs command as we would expect!
{ "__class__": "ClaudeExecutionResultSummary", "execution_time_ms": 59191, "input_tokens": 56, "narrative_summary": [ "- User requested to add a new Dagster asset named 'dwh_asset' with an empty body", "- Invoked the dagster-skills:dagster-expert skill to understand project structure and how to add new assets", "- Discovered t
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み