Claude Partner Network · Internal Agentic Platform & AI Product Build

An agentic AI platform is six layers you own and one you rent. The model is the one you rent.

Built in your repositories, in your cloud account, with the architecture decisions written down as records rather than held in our heads.

Pexon builds internal agentic AI platforms on Claude: identity layer, tool layer, memory, orchestration, evaluation and cost attribution. The model is the one layer you rent, and the six around it decide whether agents reach production. The same architecture serves a customer-facing product, with a different risk owner.

Why prototypes stop

Four ways an agent that works never ships

None of these is a model problem, and that is the point of the list. Every one of them is a layer that was not built because the prototype did not need it, and every one of them is discovered at the review rather than at the demo.

01 · Identity

The agent runs as a service account

The prototype authenticates once, with broad rights, and every user's request inherits them. It works perfectly and it cannot pass a review, because the honest answer to "whose permissions was this read under" is "ours".

02 · Tools

Every agent brings its own

Tool definitions, retries and error shapes written per agent. The third one means three places to change when an entitlement rule changes, and no single place to see what the fleet can do.

03 · Evaluation

Nobody set a pass bar

The system is judged by whether the demo went well. With no eval suite and no threshold somebody signed, there is no defensible moment to say this is ready, and no way to notice the day a model update makes it worse.

04 · Cost

One invoice line, no owner

Calls carry no team key, so spend arrives as a single number with no team behind it. By the time anyone wants it split, six months of history cannot be attributed retrospectively.

  • The six layers below are the four failures above, inverted and given an owner.

The architecture

Six layers around a rented model

The model is a dependency you buy at a published price and can change. Everything that decides whether agents reach production is in the six layers around it, and all six stay yours.

  1. 01

    Identity and entitlement

    The request carries the caller, not a service account. Tool calls are authorised against the same groups that govern the underlying system, so the assistant inherits a permission model you already audit instead of introducing a second one.

    • OIDC / Entra ID
    • IAM role assumption
    • Per-call authorisation
  2. 02

    Tool layer

    One registry, one error shape, one retry policy. Tools are named operations against real systems rather than a shell the model may use freely, which is what makes the audit trail readable afterwards.

    • MCP servers
    • Named operations
    • Idempotency
  3. 03

    Memory and retrieval

    What the agent may remember, for how long, and whose data it is. Retrieval is filtered at query time by the caller's entitlements rather than after the fact, because post-filtering a result set still sent the data to the model.

    • Entitlement-filtered retrieval
    • Retention rules
    • Tenant scoping
  4. 04

    Orchestration

    Where control flow lives when a task needs several steps or several agents. Usually smaller than expected: a loop, a plan step and a stopping condition cover most of what gets called multi-agent.

    • Plan then act
    • Stopping conditions
    • Human in the loop
  5. 05

    Evaluation

    A suite with a pass threshold somebody signed, run on every model and prompt change. This is the layer that turns "it seems better" into a release decision, and the one most often skipped because nothing breaks visibly without it.

    • Regression set
    • Signed threshold
    • Run on model update
  6. 06

    Cost attribution

    Every call tagged with a team or project key from day one, and spend reportable per team at month end. Built first, not last, because attribution cannot be applied to history that was never tagged.

    • Team key per call
    • Gateway-side budget
    • Per-team reporting

What makes it auditable rather than merely working

  • Every tool call attributable to a human identity, including the refusals.
  • Invocation logs written to a destination your security team already reads, not a new one.
  • An eval suite with a pass threshold somebody signed, re-run on every model change.
  • Spend reportable per team from the first month, because the key was there from the first call.

Two buyers

Same six layers, different person asking

Internal platform — the platform team's objections

  • Whose permissions does a tool call run under, and can you show me a denied request?
  • What happens to the audit trail when an agent calls three systems in one task?
  • If a model update changes behaviour, which test tells us before a user does?
  • Who is on call, and is the runbook ours or yours?
  • Can we attribute last month's spend to a team without reconstructing it by hand?

Customer-facing product — the product owner's objections

  • Is tenant isolation structural, or is it an instruction in a prompt that a user can argue with?
  • What does a wrong answer cost us in support load and in disclosure obligations?
  • What is the latency at the ninety-fifth percentile, not the median, under real concurrency?
  • What does this cost per customer at ten times today's volume?
  • When the model is confidently wrong, does a human see it before the customer does?

What we build

The engagement, concretely

A platform build is a pod engagement rather than a fixed-price sprint, because the scope is set by how many of the six layers already exist. Most companies have one and a half of them.

  • An inventory of what exists: which of the six layers you already have, and which of those are load-bearing versus incidental.
  • The identity layer first, always, because it is the one that invalidates the most work when it arrives late.
  • A tool registry with named operations against your real systems, built as MCP servers where the system has an interface and as a connector where it does not.
  • An eval suite seeded from the tasks the agents are meant to do, with the pass bar agreed before the first release rather than negotiated after a bad week.
  • Cost attribution wired at the gateway on day one, so the first month's invoice already splits by team.
  • Architecture decision records in your repository, so the reasoning survives the people who were in the room.

The executable part

The identity test, and how to fail it

This is the check we run before any agentic system goes live, and it is three steps because it has to be runnable by somebody who did not build it.

# The rule every tool call is built to satisfy
#
# An agent may read nothing its caller could not read unaided.
#
# WRONG — the agent holds the rights. Works in the demo, fails the review:
#   client = ErpClient(token=SERVICE_ACCOUNT_TOKEN)   # broad, shared, unattributable
#   rows   = client.query(user_question)              # whose permissions? ours.
#
# RIGHT — the call carries the caller, and the source system decides:
#   caller = verify(request.headers["Authorization"])  # the user's own OIDC token
#   client = ErpClient(on_behalf_of=caller)            # exchanged, not substituted
#   rows   = client.query(user_question)               # the ERP applies ITS rules
#
# The test that this is real, and the one to run before go-live:
#   1. Pick a document user A may read and user B may not.
#   2. Ask the agent for it as B, through the product, not through a test harness.
#   3. The answer must be a refusal, and the refusal must appear in the audit log
#      with B's identity on it.
#
# If step 3 produces the document, you do not have an identity layer. You have a
# service account with a chat interface in front of it.

Token exchange rather than token substitution is the part that is easy to get subtly wrong: an exchanged token still represents the user, a substituted one represents the application and silently widens the blast radius.

When we are the wrong choice

If you need one agent for one task and you are confident there will not be a second, do not buy a platform. Hard-code it, ship it, and accept that the fourth one will be expensive — that is a reasonable trade and we will say so. If your bottleneck is that the data is unreachable rather than that the agent is unbuilt, the platform will not help and the data layer work comes first. And if you want a vendor to own the system permanently, we are a poor fit by design: this is built to be handed over, which costs more up front than a managed product and is worth less to you if you never intend to take it.

Sources: Anthropic — the Model Context Protocol specification · Amazon Bedrock pricing — published per model and per million tokens. Read 28 October 2026. Vendor documentation changes; verify against the current release.

Claude Partner Network — Certified Services Partner

Pexon Group is a Certified partner in Anthropic's Claude Partner Network (Services Track), granted on 1 October 2026. This site is published by PEXON ROMANIA S.R.L., a separate legal entity in the same group, and the party you contract with here.

Where this goes next

What an architect asks before committing to this

Why build a platform instead of shipping one agent?

Because the second agent is where the cost appears. One agent can hard-code its credentials, its tools and its evaluation, and it will work. The third one written that way means three places to change when an entitlement rule changes, three audit trails in different shapes, and no way to answer which team the tokens belong to. The platform is what makes agent number four cheap.

Which framework do you build on?

Whatever survives your constraints, and we will argue for the smallest thing that does. A large share of what gets called an agent framework is a loop, a tool registry and a retry policy, and writing those three yourself is often less work than adopting a dependency that owns your control flow. Where a framework earns its place, we say which part of it is doing the earning.

Where does the identity layer actually sit?

Between the user and the tool call, and it is the layer most prototypes do not have. The rule we build to is that an agent may read nothing its caller could not read unaided, which means the tool call carries the caller's identity rather than a service account with broad rights. Service-account agents are the single most common reason a working prototype fails a security review.

What is different about a customer-facing build?

Tenancy and evaluation thresholds, mostly. Internally a wrong answer embarrasses you; externally it is a support ticket at best and a disclosure at worst, so the isolation between tenants has to be structural rather than a filter in a prompt, and the eval suite needs a pass bar someone signed off. The six layers are the same ones.

How do you stop the cost running away?

Attribution before optimisation. Every call carries a team or project key from the first day, so spend is attributable per team at the end of month one rather than discovered as a single invoice line in month six. Caching and routing come after that, because you cannot rightsize a workload you cannot yet split by owner.

Can our own engineers take this over?

That is the intended ending, and it is worth agreeing at the start rather than at handover. The platform is built in your repositories, in your cloud account, with the architecture decisions written down as records rather than held in our heads. Where a team wants us to keep running it, that is the managed operations engagement and a separate decision.

Next step

Bring one agent that failed a review

Thirty minutes with the architect who would run the build. The most useful thing you can arrive with is a prototype that works and could not be approved, because the reason is almost always one of the six layers and it is usually the first.