AI agents

Nine agents. One tablet line. No collisions, no unsupervised releases.

Each agent owns one step of the line, a bounded tool set and a measured quality attribute. They negotiate for shared setpoints through the plant orchestrator, and none of them can move outside the approved design space or release a batch.

9 agents + orchestratorBounded tool setsQA on every release

run_b2c7e1 · agent graph · scenario 10 nodes · 1 QA approval gate
01 · orchestrator ingest.batch_record ✓ SUCCEEDED 02 · orchestrator twin.rehearse ✓ SUCCEEDED 03 · blend_dispense blend.uniformity ✓ SUCCEEDED 04 · granulate_dry granulate.dry ✓ SUCCEEDED 05 · compress_fill compress.press ✓ SUCCEEDED 06 · coat_dry coat.spray ✓ SUCCEEDED 07 · defect_inspect inspect.tablets ✓ SUCCEEDED 08 · quality_potency spectra.release_evidence ✓ SUCCEEDED 09 · orchestrator approve.qa ◆ APPROVAL 10 · quality_conf release.genealogy ✓ SUCCEEDED

Scenario: Run one immediate-release tablet batch through granulation, compression, coating and inspection inside the approved design space, with QA approval before release. A design walkthrough, not a customer record.

Agent roster

The roster

Products map onto agents: Spectryn is the spectral sense of Blend-and-Dispense and Quality-and-Potency, Visqa is Defect-and-Inspect, Conforma is Quality-and-Conformance, Kinetos is Robot-and-Handling, and Twindra is the twin every agent rehearses on.

agent.blend_dispense

Blend-and-Dispense

Dispensing, blending, blend and content uniformity

Runs dispensing and blending to a uniformity end point read from in-line NIR, not from a fixed time, so super- and sub-potent zones are caught in the blender rather than in the lab.

dispense.verify_identitynir.scoreblender.write_setpoint

Design target: blend end point called on evidence

agent.granulate_dry

Granulate-and-Dry

Wet and dry granulation, particle size, moisture (LOD)

Holds particle size and loss-on-drying inside the approved window by trimming binder addition, inlet air temperature and airflow as the granule responds.

plc.write_setpointnir.moisturetwin.simulate

Design target: moisture held in band before compression

agent.compress_fill

Compress-and-Fill

Tablet weight, hardness, thickness, ejection; capsule fill

Holds tablet weight, hardness, thickness and ejection force on target, and keeps capping, lamination and sticking risk under the site threshold. Runs capsule filling on the same loop.

press.write_setpointpress.read_force_curvetwin.capping_risk

Design target: capping risk under threshold, every tablet

agent.coat_dry

Coat-and-Dry

Film and enteric coating, spray rate, drying

Re-phases spray rate, inlet temperature and drying against bed temperature and exhaust humidity to hold the film window without twinning, mottling or over- and under-coat.

coater.write_setpointcoater.read_bed_tempvision.appearance

Design target: film window held without excursion

agent.defect_inspect

Defect-and-Inspect

Chips, cracks, capping, spots, mottling, print defects

Classifies chips, cracks, capping, spots, mottling, twins and print defects on multi-camera streams and links each defect to its likely upstream cause.

vision.streamdefect.attribute_causealarm.raise

Design target: under 100 ms per camera frame group

Product: Visqa

agent.quality_potency

Quality-and-Potency

Dissolution, potency, content uniformity, grade

Turns spectra and process telemetry into content-uniformity, moisture and potency calls with confidence bounds, and builds the evidence chain for real-time release.

nir.evidence_chaindissolution.surrogatespec.check

Design target: under 500 ms fused PAT and NIR risk score

Product: Spectryn

agent.yield_takt

Yield-and-Takt

Yield, rejects, drying and coating energy, line balance

Prices every candidate move in rejects, drying and coating energy and takt, and sequences campaigns and changeovers under the plant's constraints.

cuopt.sequenceenergy.budgetmes.read_campaign

Design target: rate never traded against a quality attribute

agent.robot_handling

Robot-and-Handling

Powder, IBC and tooling movement

Moves powders, IBCs and compression tooling between units just in time for the next takt, verifying material identity and genealogy at every move.

isaac.plan_pathibc.dockgenealogy.verify_move

Design target: zero cross-mix, every move genealogy-checked

Product: Kinetos

agent.quality_conf

Quality-and-Conformance

Right-first-time, deviations, batch genealogy, GMP traceability

Writes the time-aligned batch genealogy, drafts deviation investigations with citations, and assembles the audit-ready release package for QA.

audit.writedeviation.draftrelease.assemble

Design target: cited release package on every batch

Product: Conforma

agent.orchestrator · coordinates all nine

Plant Orchestrator

Planning, arbitration, QA approval routing

Plans the run, arbitrates between agents competing for the same setpoint, enforces the autonomy level and routes anything above it, including every release, to a human.

plan.composepolicy.evaluateapproval.request

Design rule: 100% of writes policy-checked

Run timeline · scenario

Agents in a single run

Seven agents and the orchestrator appear in this one scenario batch. The timeline shows who acted, what tool they called and how long the step took.

run_b2c7e1 Line 2 · rotary tablet press · scenario SUCCEEDED
  1. 01 ingest.batch_record SUCCEEDED 1.2 s

    Plant Orchestrator · Pulled the master batch record, the approved design-space limits for this formulation and tooling family, and the site autonomy policy from MES; locked the target envelope for the run.

  2. 02 twin.rehearse SUCCEEDED 41 s

    Plant Orchestrator · Twindra simulated 36 candidate setpoint vectors on the as-made batch twin (granulation DEM, compression and ejection risk, coating CFD, dissolution surrogate) and ranked them on predicted content uniformity, capping risk and takt.

  3. 03 blend.uniformity SUCCEEDED 6 m 10 s

    Blend-and-Dispense · Spectryn scored in-line NIR spectra against the formulation's chemometric model; the blend reached its uniformity end point with confidence bounds inside the site acceptance limit and blending stopped on evidence rather than on a fixed time.

  4. 04 granulate.dry SUCCEEDED 3 m 48 s

    Granulate-and-Dry · Inlet air temperature and drying airflow trimmed inside the approved window to bring loss-on-drying to the target moisture band for compression; the move was bounded, logged and inside the design space.

  5. 05 compress.press SUCCEEDED 2 m 02 s

    Compress-and-Fill · Main compression force and feed-frame speed adjusted inside the approved window to hold tablet weight and hardness on target while the twin's capping-risk estimate stayed under the site threshold.

  6. 06 coat.spray SUCCEEDED 4 m 25 s

    Coat-and-Dry · Spray rate and inlet temperature re-phased against bed temperature and exhaust humidity to hold the film-coat window and avoid twinning and mottling; no excursion from the validated recipe envelope.

  7. 07 inspect.tablets SUCCEEDED continuous

    Defect-and-Inspect · Visqa classified chips, cracks, capping, spots, mottling and print defects on six synchronised cameras, within the sub-100 ms design budget, and linked a rising chip rate to coating spray rather than to tooling.

  8. 08 spectra.release_evidence SUCCEEDED 38 s

    Quality-and-Potency · Spectryn assembled the method-linked evidence chain for content uniformity and moisture with confidence bounds and citations to the validated analytical method, ready for QA review.

  9. 09 approve.qa APPROVAL 3 m 14 s

    Plant Orchestrator · Batch release is above every autonomy level Pildeon offers. The package was held for the named QA reviewer, who approved it in the review console; the decision, the reviewer identity and the timestamp are in the Part 11 audit trail.

  10. 10 release.genealogy SUCCEEDED 52 s

    Quality-and-Conformance · Conforma wrote the time-aligned batch genealogy (every sensor state, recommendation, approved action, equipment response and QC result) and the cited release package to the immutable audit trail.

Multi-agent handoff

Agents negotiate, they do not collide

Two agents will want the same setpoint. The orchestrator arbitrates on the run goal and the quality attributes, not on who asked first, and the handoff is logged like any other step.

Contested move: turret speed on tablet press 2

  1. 01yield_takt.request(turret +4%) SUCCEEDED0.2 s

    Yield-and-Takt wants more turret speed to recover takt lost to an upstream changeover.

  2. 02quality_potency.request(hold) SUCCEEDED0.2 s

    Quality-and-Potency wants turret speed held: the twin's content-uniformity and capping-risk estimates rise with dwell time lost.

  3. 03orchestrator.arbitrate SUCCEEDED0.4 s

    A quality attribute outranks takt under every Pildeon run goal. Quality-and-Potency wins the setpoint; the takt request is declined and the reason recorded.

  4. 04yield_takt.replan(campaign) SUCCEEDED6 s

    Yield-and-Takt recovers the schedule by re-sequencing the next changeover with cuOpt instead of pushing the press.

Arbitration rules

  • Quality attributes first. Content uniformity, potency, dissolution and defect rate outrank yield, energy and takt in every arbitration.
  • The design space is a wall, not a target. No agent can request a move outside the limits the site's validation approved.
  • Time-boxed ownership. An agent holds a contested setpoint for a bounded window, then must re-justify.
  • Everything is logged. The losing request, the score and the reason all appear in the batch genealogy.
  • Deadlocks escalate to a human rather than resolving by timeout.

See the agent roster

Tool calls · scenario

What an agent actually calls

Tool calls are typed, bounded and logged. The stream below is the scenario run's call log; the reasoning trace beside it is what the orchestrator records between calls.

tool-call stream · run_b2c7e1
  1. 06:12:04mes.read_batch_record({ line: "L2", product: "IR tablet · family A" })
  2. 06:12:05ok design space loaded · autonomy policy L2 · QA reviewer assigned
  3. 06:12:06twin.simulate({ candidates: 36, horizon: "full batch" })
  4. 06:12:47ok candidate #14 selected · predicted CU inside limit · capping risk under threshold
  5. 06:12:48policy.evaluate({ candidate: 14, autonomy: "L2" })
  6. 06:12:48ok 5 setpoint moves inside design space · release held for QA
  7. 06:12:49nir.score({ probe: "blender-1", model: "cu-famA-v3" })
  8. 06:18:59ok blend end point reached · confidence bounds inside acceptance limit
  9. 06:19:00plc.write_setpoint({ tag: "FBD1.INLET_T", within: "design space" })
  10. 06:22:48ok loss-on-drying in target band · move logged to audit trail
  11. 06:22:49press.write_setpoint({ tag: "TP2.MAIN_FORCE", within: "design space" })
  12. 06:24:51ok weight and hardness on target · capping risk under threshold
  13. 06:24:52vision.stream({ cameras: 6, model: "visqa-defect-v2" })
  14. 06:27:10chip rate rising on camera 4 · attributed to spray rate, not tooling
  15. 06:27:11coater.write_setpoint({ tag: "CT1.SPRAY", within: "design space" })
  16. 06:29:14ok chip rate back to baseline · film window held
  17. 06:29:15nir.evidence_chain({ attributes: ["cu", "moisture"], method: "validated" })
  18. 06:29:53ok evidence chain assembled · citations attached
  19. 06:29:54approval.request({ action: "batch_release", reviewer: "QA" })
  20. 06:33:08ok approved by the named QA reviewer · identity and timestamp logged
  21. 06:33:09audit.write_release_package({ batch: "B-240918", genealogy: "full" })
  22. 06:34:01ok scenario complete · genealogy written · package cited

Reasoning trace

Plan, thought, action, observation, exactly as the orchestrator records it.

GoalRun one immediate-release tablet batch through granulation, co…

Run one immediate-release tablet batch through granulation, compression, coating and inspection inside the approved design space, with QA approval before release.

PlanRehearse on the twin first. Stop blending on NIR evidence rath…

Rehearse on the twin first. Stop blending on NIR evidence rather than on a fixed time. Trim drying, compression and coating only inside the approved design space. Inspect continuously. Hold release for the named QA reviewer, always.

ThoughtThe fixed recipe blends for a set time regardless of what the …

The fixed recipe blends for a set time regardless of what the spectra say. On the twin, the candidate that stops on evidence and trims inlet temperature before compression keeps content uniformity and moisture inside their limits with the lowest predicted capping risk.

Actiontwin.simulate(candidates=36) → candidate #14: evidence-based b…

twin.simulate(candidates=36) → candidate #14: evidence-based blend end point, bounded drying trim, compression force held inside the window, spray rate re-phased to bed temperature.

ObservationEvery candidate that pushed turret speed for takt raised predi…

Every candidate that pushed turret speed for takt raised predicted capping risk above the site threshold and was discarded. Rate is never traded for a quality attribute.

ActionExecute candidate #14 under autonomy level L2: five setpoint m…

Execute candidate #14 under autonomy level L2: five setpoint moves inside the design space, each logged. Batch release routed to QA.

ObservationChip rate rose on camera 4 at 06:27:10. Visqa attributed it to…

Chip rate rose on camera 4 at 06:27:10. Visqa attributed it to coating spray rather than tooling; a bounded spray-rate trim returned it to baseline in about two minutes.

OutcomeScenario complete. Every move inside the approved design space…

Scenario complete. Every move inside the approved design space, the QA approval recorded with identity and timestamp, and the cited release package written by Conforma to the immutable audit trail.

Tool registry

Every tool is typed and bounded

A tool declares what it can touch, the limits it must respect and the autonomy level at which it may be called. The registry is versioned and change-controlled.

Tool registry excerpt
ToolOwnerTouchesBound byMin. level
press.write_setpointCompress-and-FillMain force, feed-frame speed, turret speedApproved design space per family and toolingL2+
coater.write_setpointCoat-and-DrySpray rate, inlet temperature, airflowApproved design spaceL2+
plc.write_setpointGranulate-and-DryBinder addition, inlet temperature, airflowApproved design spaceL2+
blender.write_setpointBlend-and-DispenseBlend time end point, speedEvidence-based end point onlyL2+
nir.score / nir.evidence_chainQuality-and-PotencyRead-only spectraValidated method per attributeL0+
vision.streamDefect-and-InspectRead-only framesPer-product model cardL0+
isaac.plan_path / ibc.dockRobot-and-HandlingMaterial movementGenealogy check before every moveL2+
deviation.draft / release.assembleQuality-and-ConformanceDrafts, never decidesMandatory citationsL0+
approval.requestOrchestratorRoutes to a named reviewerEvery release, every out-of-space movealways
Design rules

How we build an agent

Bounded industrial agents, not open-ended chat. Each has an allowed action set, a process window, a reviewer path and an immutable audit record.

Rule 1

One quality attribute, one owner

Every agent is accountable for a measured attribute: uniformity, moisture, weight and hardness, film, defect rate, potency, yield, movement, genealogy.

Rule 2

Tools before prompts

An agent's capability is the tool set it is given, not the instructions it is told. Tools carry units, limits and the design space.

Rule 3

Rehearse before acting

Any proposed setpoint vector is simulated on the twin before it is proposed, and the prediction is logged alongside the outcome.

Rule 4

Cite or stay silent

Recommendations and investigation drafts must cite a validated source: a method, a standard, an SOP, a record. Citation checks run on every output.

Rule 5

Quality outranks rate

In every arbitration a quality attribute wins over yield, energy or takt. The orchestrator enforces it; agents cannot override it.

Rule 6

A human releases

No agent can release a batch, change a validated parameter or move outside the design space. Those paths always end at a named QA reviewer.

Autonomy

Four levels, set per agent and per setpoint

A tablet plant does not go from fixed recipes to autonomy in one step, and validated parameters never change without sign-off. Pildeon makes the level explicit, auditable and reversible at any time.

Autonomy levels and the human role at each
LevelWhat the agent doesWhat the human doesTypical time to reach
L0 · ShadowObserves, scores and predicts; writes nothingRuns the line as today; compares predictions to QC resultsWeeks 1 to 6 of a design partnership
L1 · AssistRecommends setpoint moves and explains whyProcess engineer enters the move; QA reviews the logAfter shadow-mode accuracy is shown
L2 · SupervisedProposes a bounded move; it executes on approvalApproves each move in the review consoleAfter assist-mode ROI is shown
L3 · BoundedMoves low-risk compression, coating and inspection setpoints inside the approved design spaceHandles exceptions; approves every releaseAfter validation and change-control review

There is no unattended level. Batch release and any move outside the approved design space always wait for a named QA reviewer, and every model or prompt change runs under GxP change control.

Use cases

Agents by step of the line

Where each wedge workflow starts and which agents it brings.

Compression QUEUED

Tablet-compression control plus defect inspection

The highest-reject step on most lines. Compress-and-Fill holds weight and hardness while Visqa inspects every tablet, and both write to the same batch genealogy.

Blend release QUEUED

Content uniformity and PAT-based blend release

Spectryn scores NIR spectra in line, calls the blend end point on evidence, and builds the method-linked chain a site needs for real-time release testing.

Coating QUEUED

Coating-process optimisation

Coat-and-Dry re-phases spray rate and inlet temperature against bed temperature to hold the film window, with Visqa watching appearance and mottling.

Tech transfer QUEUED

Rehearse a new product or tooling family on the twin

Twindra fits a formulation- and tooling-specific twin and rehearses the design space before the first validation batch is pressed.

Developers

Define an agent, bound it, run it

The Pildeon SDK is typed Python. Tools are declared with schemas, units and design-space limits; the policy engine enforces them at call time, and every change to a tool or a limit is a change-control event.

What you get

  • Typed tool definitions with unit-aware ranges bound to the approved design space
  • Deterministic replay of any historical batch against a new model version
  • Local twin harness so a setpoint vector is rehearsed before it is shipped
  • Autonomy policy as code, versioned, reviewed and change-controlled like any other GxP change

Read the docs Developer guide

tp2_compression_agent.py
# Bound the compression agent to tablet press 2's approved design space.
from pildeon import Agent, Tool, DesignSpace, Autonomy

force = Tool(
    name="press.write_setpoint",
    tags=["TP2.MAIN_FORCE", "TP2.FEED_FRAME_SPEED"],
    limits=DesignSpace.approved("family-A", "tooling-D"),
)

compress = Agent(
    id="agent.compress_fill",
    goal="weight, hardness on target; capping risk under threshold",
    tools=[force, Tool("press.read_force_curve", read_only=True)],
    # supervised: each move executes on approval
    autonomy=Autonomy.L2,
    # rehearse on the twin before every proposal
    verify="twin",
    # every call lands in the Part 11 audit trail
    audit="part11",
)

run = compress.start(line="L2", batch="B-240918")
for step in run.stream():
    print(step.name, step.status, step.duration)
Design targets

Per-agent design targets

Latency and scale targets the agents are engineered against. Stated as targets until a design partner's QC data measures them.

<100 ms Defect inference per camera frame group, on the plant edge
<500 ms Fused PAT, NIR and process risk score
<2 s Validated recommendation generation
100k+ Synthetic rare-fault scenarios per formulation family

Training corpus targets across design partners: 10M+ tablet and coating images, 50k+ NIR and PAT spectra, 100k+ process time-series windows, 5k+ labelled deviation investigations. Targets, not holdings.

The first meeting

What each stakeholder asks first

Pildeon has no customer quotes to show yet, and will not invent any. These are the questions the three buyers in an OSD plant ask in the first meeting, and the answer each gets.

"What does this do to my reject rate, my deviation count and my release time, and how will you prove it on my line rather than on a slide?"

Site or manufacturing director · economic buyer

Answer: shadow mode first, baseline captured before any autonomous action, a written ROI target before a paid pilot.

"Will it ever move a setpoint outside the design space we validated, and can I see why it recommended every move it made?"

Formulation or process engineer (MSAT) · champion

Answer: no, by construction. Every recommendation carries its reasoning trace and its citation.

"Where is the Part 11 audit trail, who signs the release, and what happens to my validated state when the model changes?"

QA, quality and compliance lead · approver

Answer: an immutable audit spine, a named QA reviewer on every release, and every model change under GxP change control.

Integrations

It speaks tablet plant, not cloud

Pildeon reads and writes through the systems already on the floor: presses, coaters, granulators, PAT probes, MES, LIMS and historians. No rip-and-replace, no parallel historian. Connectors are built with design partners against their stacks; the vendors listed are the ones common in OSD plants.

Blending and granulation

GEA, Glatt, Syntegon, Freund-Vector, L.B. Bohle

Blender, granulator and fluid-bed telemetry; bounded setpoint writes

Tablet presses and fillers

Fette Compacting, Korsch, IMA, Syntegon, MG2

Force curves, fill depth, ejection force; bounded setpoint writes

Coating systems

GEA, Glatt, O'Hara, Thomas, Freund

Spray, inlet, bed temperature, exhaust humidity; bounded writes

PAT and NIR

Bruker, Sartorius, Viavi probes and analysers

Spectra across blend, granulation, drying and compression

Vision

Line cameras and existing inspection systems

Frames, defect maps, reviewed images

Pharma MES and eBR

Körber Werum PAS-X, Rockwell, Siemens Opcenter

Master batch records, campaigns, batch genealogy

LIMS and historians

Site LIMS, OSIsoft PI and equivalent historians

QC results, time-series backfill and replay

Identity and edge

Azure AD, Okta, LDAP · NVIDIA Jetson and on-prem GPU

SSO, RBAC, named approvers · inference at the line

See all integrations

Guardrails

An agent that can move a compression force needs a leash

Pildeon writes to production equipment in a GMP plant. Every capability is scoped to the approved design space, every write is policy-checked, every action is written to an immutable Part 11 audit trail the site owns, and no agent can release a batch.

  • Bounded action space. Each agent can only write to an explicit setpoint allow-list, inside the limits the site's validation approved.
  • Policy engine before every write. Autonomy level, design-space limits, batch state, model version and reviewer assignment are all evaluated before a setpoint moves.
  • Human-in-the-loop gates. Batch release, any move outside the design space and any change to a validated parameter wait for a named QA reviewer.
  • Immutable audit trail. Append-only, hash-chained, exportable, retained on the site's own storage, with reviewer identity and timestamp on every decision.
  • Hard fallback. Loss of the edge node, the network or the model returns the line to the equipment's last known-good recipe.
  • Tenant and IP isolation. Formulations, recipes and models never cross a customer boundary. Validated on-prem deployment is available for regulated producers.

Compliance posture

Compliance and validation status
StandardScopeStatus
21 CFR Part 11Audit trail, e-signatures, records RUNNING Designed in from day one
GAMP 5Validation package for the platform RUNNING In progress, planned for the first design partners
cGMP · ICH Q8 to Q13Design space, QbD, continuous manufacturing RUNNING Design-aligned; site validation decides
SOC 2 Type ICloud control plane QUEUED Planned, first six months
SOC 2 Type IICloud control plane QUEUED Planned, months six to twelve
Data residencyValidated on-prem, air-gapped option SUCCEEDED Available by design

Read the security and validation overview

Enterprise

Standardise validated autonomy across the group

One policy model, one audit spine, one benchmark across every line in every plant, with formulation and tooling models kept private to each site.

Talk to the team Enterprise details

  • SSO, RBAC and named approvers down to the setpoint level
  • Group autonomy policy with per-site override and approval chains
  • Cross-plant benchmarking on yield, rejects, deviations and energy
  • Validated on-prem and air-gapped plant-edge deployment options
  • Validation packages and change-control records as first-class deliverables
  • Dedicated deployment engineer and quarterly model review per site
FAQ

Straight answers

The questions site directors, MSAT engineers and QA leads actually ask in the first meeting.

Yes, but only inside an explicit setpoint allow-list bounded by the design space your validation approved, and only at the autonomy level your site has set. Level 0 is shadow mode: Pildeon observes and predicts and writes nothing. Most sites spend their first weeks there.

Get started

Put an agent on one line

Shadow mode first. The agent predicts; your QC results judge it; nothing moves until you say so.