The key difference: generated coverage or a reviewed suite
IntellAgent is built to explore. Its README describes generating “thousands of edge-case scenarios”, and it reports success rates by policy category and by complexity level. Its paper generated 1,000 events per domain and found that model results on them closely track τ-bench’s (Pearson correlation 0.98 for airline and 0.92 for retail). The same section shows it testing policies that a final database cannot show, such as asking for the user’s consent (paper, section 4.2). sandtable is built to gate. The suite is fixed and reviewed, and each rule traces back to its source.init --sop makes every drafted invariant quote the SOP sentence it comes from, warns when the quote is not found verbatim, and leaves it review: pending until someone accepts it. Each trial then passes or fails on checks anyone can re-run, so a score change means the agent changed, not the test.
What you feed IntellAgent matters. Given the agent’s system prompt, it tests the policies the prompt states; given the customer’s policy document, it tests the customer’s rules.
Side by side
Choose IntellAgent when
- You want broad, automatically generated coverage quickly, to explore how an agent behaves across many combinations of policies.
- You want results broken down by policy category and by how hard the scenario is.
- Some policies you care about leave no trace in the database, such as asking for consent, and a model’s critique is an acceptable verdict for them.
- Your agent is built on LangGraph, or a LangChain tool-calling agent fits.
Choose sandtable when
- The customer’s documents define what is allowed, and each rule must trace back to a sentence in them.
- Pass/fail has to be reproducible and explainable to the customer: “it booked carrier 100202, whose insurance was expired”.
- The suite must be stable across runs, so that a score change means the agent changed.