AIアーティファクトとは?
AIアーティファクトは、Discourseの投稿内で動的なWebベースのコンポーネントを作成、埋め込み、操作できる強力なツールです。これらのコンポーネントにはカスタムの HTML、CSS、JavaScript を含めることができ、次のようなさまざまなユースケースを可能にします。
- インタラクティブなクイズやフォームの埋め込み。
- リッチなグラフィックやアニメーションを使用したデータの視覚化。
- 軽量なWebアプリケーションやツールの統合。
- Webフレームワーク、JavaScriptライブラリなどについて学習するためのツール。
AIアーティファクトは、安全なブラウジング体験を確保しながら、Discourseの投稿にインタラクティブ性を追加することで、投稿をシームレスに強化します。
サイト設定
管理者はいくつかの設定を構成できます。
1. 機能の有効化
- 設定:
discourse_ai_enabled- AIアーティファクトを機能させるには、このグローバル設定が有効になっていることを確認してください。
2. セキュリティモード
- 設定:
ai_artifact_security- オプション:
disabled: アーティファクトシステムを無効にするlax: ユーザーの操作を必要とせずに、アーティファクトが投稿に自動的に表示されます。strict: ユーザーは、「表示」または「実行」ボタンをクリックして、ブラウザで明示的にアーティファクトをアクティブにする必要があります。この設定は、セキュリティを重視する環境に推奨されます。(デフォルト)
- オプション:
3. アーティファクト作成者へのアクセス
- デフォルトでは、アーティファクト作成者ペルソナはスタッフユーザーのみに制限されています。この制限により、信頼できるユーザーのみがアーティファクトを作成でき、不適切または悪意のある使用のリスクを最小限に抑えることができます。
- より広範なアクセスが必要な場合は、サイト管理者によって手動で権限を構成する必要があります。
投稿でのAIアーティファクトの使用
アーティファクトは、アーティファクト作成者ペルソナによってオンデマンドで自動的に作成されます。
<div class="ai-artifact" data-ai-artifact-version="3" data-ai-artifact-id="71"></div>
上記のアーティファクトは、GPT-4oとanime.jsライブラリを使用して生成されました
作成されると、それらはあなたとアーティファクト作成者ペルソナの間でのみプライベートになります。会話を共有できるユーザー(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://unpkg.com
- https://cdnjs.cloudflare.com
- https://ajax.googleapis.com
- https://cdn.jsdelivr.net
- https://esm.sh
3. セキュリティモード
- 厳格モード: アーティファクトが完全に信頼されていない環境に推奨されます。ユーザーは、アーティファクトがレンダリングされる前に、ブラウザで手動でアクティブにする必要があります。
4. アクセスと権限
- アーティファクトは次の場合にのみ表示されます。
- 作成者。
- 関連する投稿を表示する適切な権限を持つユーザー(例:プライベートメッセージ)。
- 公開アーティファクトは、AI会話を共有することによって明示的にマークする必要があります。
5. 長さ制限
- アーティファクトのHTML、CSS、JavaScriptのサイズは、それぞれ64KBに制限されています。これにより、コンポーネントは軽量に保たれ、ユーザーやシステムに負担をかけません。
アーティファクトストレージ
Webアーティファクトは、オプションでユーザーごとのデータを保存できます。「ユーザーストレージを使用する」などのヒントをアーティファクト作成者に与えてください。
このシステムでは、キーと値のペアを保存できます。
- プライベート(管理者および特定のユーザーのみ表示可能)
- パブリック(匿名ユーザーを含むすべてのユーザーが表示可能)
キーと値のペアは、アーティファクトが発生した投稿に対して保護されますが、アーティファクトを公開すると、すべてのユーザーがキーを追加できるようになります。
ストレージを制御するには、非表示の設定を使用できます。
ai_artifact_kv_value_max_length(デフォルトではアイテムは5000文字以下である必要があります)ai_artifact_max_keys_per_user_per_artifact(デフォルトは100)
FAQ
誰がAIアーティファクトを作成できますか?
デフォルトでは、スタッフユーザー(例:管理者またはモデレーター)のみが、アーティファクト作成者ペルソナを通じてアーティファクトを作成できます。このペルソナは、HTML、CSS、JavaScriptを使用してインタラクティブなWebウィジェットを設計するプロセスを簡素化します。
アーティファクトをクリックするとどうなりますか?
- laxモードでは、アーティファクトが自動的に表示されます。
- 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などで良好な結果が得られています。一般的に、より高度なモデルの方が優れています。
アーティファクト作成には試行錯誤が多く伴うため、実験が鍵となります。