AIアーティファクトとは?
AIアーティファクトは、ユーザーがDiscourseの投稿内で動的なウェブベースのコンポーネントを作成、埋め込み、操作できるようにする強力なツールです。これらのコンポーネントには、カスタムのHTML、CSS、JavaScriptを含めることができ、以下のようなさまざまなユースケースを可能にします。
- インタラクティブなクイズやフォームの埋め込み。
- 豊富なグラフィックやアニメーションを使用したデータの視覚化。
- 軽量なWebアプリケーションやツールの統合。
- Webフレームワーク、JavaScriptライブラリなどについて学習するためのツール。
AIアーティファクトは、安全なブラウジング体験を確保しつつ、対話性(インタラクティビティ)を追加することで、Discourseの投稿をシームレスに強化します。
サイト設定
管理者はいくつかの設定を構成できます。
1. 機能の有効化
- 設定:
discourse_ai_enabled- AIアーティファクトが機能するように、このグローバル設定を有効にしてください。
2. セキュリティモード
- 設定:
ai_artifact_security- オプション:
disabled: アーティファクトシステムを無効にします。lax: アーティファクトはユーザーの操作を必要とせずに投稿内に自動的に表示されます。hybrid: デフォルトでは、アーティファクトは実行にクリックが必要ですが、投稿作成者は埋め込みマークアップにdata-ai-artifact-autorunを追加することで、特定の一部のアーティファクトを即座に実行させることができます。strict: ユーザーは、「表示」または「実行」ボタンをクリックしてブラウザでアーティファクトを明示的にアクティブ化する必要があります。この設定は、セキュリティを重視する環境に推奨されます。(デフォルト)
- オプション:
3. アーティファクト作成者へのアクセス
- デフォルトでは、アーティファクト作成者ペルソナはスタッフユーザーのみに制限されています。この制限により、信頼できる個人だけがアーティファクトを作成でき、不適切または悪意のある使用のリスクを最小限に抑えることができます。
- より広範なアクセスが必要な場合は、サイト管理者が手動で権限を設定する必要があります。
投稿でのAIアーティファクトの使用
アーティファクトは、アーティファクト作成者ペルソナによってオンデマンドで自動的に作成されます。
<div class="ai-artifact" data-ai-artifact-version="3" data-ai-artifact-id="71"></div>
<small>上記のアーティファクトはGPT-4oとanime.jsライブラリを使用して生成されました</small>
作成されると、それらはあなたとアーティファクト作成者ペルソナに対してプライベートになります。AI会話を共有できるユーザー(ai bot public sharing allowed groups に属するユーザー)は、会話を共有することでアーティファクトを公開することもできます。
共有されたら、次のHTMLマークアップを使用して投稿にレンダリングできます。
<div class="ai-artifact" data-ai-artifact-version="3" data-ai-artifact-id="71"></div>
(ここで、バージョンとアーティファクトIDは、バージョン管理されたアーティファクトのものです)
セキュリティに関する考慮事項
AIアーティファクトはカスタムで記述されたHTML、CSS、JavaScriptを実行できるため、Discourseは堅牢な保護措置を実装しています。
1. iFrame内でのサンドボックス化
- アーティファクトは、
sandbox属性を持つ分離されたiframeコンテナ内でレンダリングされ、以下のような潜在的に危険な操作を制限します。- クロスサイトスクリプティング。
- 外部サイトやAPIへのアクセス。
2. コンテンツセキュリティポリシー (CSP)
- アーティファクト内のすべてのリソース(JavaScriptライブラリなど)は、安全で事前に承認されたドメイン(以下のような)に制限されます。
- https://cdn.jsdelivr.net
- https://cdnjs.cloudflare.com
- https://unpkg.com
- https://ajax.googleapis.com
- https://d3js.org
- https://code.jquery.com
- https://esm.sh
3. セキュリティモード
- 厳格モード (Strict Mode): アーティファクトが完全に信頼できない環境に推奨されます。ユーザーは、アーティファクトがレンダリングされる前に、ブラウザで手動でアクティブ化する必要があります。
4. アクセスと権限
- アーティファクトは以下にのみ表示されます。
- その作成者。
- 関連する投稿を表示する適切な権限を持つユーザー(例:プライベートメッセージ)。
- パブリックアーティファクトは、AI会話を共有することによって明示的にマークされる必要があります。
5. 長さの制限
- アーティファクト内のHTML、CSS、JavaScriptのサイズは、それぞれ64 KBに制限されます。これにより、コンポーネントが軽量に保たれ、ユーザーやシステムに負担をかけないようにします。
アーティファクトのストレージ
Webアーティファクトは、オプションでユーザーごとのデータを保存できます。これを行うには、アーティファクト作成者に「ユーザー ストレージを使用する」などのヒントを与えます。
このシステムでは、キーと値のペアを保存できます。
- プライベート(管理者と特定のユーザーのみが閲覧可能)
- パブリック(匿名ユーザーを含むすべてのユーザーが閲覧可能)
キーと値のペアは、アーティファクトが生成された投稿に対して保護されますが、アーティファクトを公開共有すると、すべての人(匿名ユーザーを含む)がキーを追加できるようになります。
ストレージを制御するために、非表示の設定を使用できます。
ai_artifact_kv_value_max_length(デフォルトではアイテムは5000文字以下でなければなりません)ai_artifact_max_keys_per_user_per_artifact(デフォルトはアーティファクトごとにユーザー100キー)
よくある質問 (FAQ)
誰がAIアーティファクトを作成できますか?
デフォルトでは、スタッフユーザー(例:管理者やモデレーター)のみがアーティファクト作成者ペルソナを通じてアーティファクトを作成できます。このペルソナは、HTML、CSS、JavaScriptを使用して対話型のWebウィジェットを設計するプロセスを簡素化します。
アーティファクトをクリックするとどうなりますか?
- laxモードでは、アーティファクトは自動的に表示されます。
- hybridモードでは、デフォルトでクリックが必要ですが、埋め込みに
data-ai-artifact-autorunが含まれている場合は自動実行される可能性があります。 - strictモードでは、「実行」ボタンをクリックすることでアーティファクトがアクティブ化され、ブラウザでの読み込みが可能になります。
AIアーティファクトは安全ですか?
はい。AIアーティファクトは厳密に制御された環境で実行されます。
- サンドボックス化されており、iframeメッセージングを介してのみ、Discourseアプリケーションやユーザーコンテキストと直接対話することはできません。
- 厳格モードにより、アクティベーションを制御できます。
- アーティファクトはデフォルトでプライベートであり、グローバルアクセスを与えるには明示的に共有する必要があります。
アーティファクトのソースコードを見ることはできますか?
はい。Discourse AIがアーティファクトを生成する際、完全なマークアップ、CSS、JavaScriptが含まれます。
サポートされているLLMは何ですか?
アーティファクトは、設定されている任意のLLMを使用して生成できますが、特定のLLMはアーティファクト作成に特化し、より微調整されています。
o3、Anthropic Claude Sonnet 3.7 - 4.0、GPT-4.1、Gemini Pro 2.5などで良好な結果が得られています。一般的に、より高度なモデルの方が優れています。
アーティファクト作成には試行錯誤の要素が大きく関わってくるため、実験が鍵となります。