The agents

Nine classes, and none of them can see your cost line

An agent is not a character in a story. It is a set of objectives with weights, a set of constraints it cannot break, a list of what it observes and what it cannot, a personality, its relationships, and whatever history your files gave it. Every twin gets all nine classes whether or not the record mentions them.

How they are generatedWhat they do in a run

Agents do not talk to a language model during a run. Their decisions are arithmetic on what they can see.

CusCustomersComCompetitorsSupSuppliersSalSalespeopleExeExecutivesEmpEmployeesInvInvestorsRegRegulatorsParPartnersYou

What an actor cannot see is more interesting than what it wants.

Every model has customers who want a lower price. Very few have customers who cannot see your margin, react a month late to what they do see, and are locked in until a renewal date that is written in a contract file you uploaded. The blind spots are why a competitor overshoots, why a regulator arrives four months after the thing that woke it, and why your own executives act on a number that is already out of date.

Anatomy

What one agent carries

Objectives carry a direction and a weight, and the weights across one agent add up to roughly one. A named customer weights getting what it signed for at 0.4, renewing at a price it can defend at 0.35, and not having to run a switching project at 0.25. Those three numbers are why the same price rise loses one account and keeps another.

Constraints are the things it cannot do regardless of what it wants. A customer cannot leave before the contract term ends without paying to break it. A competitor cannot react before it notices. An executive cannot spend cash the company does not have.

Knowledge is two lists and two numbers: what it sees, what it is blind to, how noisy its view is and how many months behind. You can open any of this and rewrite it.

Meridian MarineNamed account, 18 percent of revenueObjectivesKeep getting what they signed forRenew at a price they can defendNot run a switching projectPersonalityriskloyaltypatiencecandour

The nine

What each class wants, cannot do, sees and misses

ClassWhat it wantsWhat it cannot doWhat it can seeWhat it is blind to
CustomersPay as little as the job allows, get the outcome they bought, avoid the cost of changing supplier, be looked after when something goes wrongLeave before the term ends without paying to break it, or pay more than the best visible alternative plus their switching costYour price, competitor prices, quality, service level, and for a named account their own usageYour cost, your margin, your cash
CompetitorsTake share when you give them an opening, protect their own margin, avoid a price war they loseReact before they notice, which takes months, or price below their own cost for longYour price, your marketing, market demand, anything you did in publicYour cost, your pipeline, your cash
SuppliersHold their margin as their own costs move, keep your volume, be paid on timeRun at a loss for you, or add capacity in the short runYour order volume, your payment behaviour, their input costsWhat you charge your customers, your margin
SalespeopleHit quota this month, keep the accounts they have, avoid a quarter that ends their yearDiscount past the policy level, or sell usefully during their first months on the jobTheir pipeline, your price, competitor prices, the gap to quotaCompany cash, other territories
ExecutivesFour seats with different weights: grow, protect margin, protect cash, hit the number, deliver what was sold, keep people from burning outSpend cash that is not there, change price more than once a quarter without losing credibility, or make a cut that lands instantly and freeAll internal metricsCompetitor intent, what a customer is privately planning
EmployeesGet the work done without drowning, be paid fairly, work somewhere that still looks stableProduce more than their number allows, or contribute during onboardingTheir workload, their pay, announcements, who leftCompany cash, board plans
InvestorsGrowth that compounds, a path to cash generation, no surprisesReact to a month rather than a trend, or wait for everReported metrics, cash, growthDay to day operations, morale
RegulatorsKeep the market fair and the customer safe, and be seen to act when something looks wrongMove on your timetable, or react to intent rather than to complaints and sizePublic price, complaints, market shareYour internal reasoning, your cost base
PartnersEarn more per deal, sell whatever is easiest to sell, keep their own customer relationshipStay loyal when the economics move, because their loyalty is a margin numberYour price, the margin you give them, what competitors are offering themYour cost, your roadmap

The noise and the lag on each of those views are numbers you can edit. A competitor with a four month lag and a noisy view of your price behaves very differently from one watching you weekly.

Personality

Derived from a hash of the agent's own name, so it never drifts

Every agent carries six traits, each between nought and one. They are not drawn at random per run. They come from a hash of the twin identifier and the agent's own name, fed into the same seeded generator the engine uses.

That means the competitor called Adlerstahl Alloys has the same appetite for a fight in every replication, in every scenario, today and next month. Rebuild the twin and it is the same again. A personality that resampled every run would be noise dressed as psychology, and it would make the events list impossible to read.

Class nudges the draw. Competitors are pushed toward aggression and away from loyalty. Salespeople are pushed toward the near term. A high satisfaction account is pushed toward loyalty and patience. The nudge moves the number; it does not replace it.

  • Same name, same twin, same person, every single time
  • Nudges are applied per class and per account, then clamped so nobody sits at zero or one
  • You can overwrite any trait by hand, and your version is kept through a rebuild

Six traits

What each one actually changes in a run

TraitWhat it isWhere it shows up
RiskAppetite for riskA finance lead with low risk appetite starts cutting at a longer runway than one with high appetite. The threshold moves by months, not by a rounding.
AggressionWillingness to move against othersHow much of your price move a competitor commits to matching, how likely it is to commit at all, and how quickly the match lands. Also how much of an allowed discount a sales lead actually spends.
LoyaltyWeight put on an existing relationshipHow much switching cost is worth to a named account when it decides whether to renew. It also seeds the trust number on that agent's relationships.
PatienceTolerance for a bad month before actingHow deep a finance lead cuts when cash gets tight. Low patience means a bigger cut, sooner.
MyopiaHow much the near term dominatesGenerated for every agent and nudged up for salespeople, but not yet read by the engine. It is on the page because it is on the agent, and pretending otherwise would be dishonest.
CandourHow openly the position is statedFeeds the trust number between two agents, and colours the wording in the run log. It does not move a number in the books.

Four of the six do mechanical work today. Two do not, and are listed here as what they are rather than quietly left out of the documentation.

Two kinds of customer

Segments move as mass. Named accounts decide one at a time

A segment is a weight of revenue and accounts with its own elasticity multiplier, switching multiplier, contract multiplier and satisfaction. With a customer list of any size the twin cuts three segments by account size and calls them anchored, mainstream and price led. Without one it uses those three as archetypes, and the ledger says so.

A named account is an individual. It gets its own agent, its own personality, its own satisfaction taken from any rating or review attached to it, its own contract clock, and its own line in the events list when it goes.

Named accounts are carved out of the segment revenue so nothing is counted twice, and the twin keeps up to twelve of them. That is the difference between a churn forecast and a month where one specific customer did not renew and took its reference with it.

Price led customersSegment, buys on cost, leaves firstObjectivesPay as little as the job allowsGet the outcome they boughtAvoid a switching projectPersonalityriskloyaltypatiencecandour

Relationships

Trust is not random either

Agents are wired to each other in a fixed set of directions: customers to the salespeople who serve them and the competitors courting them, salespeople and departments to the executives they report to, suppliers to the people they deliver to, partners to the customers they resell to, and investors and regulators to the executives they back and watch.

Each link carries a trust number, and that number starts from the personalities on both ends: how much weight the first agent puts on a relationship, and how openly the second one states its position. Two guarded agents who put no weight on relationships start from a lower base than two who do.

This is the least developed part of the model and it is worth being straight about that. Trust colours the wiring and the run log today. It does not yet change a customer's probability of leaving.

Honestly

What these agents are not

It would be easy to describe this as a company full of little minds having conversations. It is not that, and the difference matters if you are going to rely on the output.

  • They do not converse. Each one scores the moves available to it against its own objectives and acts, in a fixed order, on numbers
  • They do not call a language model during a run. The simulation never leaves your server
  • They do not learn. An agent behaves the same in month twelve as in month one, except through the state of the world around it
  • They do not plan more than one move ahead. A competitor decides how far to follow and commits; it does not run a game tree against you
  • Below department level there are no individual employees, so a question about one team's workflow is out of scope today

What is built and what is notThe larger version of the idea

Editing

If an agent is wrong, it is wrong on screen

You know your largest customer better than an extractor does. Open the agent, rewrite its objectives and their weights, change its constraints, move its personality, or switch it off entirely and run without it.

Anything you edit is marked as yours and survives the next rebuild. Anything generated is replaced when the graph is rebuilt, which is what you want when you have just uploaded a better file.

Ask the twin about an account

Meet the ones the model invented for you

The interesting agents are usually the ones your files never mentioned. The competitor nobody named, the regulator nobody thought about, the channel partner whose loyalty turns out to be a margin number.

Build a twinHow the graph fills gaps