Skip to content

Agent 🕵🏾‍♀️

Agents use a Large Language Model (LLM) to reason, plan, and execute actions to achieve a specific goal, often interacting with Tools. They augment LLMs to go beyond just generating text by enabling them to perform tasks and solve problems proactively.

Enola lets you easily create ‘opinionated’ (“only one way to do it”) No Code agents declaratively in YAML or JSON (and maybe TextProto later), based on its Agent Schema.

Check out the tutorial!

Schema

See https://github.com/enola-dev/enola/tree/main/test/agents for examples.

Instruction

Instructions for LLM model, guiding the agent’s behaviour. You should describe concisely what the agent will do, when it should defer to other agents/tools, and how it should respond to the user.

Description

One-line description of the agent’s capability. The model uses this to determine whether to delegate control to the agent.

Name

Name (“nick”) of agent. Typically, it’s set automatically by a loader from a portion of the origin URL.

Output Schema

The output.schema allows specifying the expected structure of the output from the agent in JSON Schema.

The person.agent.yaml example illustrates how to use this.

Tools

Tools to which the agent has access, including MCP.

TODO

Agents will soon allow configuring parallel (or sequential) and “looped” execution of other agents!