import { Agent, openai } from "@radaros/core";
import { ConversationSuite, ConversationRunner } from "@radaros/eval";
const agent = new Agent({
name: "support-agent",
model: openai("gpt-4o"),
instructions: "You are a customer support agent.",
});
const suite = new ConversationSuite(
{
name: "Support Scenarios",
scenarios: [
{
name: "Password Reset",
persona: {
name: "Frustrated User",
description: "Non-technical user who is frustrated",
goal: "Successfully reset their password",
maxTurns: 10,
},
initialMessage: "I can't log in! I forgot my password.",
successCriteria: "User successfully resets their password",
expectedTrajectory: {
requiredTools: ["send_reset_email"],
forbiddenTools: ["delete_account"],
},
},
],
concurrency: 3,
},
openai("gpt-4o-mini"), // Model for synthetic user
);
const results = await suite.run(agent);
console.log(`Passed: ${results.passed}/${results.total}`);
console.log(`Average turns: ${results.averageTurns}`);