Skip to content

Agent ๐Ÿ•ต๐Ÿพโ€โ™€๏ธ Concept

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!

Check out our existing agents!

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.

Model

The language model to use, based on the Enola.dev AI URI specification; so e.g. google://?model=gemini-2.5-flash. May be omitted, in which case a default one (built-in, or specified as a parameter to a CLI) will typically be used.

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!