TL;DR: Agents are autonomous LLM-based automations that use tools to achieve a goal. Agent interactions are defined as code, using a workflow.

1. Tools

Tools (or functions) are the core building blocks of Inferable applications. These are plain old functions that can be written in any supported programming language, but produce JSON serializable output.

2. Agents

Agents are autonomous agents that can use tools to achieve a goal iteratively. They take four main type of inputs:

  • Facts: Facts and information about the task. For example, “You are given a customer support email body”. Or the actual data you are working with.
  • Goals: The goals that the agent needs to achieve. For example, “Identify the user that sent the email”

3. Workflows

Workflows are the orchestration layer of Inferable applications. They are a series of agents that are executed in order, and can be written in any supported programming language.