Agent、Skill、Flow、Team、Storeは、それぞれ固有のidentityとライフサイクルを持ちます。
技術
業務運用を前提に、最初から.NETで構築したクラウドネイティブAIプラットフォーム。
プロンプトは簡単な部分です。難しいのは、identity、state、アクセス、運用、安定した公開endpointです。Prostirは.NET 10、Orleans、Aspire、Microsoft Agent Frameworkでその境界を作ります。
静的Landingは、対応する各言語に専用routeとmetadataを公開します。
コンパイル済みruntimeとcloud resourcesから、公開される静的画面までを分けています。
公開された各Agentは、slugに結び付いた専用のStreamable HTTP endpointを持ちます。
アイデアから運用まで
アイデアは一つのプロンプトから始められます。 製品として運用するには十の層が必要です。
AIデモだけでは、利用者がログインし、料金を支払い、継続して使うために必要な要素までは見えません。ここでは、コンパイル済みコードから公開URLまで、Prostirの構成を十の責務に分けて説明します。
01基盤
.NET 10とC#: コンパイルと強い型付け。
Prostirは.NET 10とC# 14を使い、型付きcontract、非同期I/O、dependency injection、options、telemetry、HTTP hosting、background services、source generationを構成します。言語だけでコスト、性能、消費電力、supply-chainの安全性が決まるわけではなく、workload、dependencies、deployment、運用に左右されます。
02クラウド
Azure: deployment境界を明示したmanaged services。
ProstirはAzure Container Apps、Cosmos DB Serverless、Blob Storage、Monitor、managed identity、RBACをクラウドの構成要素として使います。Azureの各serviceには個別の条件とcontrolがありますが、それだけでProstirが認証されるわけではなく、包括的なProstir SLAも生まれません。regionとresourceは実際の運用環境で決まります。
03ローカル統合
Aspire: integrationを組み立てる一つのAppHost。
Prostir.AppHostはCosmos DB、Azure Storage、Orleans、API、Gateway、WebApp、Landing、SuperAdminをローカルおよび自動integration flow向けに構成します。設定差分を見つけやすくしますが、本番準備にはdeployment固有の検証、monitoring、release checksが別途必要です。
04分散runtime
Orleans: statefulな処理に明確なownerを置く。
Microsoft Orleansは、Agents、sessions、access grants、workflow runsなど長期間残るstateにidentity-keyed virtual actorsを与えます。各grainは限定された責務を所有します。Orleansはactivation、placement、persistence integration、reminders、messagingを担い、authorization、製品境界、障害処理はProstirが定義します。
05MCP境界
ManagedCode.MCPGateway: 製品制御を備えたremote MCP。
MCP仕様が定義するのはprotocolであり、multi-tenant login、audit、cost cap、rate limitではありません。ManagedCode.MCPGatewayはOrleans runtimeの前段で、transport、顧客ごとのアクセス、toolごとの制限、明確なerror responseを公開endpointに提供します。
06ナレッジ層
ManagedCode.MarkdownLd.Kb: 検索できるsource context。
ManagedCode.MarkdownLd.Kbは対応sourceをMarkdown-LDまたはJSON-LD artifactと検索可能なgraph dataに変換します。ManagedCode.Storageがfile boundaryを所有し、JsonSchema.NetがMCP toolのargumentを検証します。Indexが対応するときはsource-linked contextを取得できますが、品質と引用はsource、indexing、configuration、modelに依存します。
07AI層
設定済みmodelのための一つのapplication boundary。
Microsoft.Extensions.AIがIChatClient boundaryを提供し、Microsoft Agent Frameworkがprompt-basedおよびdeclarative Agentsを実行します。現在の接続はAzure OpenAI、OpenAI-compatible connection、creator-owned connectionです。利用可否と切り替えはconfiguration、model capability、credentials、product policyに依存します。
08開発ループ
ルールを明示したAgent支援開発。
Prostirはrepository管理のAGENTS.md rules、vertical slices、code review、focused checks、integration tests、release gatesを使います。Coding agentsは調査、実装、reviewを支援しますが、product ownership、人の判断、検証の代わりにはなりません。
Claude CodeOpenAI Codex09製品画面
Blazor、決済、Stateless、Jint。
CreatorはBlazor workspaceを、operatorはBlazor Server consoleを使います。Statelessは会話stateをモデル化し、Jintは範囲を限定したJavaScript toolsをsandboxで実行します。StripeとRozetka Payのintegrationはcheckoutとwebhooksをアクセス判断につなげます。各機能はconfigurationと権限に従います。
10静的公開面
明示的なdiscovery metadataを持つAstro。
ページは静的Astro HTMLとして生成されます。Canonical、hreflang、structured data、sitemap、IndexNow、llms.txtが公開予定routeを記述します。ローカルcheckはHTML、crawlability、accessibility、Lighthouse templateを対象にし、crawl、indexing、rankingは検索エンジンが判断します。
結果
公開Agentごとに一つの、hostedかつ観測可能なMCP endpoint。
各層は、公開Agentのslugに結び付いたMCP URLに集約されます。対応clientはStreamable HTTPで接続し、アクセス、課金、ナレッジ、tools、state、memory、audit、limitは明示的に設定される機能として残ります。
.NETを選ぶ理由
三つの実用的なstackと、文書化されたProstirの選択。
Node.js、Python、.NETはいずれもMCP serverをhostできます。この表はProstirが実際に採用する実装を示すもので、性能、コスト、電力、安全性の普遍的な順位ではありません。
| 項目 | Node.js / Express | Python / FastAPI | Prostir (.NET 10) |
|---|---|---|---|
| HTTP runtime | Node.js runtime | Python ASGI runtime | ASP.NET Core 10 |
| identity単位の分散state | Choose a state framework | Choose a state framework | Orleans 10.2.2 virtual actors |
| Dependency injection、options、telemetry | Framework or library choice | Framework or library choice | Microsoft.Extensions.* |
| AI abstraction | Provider libraries or abstraction | Provider libraries or abstraction | Microsoft.Extensions.AI + Agent Framework 1.15 |
| MCP SDK | Official MCP TypeScript SDK | Official MCP Python SDK | Official MCP C# SDK 1.4.1 |
| tool schema validation | Library-selected validation | Library-selected validation | JsonSchema.Net 9.3 |
| contract model | TypeScript contracts | Python typing tools | C# 14 + source generation |
| ローカル構成 | Local process tooling | Local process tooling | dotnet watch + Aspire AppHost |
Node.jsとPythonの列は一般的な選択肢であり、制約を示すものではありません。Prostirの列は現在のrepositoryにあるpackageとproject fileに基づきます。
Azureを選ぶ理由
同じMCP backendを、明確なcloud boundaryで運用する。
この比較はcloud providerのservice capabilityと、個別のProstir deploymentにおけるconfigurationおよび責任を分けて示します。
| 確認項目 | AWSの場合 | Azure上のProstir |
|---|---|---|
| Complianceとcontrolの資料 | Service-specific controls and certifications | Azure service controls; Prostir deployment assessed separately |
| Availabilityの条件 | Per-service and per-region terms | No blanket Prostir SLA is claimed here |
| Regional placement | Region configured per workload | Operator-provisioned regional resources |
| Networkとingress | Optional global networking services | Configured Gateway and static-site routing |
| Model providerへのroute | Bedrock and partner model routes | Azure OpenAI, OpenAI-compatible, and creator BYOK routes |
| 顧客アクセス | Cognito or custom identity | Prostir access and OAuth policy above the hosting layer |
| Application runtime | Runtime selected by the team | .NET, Orleans, Aspire, and Managed Code libraries |
| 静的Landingのhosting | S3 + CloudFront or Amplify | Azure Static Web Apps for this landing |
Cloud providerは各serviceの機能を文書化します。Prostirの認証、SLA、deployment region、運用controlは、実際の環境ごとに別途確認する必要があります。
オープンソース
私たちが公開するものと、利用しているオープンソース。
Managed CodeはMicrosoftとcommunityのオープンソースを基盤にProstirを構築しています。以下はmarketing上の候補ではなく、実際のproject fileに含まれるpackageです。
Managed Codeが構築
公開Agentの下で動くMCP gateway、knowledge pipeline、storage、Orleans integrationは、Managed Codeが保守し公開しているcomponentsです。
- Managed CodeProstirを開発し、自ら使うbackend componentsを公開するteam。
- ManagedCode on GitHubMCPGateway、MarkdownLd.Kb、Storage、Communication、Orleans extensionsなど。
- ManagedCode.MCPGatewayOAuth、multi-tenancy、audit、toolごとのquotaを備えたremote MCP gateway。
- ManagedCode.MarkdownLd.KbGraph searchを備えたMarkdown-LDとJSON-LDのknowledge pipeline。
- ManagedCode.Storage.AzureAzure Blob上のfiles、memory、runtime artifacts向けstorage abstraction。
- ManagedCode.CommunicationAPIとOrleansの境界で使うResult、Command、CollectionResult contracts。
.NET基盤
.NET 10、ASP.NET Core、Aspireが、Prostirで使う型付きcontract、hosting、telemetry、resource compositionを提供します。
- .NET 10コンパイル済みruntime、C# 14、source generators。
- ASP.NET Core 10HTTP、auth、OpenAPI、Minimal APIs、JsonPatch、hosted services。
- AspireAppHost orchestration、service defaults、deployment resources。
- Microsoft Orleans 10Grains、persistence、placement、stateless workers、dashboard telemetryを備えたvirtual actor runtime。
- EF Core 10 (Cosmos)Azure Cosmos DB上の型付きpersistenceとquery model。
- MudBlazorCreator workspace向けMaterial Design components。
AI、MCP、その上のlibraries
ProstirはIChatClient boundaryにMicrosoft.Extensions.AI、Agent実行にMicrosoft Agent Framework 1.15を使い、MCP C# SDK 1.4.1、Jint、Stateless、対応する決済integrationを組み合わせます。
- Microsoft.Extensions.AIChat、embeddings、tool calls、telemetryの共通interface。
- Microsoft Agent FrameworkPrompt-basedおよびdeclarative Agents向けMicrosoft Agent Framework 1.15。
- Model Context Protocol C# SDKMCP serverとclient向けの公式C# SDK。
- JintCreatorが作る範囲限定tools scriptを動かす.NET内のJavaScript engine。
- StatelessAgentが次に実行できる処理をモデル化するstate machines。
- Stripe and Rozetka Pay integration有料アクセス、checkout、webhooks向けの決済client。
このサイトの開発と公開
ProstirはAgent支援開発にrepository rules、code review、自動checks、人によるownershipを組み合わせます。AGENTS.mdがdelivery contractを明示し、Astroがこの静的なローカライズページを生成します。
技術FAQ
このスタックで作る前にチームが確認すること。
Orleans、Aspire、C#、MCP、課金、アクセス、ナレッジ、運用可視性を、実際のproduction判断に結びつけた答えです。
ProstirでOrleansは実際に何を担当しますか?Orleansは、agent、session、customer、access grant、channel conversation、wallet hold、workflow runのような長く生きるruntime identityを持ちます。それぞれが安定したid、state、behaviorを持ち、singletonやcacheやbackground processにstateを隠しません。読む
QueueとCRUD APIよりOrleansが合うのはいつですか?小さく独立したentityが大量にあり、request-response、start-monitor-complete flow、identityごとのstateが必要なときです。Microsoftはuser profiles、purchase orders、sessions、stocks、social pub/subを例に出していて、Prostirではagent、customer session、workflow runに同じ型を使います。読む
Productの言葉でgrainとは何ですか?Grainはvirtual actorです。identity、behavior、必要ならpersistent stateを持つ論理オブジェクトです。Prostirでは、公開済みagent、customer conversation、access grant、workflow runがその単位になります。読む
Orleansはtenant isolationにどう効きますか?Stateはowner、agent、customer、run identityでkey化されるため、workはshared process memoryではなくisolated grainに入ります。壊れたsessionが他tenant向けのglobal mutable stateになることはありません。読む
Orleansで危ないパターンは何ですか?危ないのは、chatty grains、単一のbottleneck coordinator、blocking sync calls、大きすぎるmessages、隠れたshared stateです。Prostirはvertical ownership、async grain calls、fan-out用stateless workers、実Gateway/API/Orleans経路のintegration testsで見える状態にします。読む
AspireはDocker Compose以上に何を足しますか?Aspireは.NET solutionに、projects、dependencies、service discovery、configuration、health、telemetry、cloud resource shapeを知るAppHostを与えます。単なるprocess startupではなく、local dev、CI、Azure deploymentで使うresource graphです。読む
ProstirはテストでAspireをどう使いますか?AppHostはintegration/browser testsに必要なCosmos DB、Azure Storage、Orleans、API、Gateway、Landing、WebApp、SuperAdminを起動します。同じservice boundaryを検証しますが、productionにはdeployment固有の設定とrelease checksがあります。読む
なぜruntimeはC#と.NETですか?Runtimeにはstrong contracts、async IO、dependency injection、options、telemetry、HTTP hosting、background workers、source generation、予測できるdeploymentが必要です。.NETはそれをfirst-party infrastructureとして持っています。読む
.NETだとAI providerが固定されますか?いいえ。Microsoft.Extensions.AIと`IChatClient`が安定したchat/tool boundaryを作ります。具体的なmodelは、runtime contractを満たす設定済みAzure OpenAI、OpenAI-compatible、またはcreator-owned connectionから選ばれます。読む
ProductionのMCPは何が難しいですか?Protocolは入口だけです。有料remote MCP endpointには、OAuth、access grants、tenant checks、tool schemas、rate limits、quotas、billing、audit trails、信頼できるerrors、毎requestで全DBを読まないhot pathが必要です。読む
ManagedCode.MCPGatewayはどこに入りますか?ManagedCode.MCPGatewayはOrleans runtimeの前にあるprotocol edgeです。remote MCP endpointを公開し、tool callsをrouteし、visible tool boundariesを守り、protocol concernsをproduct-state APIから切り離します。読む
Paid accessはどうruntime permissionになりますか?Seller-owned providersからのcheckoutとwebhooksがaccess grantsを作成または取り消します。Gatewayはprotected MCP callsの前にgrantsを確認するので、payment stateはspreadsheetではなくruntime permissionになります。読む
Knowledge layerはprompt stuffingをどう避けますか?FilesはMarkdown-LD / JSON-LD knowledge artifactsとsearchable graph dataになります。Indexが対応するとき、runtimeは範囲を限定したsource-linked contextを取得します。品質はsource、indexing、configuration、modelに依存します。読む
このstackに合う実例は何ですか?Paid knowledge agents、customer memory付きsupport copilots、state machinesを持つprocess agents、Telegramやweb widget向けchannel agents、販売できるskill passports、progress、retries、auditが必要なworkflowsに向いています。読む
このstackが重すぎるのはいつですか?Static website、単発のprompt demo、auth、tools、billing、state、customer memoryなしのprivate chatbotだけなら、もっと単純なものを使うべきです。Prostirはagentが他人に使われるhosted productになった瞬間のためのものです。読む
Prostir は API と MCP のどちらで動きますか?Claude、ChatGPT、その他の対応 AI client で Agent を使う場合は remote MCP endpoint が提供経路です。ブラウザ管理、決済、承認済みのシステム連携には APIs と webhooks も使います。プラットフォームは .NET と Azure 上の cloud-hosted 構成です。CRM、database、社内システムとの接続はプランにより、個別要件になる場合があります。読む
技術
技術を具体的な製品づくりに結び付ける。
ガイドと例では、ナレッジ、tools、state、memory、課金、アクセス、quota、運用がどこで関わるかを示します。検証済みの顧客事例は別の証拠区分として扱います。