Overview
Dataworkz Agents are LLM reasoning engines coupled with information retrieval capabilities. The Agent is configured with access to a number of different tools that provide the Agent with numerous abilities or skills (called tools) such as querying customer profiles, fetching order information, calling external services, performing currency conversions, etc. The reasoning engine provides the Agent with the ability to create a plan of execution to solve a problem leveraging the tools provided to it. A plan is composed of a series of steps. Each step invokes a tool with a set of parameters it expects. The parameters for each tool invocation are discovered by the Agent from
the conversation the user has had so far
the environment in which the Agent is executing
the context of the question the user is asking
results of previous plan steps
E.g. In this conversation -
AI: You have 2 orders -
Order # 232: Order is for a Yellow Shirt
Order # 233: Order is for White Socks
User: What is the status of the order with the socks?
The Agent will figure out that the user means Order # 233 when they refer to the order with the white socks from the conversation so far. If a tool requires the customer’s id, that might be available from the context.
An Example plan to get order status for the order with white socks might look like this -
FetchCustomerDetails(customer_id=’CUST2342’) # customer_id populated from the logged in user’s info
FetchOrderDetails(customer_id=’CUST2342’, order_id=’233’) # order_id populated from the conversation context
FetchShippingDetails(shipping_tracking_id=$2.tracking_no) # where $2 refers to plan step2 and tracking_no is a value available in the return of plan step #2
The Agent will orchestrate these calls, passing the correct arguments to the right tools. The plan does not need to be complete - it can solve either the whole or part of the problem. Once the plan is executed, the Agent will analyze the result and can take one of 3 steps -
if it has retrieved enough information to answer the user’s question it will Finish and respond to the user
If it does not have the answer to the user’s question but it does have more information to proceed, the agent will iterate and continue with further plan creation using the previous plan as context to the next plan’s execution. This iterative process, will continue as the Agent builds up more and more information
If it does not have the answer and it has exhausted all avenues of information retrieval it may do one of the following
If the problem is because it is missing input it may ask the user
If the problem is because some tool invocation failed it may Finish but respond with a message indicating failure to retrieve information
If the problem is because it cannot answer either because the problem is beyond its reasoning abilities or it just doesn’t have the answer it may respond accordingly
This orchestrated execution, coupled with reasoning and planning followed by analysis in an interactive fashion enables the Agent to solve complex problems.
Last updated