dif.sh favicon

dif.sh

MarkdownファイルとCLIを使用して、実験をコードベース内で直接管理するGitネイティブな機能フラグおよびA/Bテストプラットフォームです。

コードとITビルド時の競合検出AIエージェント用コンテキスト生成実験の自動アーカイブローカルでのバリアントプレビュー
dif.sh product interface screenshot
AIToolly 掲載日

dif.shとは?製品概要

製品の機能と公式な位置づけ

dif.shは開発者向けの実験プラットフォームであり、機能フラグ、A/Bテスト、ロールアウトをプロジェクトのリポジトリ内のMarkdownファイルとして保存します。このアプローチにより、チームは標準的なバージョン管理ツールを使用して、機能フラグのライフサイクル全体を管理できます。

システムは既存のGitワークフローと統合されており、プルリクエストによる実験の承認や、すべての変更の永続的なバージョン履歴の維持が可能です。CLIが付属しており、テストの作成、検証、終了を自動化すると同時に、本番環境向けの型定義済みクライアントを生成します。

ローカルビルドプロセスを利用することで、本番環境に到達する前に実験の衝突を検出します。また、AIコーディングエージェントがコードベースの現在の実験状態を理解できるように特別に設計されたコンテキストファイルも生成します。

dif.shで何ができますか?

公式情報で確認できる活用例

A/Bテストの管理

チームはMarkdownファイル内でバリアント、仮説、メトリクスを定義し、コードと並行して実験を実行および追跡できます。

AIコーディングエージェントのコンテキスト

生成されたコンテキストファイルをコーディングエージェントに提供し、開発中にアクティブな実験や過去の学習内容を理解させます。

dif.shの使い方

公式情報に記載された利用手順

  1. 1

    初期化

    initコマンドを実行して、リポジトリ内に実験およびサーフェスディレクトリを含むローカルフォルダ構造をセットアップします。

  2. 2

    実験の作成

    CLIを使用して新しいテストをドラフトします。これにより、関連するサーフェスログから過去のコンテキストが自動的に取得され、新しい仮説に反映されます。

  3. 3

    検証とQA

    設定が正しいことを確認するための検証チェックを実行し、QAコマンドを使用して特定のバリアントをローカルでプレビューします。

  4. 4

    ビルドとデプロイ

    buildコマンドを実行して型定義済みクライアントを生成し、コードを本番環境にデプロイする前に排他グループの競合を解決します。

  5. 5

    終了

    ファイルをアーカイブし、決定ブロックをドラフトし、将来の参照のためにサーフェスの学習ログを更新することで、テストを締めくくります。

Gitベースの実験ライフサイクル

このプラットフォームは機能フラグと実験をコード資産として扱い、設定にはMarkdownファイルを、バージョン管理にはGitを利用します。このアプローチは、監査ログと承認プロセスがプルリクエストなどの既存の開発者ワークフロー内に留まるように設計されており、設定管理のための個別のデータベースや外部ダッシュボードは不要です。

ビルドプロセス中に、ツールは排他グラフを解決し、ユーザーが2つの競合する実験に同時に割り当てられないようにします。競合が検出された場合、継続的インテグレーション環境でビルドが失敗するため、ロジックの衝突が本番アプリケーションに到達するのを防ぐことができます。

  • AIエージェントの認識用コンテキストファイルの自動生成。
  • 重複する実験を減らすためのビルド時の競合検出。
  • 特定のアプリケーション領域の学習履歴を維持するサーフェスログ。
  • 本番コードを軽量かつ高性能に保つための型定義済みクライアントの生成。

dif.shを選ぶ前に確認すること

自分の素材とワークフローで確認したい項目

  • ビルドプロセス中に、CLIが同じ排他グループ内の重複する実験を正しく特定し、ブロックすることを確認します。
  • 生成されたコンテキストファイルに、外部のコーディングエージェントが使用するための期待されるアクティブなフラグとバリアントが含まれていることを検証します。
  • CLIを介して実験が終了した後、サーフェスログが決定ブロックで正しく更新されていることを確認します。

dif.shの情報源と確認日

確認した情報源とその日時

公式情報源
https://www.dif.sh/
最終確認日
カテゴリー
コードとIT

dif.shのよくある質問

情報源を確認した製品情報に基づく回答

実験の競合はどのように処理されますか?

システムはファイルのフロントマターで定義された排他グループを使用し、ビルドステップ中に衝突をチェックします。ユーザーが2つの競合するテストに割り当てられる可能性がある場合、ビルドを失敗させます。

顧客データはどこに保存されますか?

顧客データはリポジトリに保存されたりコミットされたりすることはありません。代わりに、オーディエンス属性が設定で宣言され、値はアプリケーションのユーザーコンテキストから実行時に提供されます。

surfacesディレクトリの役割は何ですか?

サーフェスは組織的記憶のリポジトリとして機能し、特定の画面や機能に関する過去の学習内容や注意点を記録したMarkdownファイルを含み、将来の実験の参考にされます。

このツールはAIコーディングエージェントとどのように統合されますか?

ビルドのたびに、アクティブなフラグと最近の学習内容を含むコンテキストファイルが再生成されます。コーディングエージェントはセッションの開始時にこれを読み取り、現在の実験状態を把握できます。

ツールの使用にクラウドサービスは必要ですか?

いいえ、コア機能はCLIとローカルファイルを介して動作します。ただし、一元化された分析や信頼区間の可視化を希望するチーム向けに、オプションのクラウドレイヤーが用意されています。

同じカテゴリーに最近追加されたツールをチェックできます。