You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Users perceive App LLM Proxy and GenAI Application as overlapping ("too many entities"). They live on different axes, but naming and an invisible relationship make them look like competitors. We must keep proxy reusability across app developers while making it obvious which entity to define, and when.
What each entity actually is
App LLM Proxy: supply / control layer. A reusable, governed endpoint on top of a provider: auth, guardrails, rate limits, exposed resources, provider-swap. One provider can back many proxies. Meant to be shared across app developers.
GenAI Application: consumer / attribution layer. A lightweight name + description that groups already-generated API keys so usage rolls up per real app. Configures no models, policies, or routing.
Root causes of the confusion
Naming collision. "App LLM Proxy" contains "App," implying per-app ownership — but it is explicitly reusable. "GenAI Application" is the real per-app entity. The labels say the opposite of the intent.
The relationship is invisible. An Application doesn't "use" a proxy — it just maps an existing key that happened to be minted on a proxy. The proxy↔app link is not a first-class object, so the two feel disconnected.
Reusability is a hard constraint. Packing the proxy inside the application would break the one-proxy / many-consumers goal, so a naive merge is the wrong instinct.
Options
Option A - Rename + formalize the existing associate as a subscription
This option is mostly about naming and framing: drop "App" from the proxy.
"developers expose proxies; my app associates to the ones it needs"
Pros: Low cost since the mechanism exists; removes the naming collision; makes the reuse story explicit; leans on a mental model users already know.
Cons: Doesn't by itself fix "too many top-level entities" — the proxy is still created standalone and then associated.
Option B - Producer / consumer catalog split
Separate by persona. Platform / provider owners publish reusable proxies to a shared catalog; app developers browse it and attach proxies to their GenAI Application. Makes "reusable across developers" visible - the proxy clearly lives outside any one app. Pairs naturally with A or C.
Pros: Reuse becomes obvious and governable; low model change.
Cons: Mostly UI / information-architecture work; not a standalone fix.
Option C - LLM Proxy Templates (recommended)
Define a reusable template (blueprint of guardrails, exposed resources, rate-limit defaults, provider binding). Attaching a template to an app instantiates that app's own proxy. This reframes two floating siblings into a clean hierarchy: the template is the shared library artifact, and each app owns its instance.
Why it fits best: The docs already state each proxy is independently configured per app / agent / team / env — so the thing reused is the config pattern, not a live instance. A template captures exactly that, and gives platform teams a curated golden-path (e.g. strict-customer-facing, internal-relaxed).
Key decision — fork vs. live-link: instantiate as a copy but keep lineage + versioning (v1, v2…) so you can flag "3 apps on an outdated version" and offer opt-in "update from template." Central control without surprise breakage.
Watch-out: Fold the standalone "App LLM Proxy" creation flow into "attach a template to your app," or it's back to too many entities. Pair with the naming fix.
Option D - Merge into one entity
Collapse to just GenAI Application, where proxy-style controls become an optional advanced config that can be flagged "shareable/published" for reuse. Fewest entities, but re-buries reusability inside an app-owned object (the exact thing we resisted) and creates awkward "shared config owned by app X" governance. Avoid unless analytics show reuse is rare.
Options at a glance
Option
What changes
Best when
Effort
A. Rename
Drop "App"
You want a low-cost fix to naming + reuse framing using what already exists
Low
B. Producer/Consumer catalog
Platform team publishes proxies to a shared catalog; app devs browse & attach
You want reuse to be visible & governed; pairs with A or C
Low–Med
C. Proxy Templates(rec.)
Reusable template blueprint; attaching to an app instantiates the app's own proxy
Controls are per-app (matches current design); reuse is of config, not a live instance
Medium
D. Merge into one entity
Proxy becomes optional advanced config on the app, flaggable as "shareable"
Analytics show almost nobody reuses proxies
Med–High
Recommendation
Since the associate/subscribe link already exists, the cheapest high-impact move is Option A (rename + formalize the associate as a subscription) — it removes the naming collision and makes the reuse story explicit with almost no new machinery. Layer Option C (Templates) on top if we want to reduce the "create a standalone proxy first" friction: platform teams publish reusable templates, and associating one instantiates the app's own governed proxy. Option B (catalog) and E-style progressive disclosure make the reuse visible in the UI.
One-line mental model:"The platform publishes reusable LLM proxies (from templates); my GenAI Application associates the ones it needs, and that association scopes its key and usage."
Data check first: How often is one proxy genuinely consumed by multiple distinct apps/developers? If rare → Option E may suffice.
Reframe the existing associate: Do we rename/re-surface the current associate option as an explicit "subscription," and scope the API key through the association?
Templates on top? Are controls truly per-app (→ templates reduce standalone-proxy friction) or is a live shared instance the norm (→ keep associate-to-shared-proxy as is)?
Fork vs. live-link for template instances, and whether to support "update from template."
Final naming for the proxy entity to remove the collision.
Migration path for existing proxies and key mappings.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
The problem
Users perceive App LLM Proxy and GenAI Application as overlapping ("too many entities"). They live on different axes, but naming and an invisible relationship make them look like competitors. We must keep proxy reusability across app developers while making it obvious which entity to define, and when.
What each entity actually is
Root causes of the confusion
Options
Option A - Rename + formalize the existing associate as a subscription
This option is mostly about naming and framing: drop "App" from the proxy.
"developers expose proxies; my app associates to the ones it needs"
Option B - Producer / consumer catalog split
Separate by persona. Platform / provider owners publish reusable proxies to a shared catalog; app developers browse it and attach proxies to their GenAI Application. Makes "reusable across developers" visible - the proxy clearly lives outside any one app. Pairs naturally with A or C.
Option C - LLM Proxy Templates (recommended)
Define a reusable template (blueprint of guardrails, exposed resources, rate-limit defaults, provider binding). Attaching a template to an app instantiates that app's own proxy. This reframes two floating siblings into a clean hierarchy: the template is the shared library artifact, and each app owns its instance.
strict-customer-facing,internal-relaxed).Option D - Merge into one entity
Collapse to just GenAI Application, where proxy-style controls become an optional advanced config that can be flagged "shareable/published" for reuse. Fewest entities, but re-buries reusability inside an app-owned object (the exact thing we resisted) and creates awkward "shared config owned by app X" governance. Avoid unless analytics show reuse is rare.
Options at a glance
Recommendation
Since the associate/subscribe link already exists, the cheapest high-impact move is Option A (rename + formalize the associate as a subscription) — it removes the naming collision and makes the reuse story explicit with almost no new machinery. Layer Option C (Templates) on top if we want to reduce the "create a standalone proxy first" friction: platform teams publish reusable templates, and associating one instantiates the app's own governed proxy. Option B (catalog) and E-style progressive disclosure make the reuse visible in the UI.
Naming candidates:
LLM Proxy(drop "App"),Managed / Governed LLM Endpoint, orLLM API. Keep "GenAI Application" : it's the correctly-named one.Open decisions
References
Beta Was this translation helpful? Give feedback.
All reactions