AI アーティファクトとは?
AI アーティファクトは、Discourse の投稿内で動的な Web ベースのコンポーネントを作成、埋め込み、対話することを可能にする強力なツールです。これらのコンポーネントにはカスタム 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 アーティファクトの使用
アーティファクトは、必要に応じてアーティファクト作成者エージェントによって自動的に作成されます。
上記のアーティファクトは GPT-4o と anime.js ライブラリを使用して生成されました作成されると、それらはあなたとアーティファクト作成者エージェントのみにプライベートになります。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コンテナ内でレンダリングされます。- クロスサイトスクリプティング(XSS)。
- 外部サイトや 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. セキュリティモード
- 厳格モード: アーティファクトが完全に信頼されていない環境では推奨されます。ユーザーはレンダリング前にブラウザでアーティファクトを手動でアクティブにする必要があります。
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 などで良好な結果が得られています。一般的に、より高度なモデルの方が優れた結果をもたらします。
アーティファクトの作成には試行錯誤の要素が大きく、実験が鍵となります。