Skip to main content

What is an Agent?

An Agent is your LLM-based conversational system. The Agent must be running on an Agent API endpoint that is used to invoke the Agent during evaluation.

Agent API Specification

user_message
object
required
UserMessage object.
session_id
string
Optional conversation thread identifier.
{
  "user_message": {
    "role": "user",
    "content": [
      {
        "type": "text",
        "text": "What is 1 + 1 + 2?"
      }
    ]
  },
  "session_id": "123e4567-e89b-12d3-a456-426614174000"
}
agent_trajectory
AgentMessage[]
List of messages in the agent’s execution trajectory. Each item is one of: UserMessage, DeveloperMessage, SystemMessage, AssistantMessage, or ToolMessage.
{
    "agent_response": {
        "agent_trajectory": [
            {
                "role": "assistant",
                "agent_name": null,
                "content": null,
                "tool_calls": [
                    {
                        "id": "339c882b-cdee-4c52-8f74-48acde0a879f",
                        "name": "add",
                        "arguments": {
                            "b": 1,
                            "a": 1
                        }
                    }
                ],
                "metadata": {
                    "tokens": {
                        "input_tokens": 207,
                        "output_tokens": 68
                    },
                    "cost": {
                        "input_cost": 0.0,
                        "output_cost": 0.0
                    },
                    "latency": {
                        "start_time": 1.7691640138092388e+18,
                        "end_time": 1.7691640146507999e+18
                    },
                    "model_info": {
                        "model_name": "gemini-2.5-flash",
                        "model_provider": "google"
                    }
                }
            },
            {
                "role": "tool",
                "tool_name": "add",
                "tool_call_id": null,
                "content": [
                    {
                        "type": "text",
                        "text": "2.0"
                    }
                ],
                "metadata": {
                    "latency": {
                        "start_time": 1.769164014657284e+18,
                        "end_time": 1.7691640146585761e+18
                    }
                }
            },
            {
                "role": "assistant",
                "agent_name": null,
                "content": null,
                "tool_calls": [
                    {
                        "id": "938665a5-507a-46a3-a00b-90a2583fa877",
                        "name": "add",
                        "arguments": {
                            "a": 2,
                            "b": 2
                        }
                    }
                ],
                "metadata": {
                    "tokens": {
                        "input_tokens": 238,
                        "output_tokens": 50
                    },
                    "cost": {
                        "input_cost": 0.0,
                        "output_cost": 0.0
                    },
                    "latency": {
                        "start_time": 1.76916401468033e+18,
                        "end_time": 1.769164015288768e+18
                    },
                    "model_info": {
                        "model_name": "gemini-2.5-flash",
                        "model_provider": "google"
                    }
                }
            },
            {
                "role": "tool",
                "tool_name": "add",
                "tool_call_id": null,
                "content": [
                    {
                        "type": "text",
                        "text": "4.0"
                    }
                ],
                "metadata": {
                    "latency": {
                        "start_time": 1.769164015294827e+18,
                        "end_time": 1.769164015296263e+18
                    }
                }
            },
            {
                "role": "assistant",
                "agent_name": null,
                "content": [
                    {
                        "type": "text",
                        "text": "The answer is 4."
                    }
                ],
                "tool_calls": null,
                "metadata": {
                    "tokens": {
                        "input_tokens": 269,
                        "output_tokens": 56
                    },
                    "cost": {
                        "input_cost": 0.0,
                        "output_cost": 0.0
                    },
                    "latency": {
                        "start_time": 1.769164015315155e+18,
                        "end_time": 1.769164015970651e+18
                    },
                    "model_info": {
                        "model_name": "gemini-2.5-flash",
                        "model_provider": "google"
                    }
                }
            }
        ]
    }
}
Use our Python SDK’s built-in adapters to connect popular agent frameworks to Quraite. Each adapter conforms to the Agent API specification.
Trace vs Trajectory
  • A trajectory captures internal agent steps such as LLM invocations, tool calls, and reasoning at every turn.
  • A trace is usually an OpenTelemetry (OTel) trace that captures tokens and latency along with the trajectory.

Regiser Agent in Quraite

1

Navigate to Projects page

In the Quraite dashboard, navigate to the project you want to register the agent in.
2

Navigate to Agents page

Click on the Agents in the left sidebar.
3

Create agent

Click + New Agent and enter the following details:
  • Agent Name - e.g. Customer Support Agent
  • Description (Optional)
  • Agent URL - Paste the Agent API endpoint URL
Click Create Agent.