算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
design-a2a-agent-card【设计与创意】エージェントの機能、スキル、認証要件、サポートするコンテンツタイプを記述するA2A Agent Card(.well-known/agent.json)マニフェストを設計する。他のA2A準拠エージェント から発見可能なエージェントを構築する時、マルチエージェントオーケストレーション用に 機能を公開する時、既存エージェントをA2Aプロトコルに移行する時、実装前にエージェントの パブリック契約を定義する時、Agent Cardを消費するエージェントレジストリと統合する時に 使用する。
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
他のエージェントによる発見のためにエージェントのアイデンティティ、スキル、認証要件、機能を宣伝する標準準拠のA2A Agent Cardを作成する。
none、oauth2、oidc、api-key)text/plain以外のサポートコンテンツタイプ(例: image/png、application/json)1.1. エージェントのアイデンティティフィールドを選択する:
{
"name": "data-analysis-agent",
"description": "Performs statistical analysis, data visualization, and report generation on tabular datasets.",
"url": "https://agent.example.com",
"provider": {
"organization": "Example Corp",
"url": "https://example.com"
},
"version": "1.0.0"
}
1.2. 以下の質問に答える明確で実行可能な説明を書く:
1.3. Agent Cardが/.well-known/agent.jsonで配信される正規URLを設定する。
期待結果: name、description、URL、provider、versionを含む完全なアイデンティティブロック。
失敗時: エージェントが複数のドメインを提供する場合、多くのスキルを持つ1つのエージェントにするか、焦点を絞ったスコープの複数のエージェントにするかを検討する。A2Aは明確な境界を持つ焦点を絞ったエージェントを推奨する。
2.1. エージェントが実行できる各スキルを定義する:
{
"skills": [
{
"id": "analyze-dataset",
"name": "Analyze Dataset",
"description": "Run descriptive statistics, correlation analysis, or hypothesis tests on a CSV dataset.",
"tags": ["statistics", "data-analysis", "csv"],
"examples": [
"Analyze the correlation between columns A and B in my dataset",
"Run a t-test comparing group 1 and group 2"
],
"inputModes": ["text/plain", "application/json"],
"outputModes": ["text/plain", "application/json", "image/png"]
},
{
"id": "generate-chart",
"name": "Generate Chart",
"description": "Create bar, line, scatter, or histogram charts from tabular data.",
"tags": ["visualization", "charts"],
"examples": [
"Create a scatter plot of height vs weight",
"Generate a histogram of the age column"
],
"inputModes": ["text/plain", "application/json"],
"outputModes": ["image/png", "image/svg+xml"]
}
]
}
2.2. 各スキルに以下を提供する:
2.3. スキルの境界が明確で重複しないことを確認する。各タスクは正確に1つのスキルにマッピングされるべき。
期待結果: 各エントリにid、name、description、tags、examples、I/Oモードを持つskills配列。
失敗時: スキルが大幅に重複する場合、より多くの例を持つ1つの広いスキルにマージする。スキルが広すぎる場合、焦点を絞ったサブスキルに分割する。
3.1. デプロイメントコンテキストに基づいて認証スキームを定義する:
認証なし(ローカル/信頼されたネットワーク):
{
"authentication": {
"schemes": []
}
}
OAuth 2.0(本番環境に推奨):
{
"authentication": {
"schemes": ["oauth2"],
"credentials": {
"oauth2": {
"authorizationUrl": "https://auth.example.com/authorize",
"tokenUrl": "https://auth.example.com/token",
"scopes": {
"agent:invoke": "Invoke agent skills",
"agent:read": "Read task status"
}
}
}
}
}
APIキー(シンプルな共有シークレット):
{
"authentication": {
"schemes": ["apiKey"],
"credentials": {
"apiKey": {
"headerName": "X-API-Key"
}
}
}
}
3.2. デプロイメント環境に最小限の認証を選択する:
noneapiKeyoauth2またはoidc3.3. トークン/キーのプロビジョニングプロセスをAgent Cardのproviderセクションまたは外部ドキュメントに文書化する。
期待結果: デプロイメントのセキュリティ要件に一致する認証ブロック。
失敗時: OAuth 2.0インフラストラクチャが利用できない場合、APIキー認証で開始し移行を計画する。パブリックエージェントをnone認証でデプロイしない。
4.1. エージェントがサポートするプロトコル機能を宣言する:
{
"capabilities": {
"streaming": true,
"pushNotifications": false,
"stateTransitionHistory": true
}
}
4.2. 実装の準備状況に基づいて各機能フラグを設定する:
tasks/sendSubscribe経由のSSEストリーミングをサポートする場合true。長時間実行タスクのリアルタイム進捗更新を有効にする。true。エージェントがWebhook URLを保存しコールバックする必要がある。true。監査証跡に有用。4.3. 実装が完全にサポートしている場合のみ機能をtrueに設定する。サポートされていない機能の宣伝は相互運用性を壊す。
期待結果: 実際の実装に一致するブール値フラグを持つcapabilitiesオブジェクト。
失敗時: 機能が実装されるか不確かな場合、falseに設定する。機能は将来のバージョンで追加できる。機能の削除は破壊的変更である。
5.1. 完全なAgent Cardを組み立てる:
{
"name": "data-analysis-agent",
"description": "Performs statistical analysis and visualization on tabular datasets.",
"url": "https://agent.example.com",
"version": "1.0.0",
"provider": {
"organization": "Example Corp",
"url": "https://example.com"
},
"authentication": {
"schemes": ["oauth2"],
"credentials": { ... }
},
"capabilities": {
"streaming": true,
"pushNotifications": false,
"stateTransitionHistory": true
},
"skills": [ ... ],
"defaultInputModes": ["text/plain"],
"defaultOutputModes": ["text/plain"]
}
5.2. Agent Cardを検証する:
/.well-known/agent.jsonでカードを配信していることを確認5.3. Agent Cardを公開する:
https://<agent-url>/.well-known/agent.jsonで配信Content-Type: application/jsonを設定5.4. カードのフェッチにより発見をテストする:
curl -s https://agent.example.com/.well-known/agent.json | python3 -m json.tool
期待結果: well-known URLで配信され、任意のA2Aクライアントがパース可能な有効なJSON Agent Card。
失敗時: JSON検証が失敗する場合、JSONリンターを使用して構文エラーを特定する。URLが到達不能な場合、DNS、SSL証明書、Webサーバー設定を確認する。CORSが必要な場合、Access-Control-Allow-Originヘッダーを追加する。
/.well-known/agent.jsonに配信されているstreaming: trueやpushNotifications: trueを設定すると、それらの機能が使用された時にクライアント障害を引き起こす。控えめにするdefaultInputModesとdefaultOutputModesが省略されると、クライアントはどのコンテンツタイプを送信すべきか分からない場合があるimplement-a2a-server -- Agent Cardの背後にあるサーバーを実装するtest-a2a-interop -- Agent Cardの適合性と相互運用性を検証するbuild-custom-mcp-server -- A2Aの代替/補完としてのMCPサーバーconfigure-mcp-server -- A2Aセットアップに適用可能なMCP設定パターン