Dev.to AI πŸ€– Ai πŸ‘ 0 πŸ“– 3 min read

Build a taste record for your AI agent, without turning preference into fake precision

Your agent has generated five options. All five are the same idea with a different haircut. I wrote recently about the interchangeable glowing-globe dashboards I kept seeing at UAE exhibitions. Here is the implementatio

Build a taste record for your AI agent, without turning preference into fake precision

Your agent has generated five options. All five are the same idea with a different haircut.

I wrote recently about the interchangeable glowing-globe dashboards I kept seeing at UAE exhibitions. Here is the implementation question behind that complaint: how do we give an agent useful preferences without pretending a style score is objective truth?

I keep my own taste profile as a skill. The small pattern below is a proposed implementation, not a benchmark result or a description of a production system.

Separate constraints from preferences

A taste record needs three kinds of information:

  • Context: the audience, task and decision the output should support.
  • Constraints: checks that must pass before anyone considers style.
  • Preferences: annotated examples and reasons for choosing between acceptable alternatives.

For a customer-facing release note, β€œinclude the migration guide” is a constraint. β€œLead with the customer's next action” is a preference that may have exceptions. Do not blend them into one weighted score. Otherwise, excellent typography can compensate mathematically for a missing instruction. An elegant way to send everyone to support.

Here is a minimal record:

{
  "version": "0.1",
  "audience": "existing API customers",
  "task": "explain a breaking configuration change",
  "required_urls": ["https://example.com/migrate"],
  "banned_phrases": ["seamless transition"],
  "preferences": [
    "Name the affected workflow before the implementation detail",
    "State a limitation beside the claim it qualifies"
  ],
  "examples": [
    {
      "text": "Update the endpoint before Friday to keep exports running.",
      "decision": "prefer",
      "reason": "Names the action, deadline and consequence"
    }
  ]
}

The URL and deadline are illustrative. Replace them with verified facts for the actual release.

Keep the mechanical gate small and honest

This Python example checks exact URL presence and normalised phrase matches. It does not verify that a URL works, that the claim is true, or that the document is good.

import unicodedata

def normalise(text):
    return " ".join(unicodedata.normalize("NFKC", text).casefold().split())

def violations(text, record):
    errors = []
    normalised = normalise(text)
    for phrase in record["banned_phrases"]:
        if normalise(phrase) in normalised:
            errors.append(f"banned phrase: {phrase}")
    for url in record["required_urls"]:
        if url not in text:
            errors.append(f"missing URL: {url}")
    return errors

record = {
    "banned_phrases": ["seamless transition"],
    "required_urls": ["https://example.com/migrate"]
}
assert violations("A SEAMLESS   transition", record) == [
    "banned phrase: seamless transition",
    "missing URL: https://example.com/migrate"
]
assert violations("Read https://example.com/migrate", record) == []

A substring matcher has obvious limits. It can flag a phrase quoted for criticism and miss a paraphrase. Keep an explicit exception path with a recorded reason. Do not present this as a security boundary or an AI detector.

Generate alternatives before asking for a winner

Ask for materially different structures, then compare them against the same brief. For example: action-first, before-and-after, and trade-off-first. Require each candidate to explain what it sacrifices.

The Artificial Hivemind study gives a research basis for worrying about convergence. Verbalized Sampling explores eliciting multiple responses with probabilities. Treat those stated probabilities as model output, not calibrated confidence.

Give a critic the candidates, the taste record and the task. Ask for quoted evidence against each preference, plus any disagreement between criteria. Keep candidate text clearly separated from instructions. A second agent can share the first agent's blind spots, and untrusted candidate content can try to influence the review. Human inspection remains necessary.

Store the decision, not just the winner

Record the chosen candidate, rejected alternatives, human rationale, record version and observed outcome. Keep a few examples out of the prompt to check whether a revised taste record generalises beyond the examples it was shown.

AI agent taste loop with brief, explore, critique, human choice, observation and revision feeding a shared decision record

If the output passes the checks but readers still misunderstand it, change the record. The objective is a better decision process, not a permanently green dashboard.

Watch my original LinkedIn video, or read the companion article and watch the video on my website.

πŸ“° Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes β€” full credit and traffic to the original publisher.