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.
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!