01構築した理由
Prostir を構築した理由
始まりは小さな社内ツールでした。自分たちの財務業務の一部を任せる AI エージェントが必要で、やりたいことは一文で説明できるほど明確でしたし、大部分は自分たちで作れました。
やりたいことを説明するのは簡単でした。難しかったのは共有です。アクセス権、誰が何を見られるか、全員に同時に届く更新。結局、アイデアとは関係なく、その下の仕組みに関する判断のために社内の技術チームの手を借りることになりました。そして、本来よりずっと大変に感じ続けました。
「やりたいことは分かっている」と「実際に動いている」の間には、外からは見えない作業が詰まっていました。そこで私たちは、この技術的な層を自分たちのために取り除きました。今度こそ完全に。
そのうえで、これは自分たちだけの話なのかと聞いてみました。コンサルティング、クリニック、マーケティングと分野は違っても、返ってくる答えは同じでした。止まる原因はアイデアではない、と。だから Prostir をつくりました。同じ層を他の人からも取り除くために、公開、アクセス、利用上限、対応知識の処理を一つの creator workflow にまとめ、同じ問いが繰り返される間に良いアイデアが下書きのまま止まらないようにしています。
02とは
Prostir をわかりやすく言うと
Prostir は対応リソースから AI Agent を設定し、専用の HTTPS と MCP endpoint で公開します。互換 client には対応 connector または transport と認証が必要です。Web widget と messaging channel は別に設定し、readiness check を通過する必要があります。
- 01対応リソースを追加抽出可能なコンテンツを持つ対応入力を使います。検索結果は抽出できた内容に依存します。
- 02ルールをわかりやすい英語で書きますコードはありません。応答方法のみです。
- 03アクセスと対象価格を設定無料アクセスを維持するか、対象販売者の決済フローを設定します。
- 04endpoint を公開Agent は HTTPS 公開面と MCP endpoint を持ちます。その他の channel は別設定です。
設定済み製品には次を含められます。
- アクセスとアカウントの制御
- 対象販売者向け Stripe Connect の単発決済またはサブスクリプション
- 対象となるウクライナ販売者向け Rozetka Pay の UAH 単発決済
- 利用上限と creator 向けアクティビティ表示
利用可否は設定、対象条件、readiness check に依存します
03
対象者
Prostir は、専門知識はあるがエンジニアリング チームを持たない人向けに構築されています。
コンサルタントとコーチ
毎週同じ質問に答える人。
コース作成者
教材から教えてくれる家庭教師が欲しい人。
チーム
ドキュメントとルールを理解している専属ヘルパーが必要な方。
販売サービスをお持ちの方
対応知識に製品管理を加えたいが、すべての層を自分で構築したくない方。
まず、リソース、配信 channel、アクセスモデル、販売者設定が対応しているか確認してください。
04
誰が作ったのか
Prostir は、製品を構築するクリエイティブおよびエンジニアリング チームである Managed Code が開発しています。ホスト型 endpoint、知識処理、請求、アクセス制御など、多くの製品が必要とする基盤に取り組んできました。
その成果を再利用可能な製品ブロックとして開発しています。各機能の利用可否は、設定、対象条件、リリース readiness に依存します。
内部で何が使われているかは、次のセクションで説明します。
05ボンネットの下で
技術的に興味のある人向け
Prostir を使用する場合は、これを読む必要はありません。ソフトウェアを構築する場合、その下で実行されるものは次のとおりです。
Prostir は Managed Code が構築する .NET プラットフォームです。creator workspace と operator console は Blazor、公開ページは静的 Astro です。Orleans 上の型付き .NET service が Agent、user、session、operation の境界を扱い、Cosmos を永続化、EF Core を query model に使います。Aspire は orchestration に使われます。
AI レイヤーは chat client、embedding、tool call、telemetry に Microsoft.Extensions.AI を使います。MCPGateway は tools、prompts、upstream MCP source を集約し、MarkdownLd.Kb は検索用の Markdown-LD と JSON-LD artifact を構築し、Storage は file、memory、runtime artifact を抽象化します。
処理は server-side に残ります。MCP C# SDK が protocol を扱い、Jint が sandbox 内で JavaScript tool を実行し、Stateless が workflow transition を管理します。対象販売者は Stripe Connect で単発決済またはサブスクリプションを利用できます。Rozetka Pay はウクライナでの UAH 単発決済のみです。税金、履行、返金、紛争、保証は販売者の責任です。Prostir は pay-per-use を提供しません。
- MCPGateway
- MarkdownLd.Kb
- Storage
- Orleans
- Cosmos DB
- EF Core
- Aspire
- Microsoft.Extensions.AI
- MCP C# SDK
- Jint
- Stateless
- Stripe and Rozetka Pay integration
Managed Code
- ManagedCode.MCPGatewayhttps://github.com/managed-code-hub
- ManagedCode.MarkdownLd.Kbhttps://github.com/managed-code-hub
- ManagedCode.Storagehttps://github.com/managed-code-hub
- ManagedCode.LlmTckhttps://github.com/managedcode/LlmTck
- ManagedCode.Communicationhttps://github.com/managedcode/Communication
- ManagedCode.TimeSerieshttps://github.com/managedcode/TimeSeries
- ManagedCode.Orleans.RateLimitinghttps://github.com/managedcode/Orleans.RateLimiting
- ManagedCode.Orleans.Identityhttps://github.com/managedcode/Orleans.Identity
- ManagedCode.Orleans.Graphhttps://github.com/managedcode/Orleans.Graph
- ManagedCode.FeatureCheckerhttps://github.com/managedcode/FeatureChecker
.NET・AIランタイム
- Microsoft.Extensions.AIhttps://learn.microsoft.com/en-us/dotnet/ai/microsoft-extensions-ai
- Microsoft Agent Frameworkhttps://learn.microsoft.com/en-us/agent-framework/
- Microsoft Orleanshttps://github.com/dotnet/orleans
- .NEThttps://github.com/dotnet/runtime
- ASP.NET Corehttps://github.com/dotnet/aspnetcore
- Aspirehttps://github.com/dotnet/aspire
- EF Corehttps://github.com/dotnet/efcore
- MCP C# SDKhttps://github.com/modelcontextprotocol/csharp-sdk
- Jinthttps://github.com/sebastienros/jint
- Statelesshttps://github.com/dotnet-state-machine/stateless