Skip to content

Agents

An agent is a reusable AI persona: which model it uses, its standing instructions, a one-line summary, and the tools it may call. An agent does nothing on its own. An interaction puts it to work.

See it in tutorial 1, Hello, agent, which writes this agent and runs it, and tutorial 2, Prompts and inputs, which moves its instructions into a prompt file.

agents/greeter.mtr
// The model this agent runs on. See the names you can use with `mt aimodel-list`.
model = @ref("deepseek.deepseek-v4-flash")
prompt = "You are a friendly assistant. Keep every answer to one or two sentences."
summary = "A friendly assistant"
PropertyRequiredWhat it does
modelyesThe model it runs on, as @ref("<catalogue name>").
promptyesIts standing instructions (the system prompt). Use @prompt("name") for anything long.
summaryyesOne line that describes it to other agents: a router choosing who answers, or a manager choosing who to hand work to.
functionsnoThe tools it may call: [ { ref = @ref("tool-name") } ].
allowWebSearch, allowWebFetchnoGives it Maitento’s built-in web tools, as in tutorial 14.
routedSubAgentsnoMakes it a router that picks another agent to answer each turn. See Teams and tutorial 6.
allowSwarmnoLets it start other interactions as sub-runs. See Teams and tutorial 18.

From tutorial 8, Your first tool:

agents/weather-bot.mtr
model = @ref("deepseek.deepseek-v4-flash")
prompt = "You answer questions about the weather. Always check the current weather with your tool before you answer."
summary = "Answers weather questions"
functions = [
{
ref = @ref("current-weather")
}
]
  • Write the prompt for the job, not the task. The agent’s prompt says who it is and how it behaves. The thing to do right now goes in the interaction’s task, which is also where run inputs such as %%city%% are filled in. Inputs are not filled in inside an agent’s prompt.
  • One agent, many interactions. The same agent can sit in any number of interactions.
  • Changing an agent creates a new version. Interactions keep using the version they were deployed with until you deploy them again, so deploy the whole project folder after a change.