Design: Agent Platform (Marketplace, Versioning, Rollout)

Published:

๐ŸŽฏ Problem Statement

Build an internal agent platform: teams publish versioned agents, skills, and tools; 500 engineers discover and consume them in their own workflows.

Constraints:

  • Breaking changes happen (prompt edits, tool signature changes) โ€” consumers must not break silently.
  • Dependency hell: agent A depends on skill B v2 which depends on tool C v1โ€ฆ
  • Security review: a malicious or careless published skill is a supply-chain attack.
  • Discoverability: 500 engineers canโ€™t use what they canโ€™t find.

๐Ÿ“ Architecture

flowchart TD; Pub["Team publishes skill"]-->SecPipe["Security pipeline (static analysis, permission review)"]; SecPipe-->Reg["Versioned registry (semver + eval results)"]; Reg-->Dep["Dependency resolver (lockfiles)"]; Dep-->Roll["Staged rollout (canary, gradual, full)"]; Roll-->Cons["Consumer agents (pinned versions)"]; Roll-->|regression|Kill["Kill switch and rollback"]; Reg-->Market["Marketplace (search, ratings, examples)"];

Prompts and skills are software artifacts: versioned, tested, rolled out, deprecated โ€” not magic strings.

flowchart TD; Change["Publisher ships v2"]-->Check["Dependent eval runs (automatic)"]; Check-->|pass|Ship["Ship as MINOR or PATCH"]; Check-->|fail|Major["Ship as MAJOR + migration guide"]; Major-->Notice["Deprecation notice with N-month window"];

๐Ÿงญ Discussion Framework

1. Versioning: semver for the non-deterministic

  • Skills/prompts get versions like code: MAJOR (behavior change), MINOR (new capability, backward compatible), PATCH (wording/cost tweaks).
  • Pin by default: consumers pin exact versions; latest is opt-in and clearly labeled dangerous.
  • Evals per version: a new version ships with its eval results โ€” the โ€œchangelogโ€ is measured, not written.

2. Dependency resolution

  • Lockfiles for agent compositions (like package-lock): reproducible runs.
  • Compatibility ranges with automated checks: publishing skill B v2 triggers eval runs of known dependents.
  • The blast radius question: who gets paged when a deep dependency breaks? โ†’ The publisher owns backward compat within a major version; breaking changes require a new major + migration guide.

3. Rollout & safety

  • Staged rollouts: canary (1% of traffic / one team) โ†’ gradual โ†’ full, with automatic rollback on metric regression.
  • Kill switches per skill version โ€” platform can disable a bad version globally in minutes.
  • Shadow mode: new versions run alongside old, results compared, no user impact.

4. Security & sandboxing

  • Publishing pipeline: static analysis of tool code, permission review (what can this skill do?), provenance (who published, what changed).
  • Runtime sandboxing: skills run with least-privilege tool scopes; tenant isolation so Team Aโ€™s data never leaks into Team Bโ€™s runs.
  • Audit trail: every skill invocation logged with version pins โ€” reproducibility for incidents.

5. Discovery & metering

  • Marketplace UX: search, categories, usage stats, ratings, example compositions. Discovery is a product problem, not a docs problem.
  • Metering/billing: track $/team/agent for chargeback and cost awareness โ€” nothing disciplines usage like a bill.

6. Deprecation contract

  • Published policy: N months notice, migration guides, automated codemods where possible. A platform without a deprecation story becomes a museum of frozen versions.

๐Ÿ” Deep-Dive Questions

  • โ€œTeam Aโ€™s v2 breaks Team Bโ€™s workflow โ€” who owns the fix?โ€ โ†’ Team A, if they broke backward compat within a major version (thatโ€™s the contract). If B pinned latest against advice, B owns it. The platformโ€™s job: make the contract explicit and the breakage visible before it ships (dependent eval runs).
  • โ€œDesign the canary analysis for a prompt change.โ€ โ†’ Same traffic split, compare: task success rate, cost/task, latency p99, and judge-scored quality โ€” with statistical significance thresholds, not eyeballing.
  • โ€œA skill is popular but the owning team left โ€” now what?โ€ โ†’ Adoption/ownership policy decided at publish time: popular skills get platform-team adoption or a new owner; unowned skills get deprecated, not orphaned.

๐Ÿ’ก What Great Looks Like

The candidate treats prompts and skills as software artifacts (versioned, tested, rolled out, deprecated) โ€” not as magic strings. The strongest answers name the contracts between publisher, platform, and consumer, because thatโ€™s where platform design actually lives.