Guide

Writing profiles and guidelines

The two free-text fields you pass on almost every call do different jobs: the profile describes the customer to the judge; the guidelines describe your commercial guardrails to the proposer. Both work best short and factual.

Profiles

A profile is a one-line sketch of how this person shops:

"shops fortnightly, small baskets, coupon-led, buys confectionery"
"weekly family shop, rarely uses vouchers"

The judge is grounded in the customer's actual transaction history; the profile rides alongside it as a compact summary. Good profiles state observable behaviour:

Avoid speculation and demographics-as-personality ("price-conscious millennial mum"). The model answers as a person, not a segment — give it the person's behaviour, not a marketing archetype.

If you have transaction data onboarded, profiles can be generated from it; ask your EGGai team about profile export. For the Survey Response SDK's drawn panels you write one description for the whole panel instead ("shoppers aged 18-55 who buy fresh produce most weeks").

Guidelines

Guidelines are the search space. The proposer opens at the stingiest version they allow and never goes outside them; if they run out before the judge accepts, the run returns no offer rather than breaking them.

discount caps at 12%, min spend above 300.
the produce section is fixed. the tagline may
be reworded, but never promise free delivery.

State three kinds of thing, plainly:

Add explicit prohibitions for anything a clever rewording must never do: never promise free delivery.

Constraints: the numeric backstop

Guidelines are honoured by a language model; constraints are enforced by the harness. For the numbers you cannot breach, pass both:

guidelines  = "discount caps at 12%, min spend above 300"
constraints = {"max_depth": 12, "min_spend_min": 300}

Whatever the models do, terms outside the constraints never come back. Available: max_depth, min_depth, min_spend_max, min_spend_min. Lock intent ("keep the category unchanged") stays in the guidelines — it is not expressible as a number, and the proposer honours it there.

Guidelines per SDK

Tips