Target
A target is the agent or LLM you are evaluating. It tells Promptbeat what the system is supposed to do, what tools and capabilities it has, what boundaries it must respect, and which assets it must protect. Promptbeat uses the target profile to focus generation on relevant risks and to explain results in context. Define your target intarget.yaml. The key fields are:
Here is the target definition from the
llm-basic example:
target.yaml (llm-basic)
tools, business_rules, and forbidden_actions. See the codex_agent example for a richer target definition covering shell access and workspace boundaries.
Scenario
A scenario describes a single risk situation. It specifies which risk category applies (risk_type), what target capabilities must be present for the test to be meaningful (applies_to), what a failure looks like (failure_signals), which judges should evaluate the result (judges), and what a passing response looks like (success_criteria).
scenarios.yaml (llm-basic)
scenarios.yaml file can hold multiple scenario objects. Promptbeat matches each scenario against the target’s declared capabilities and only runs scenarios that are applicable.
Seed
A seed is the starting material for an attack, not the final probe. It captures one focused attack intent — the framing style, the risk type it targets, and the capabilities the target needs to expose the risk. Promptbeat and its generation backends use seeds to produce a larger set of varied, realistic attack prompts.seeds.yaml (llm-basic)
How they compose
At runtime Promptbeat merges the three objects into a pipeline:Seeds can come from hand-written YAML files like the examples above, or from dataset subscriptions that pull from benchmark corpora such as HarmBench, JailbreakBench, and ALERT. See the Datasets section to learn how to map dataset categories to Promptbeat risk types.