caira について
CAIRAは、生成AIソリューションを構築する開発者向けのリファレンスライブラリで、アプリ生成ツールではありません。コードを調査し、必要な構成要素だけを選んで適応する手順を示し、無パスワード認証を重視します。
主な機能
- 01必要なリファレンス構成要素の選択
- 02構成要素のソースコード全体の調査
- 03既存の技術スタックへの適応
- 04マネージドIDなど無パスワード方式の採用
- 05IaC、アプリ、コンテナーの検証
活用シーン
- 01生成AIプロジェクトのインフラ構成要素の選定
- 02リファレンスコードを使ったAPIやフロントエンドの拡張
- 03既存環境に合わせたデプロイ構成の調整
- 04実装に必要なIDとネットワーク境界の決定
MCP 対応
CAIRAはリファレンスアーキテクチャの調査にGitHub MCP serverを利用する方法を示しています。GitHub raw URLや一時的なリポジトリのクローンも利用できます。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ microsoft/ caira --skill cairaインストール後、Claude Code で/cairaを入力して読み込まれたか確認します。
詳細
CAIRA
ユーザーが生成 AI ソリューションの構築や拡張を希望している場合に、このスキルを使用します。CAIRA はリファレンスライブラリであり、アプリケーションジェネレーターではありません。リポジトリを調査し、関連する最小限のリファレンスコンポーネントを選んで、ユーザーのワークスペースに適用してください。
変更を生成する前のヒアリング
コンポーネントの選定に必要なことだけを尋ねてください。
- ユーザーはどのような成果を実現しようとしていますか?
- Foundry/OpenAI のエンドポイント、ホスティング、ID 管理、オブザーバビリティ、フロントエンド/API のコードはすでにありますか?
- どのようなネットワーク分離やセキュリティ境界が必要ですか?
- ユーザーが希望するプログラミング言語やフレームワークは何ですか?ユーザーの希望が CAIRA のリファレンスに直接含まれていない場合は、CAIRA のリファレンスコンポーネントに示された同じアーキテクチャパターンと設計原則に従いながら、ユーザーが希望する言語やフレームワークに合わせて適用してください。
- 現時点で必要なコンポーネントはどれですか?Foundry、Container Apps、API、フロントエンド、それともアプリのコードのみですか?ユーザーに必要なコンポーネントが 1 つだけだとわかった場合は、そのコンポーネントだけを使用してください。
基本ルール
- 正式な情報源として、
github.com/microsoft/caira/リポジトリのreference-architecturesディレクトリを使用してください。利用可能であれば GitHub MCP サーバーで、または GitHub の raw URL 経由で、あるいはリポジトリを一時的にクローンしてローカルのreference-architectures/を調査してください。 - リファレンスアーキテクチャを確認する際は、対象コンポーネントのコード全体を読んでください。README やドキュメントだけに調査を限定しないでください。正式な情報源はコードです。
- フルスタックのコピーより、小規模なコンポーネントのリファレンスを優先してください。
- OpenAI 互換エンドポイントを必要とするシナリオでは、ユーザーがすでにエンドポイントを持っている場合や、別の方法を希望している場合を除き、Foundry の IaC リファレンスを優先してください。
- 新しいインフラストラクチャを提案する前に、ユーザーがすでに所有しているものを確認してください。
- 常にマネージド ID など、パスワードレスの ID パターンを使用してください。ユーザーが API キーまたはシークレットを使用する方法を明示的に求めない限り、API キー、静的な認証情報、シークレットは絶対に使用しないでください。
- Foundry 用の IaC を実装する場合は、リファレンスアーキテクチャに示されている Azure Verified Module を使用してください。明示的に求められない限り、Foundry 関連の単独の Terraform リソースは使用しないでください。
- Foundry と通信する API を実装する場合は、ユーザーが Azure OpenAI を明示的に求めていない限り、Azure OpenAI リソースではなく Foundry リソースを必ず優先してください。OpenAI Agents SDK を使用する場合も同様です。
- リポジトリのセキュリティスキャンを提案する前に、対象リポジトリですでに Gitleaks、Trivy、または同様のシークレット、依存関係、コンテナー、IaC のスキャンツールが使用または設定されているか確認してください。同様のスキャンがない場合は、実装する前に Gitleaks や Trivy のスキャンを追加するかユーザーに確認してください。
- 以下に記載する現在のリファレンスコンポーネントに絞って提案してください。
- どの CAIRA のパスが提案や生成ファイルに影響したかを説明してください。
- ユーザーのニーズを絞り込み、リファレンスコードの不要なコピーを避けるため、必ず追加の質問をしてください。
- 実装を開始する前に、ユーザーのシナリオとニーズ、使用する CAIRA リファレンスコンポーネント、構成、ネットワーク、セキュリティ境界を確認してください。
現在のリファレンスコンポーネント
| 必要なもの | CAIRA リファレンスのパス |
|---|---|
| Foundry の基盤 | reference-architectures/iac/foundry/ |
| API とフロントエンド用の Container Apps ホスティング | reference-architectures/iac/container-apps/ |
| OpenAI Agents SDK を使用する TypeScript API | reference-architectures/app/api/typescript/openai-agents-sdk/ |
| Foundry Agent Service を使用する TypeScript API | reference-architectures/app/api/typescript/foundry-agent-service/ |
| Microsoft Agent Framework を使用する C# API | reference-architectures/app/api/csharp/microsoft-agent-framework/ |
| React フロントエンド | reference-architectures/app/frontend/typescript/react/ |
| フロントエンド/API コントラクト | reference-architectures/app/API_CONTRACT.md |
CAIRA リファレンスの使用方法
- 関連するコンポーネントのソースファイルを確認します。
- ユーザーのスタックに必要なファイルのみをコピーまたは適宜変更して使用します。
- ユーザーのシナリオに該当しないサンプルテキスト、モデル名、環境変数、Terraform 変数を削除します。
- コンポーネントの検証方法を維持します。TypeScript では npm スクリプト、C# では .NET のビルド、IaC では Terraform の検証、コンテナーでは Docker ビルドを使用します。
- 使用した正確な CAIRA のパスと、意図的に除外したものを明記します。
コメント
Markdown 対応