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 などで良い結果が得られています。一般的に、より高度なモデルの方が優れたパフォーマンスを発揮します。
アーティファクト作成には試行錯誤の要素が大きく、実験が鍵となります。