Skip to content
RasaGet a free licence
Menu

tutorial

Chapter 0 of 4

Build a router helper and check its AI-written changes

by Rod Rivera Published

Build a Mantle router helper, connect a coding agent and check its saved proposals in a browser Codespace.

Key takeaways (3)
  • Make the helper ask before acting, then inspect the command it records instead of trusting a reassuring reply.
  • Keep the builder separate from the helper, and check the saved proposal before deciding whether to accept it.
  • Rehearse with a labeled sample first; start a billed builder session only when you choose to test generation.

You are building a support assistant that can restart a customer’s router. A restart keeps the settings; a factory reset erases them. The words sound similar, so a fluent answer is not enough. You need to inspect what the assistant would do.

You will build that helper in Rasa Mantle, then connect a builder that proposes a small code change. A separate check accepts or rejects the saved file. You make the final decision. Everything runs in a browser Codespace; you install nothing on your laptop.

This is a small software factory: one agent takes the request, another proposes a change, and a check controls what moves forward. The example simulates router commands. It never contacts a router or changes your internet connection.

Choose your pace

These are planning estimates, not measured completion times. Allow extra time for account setup, downloads and model responses. You can stop after any part.

PartAllowYou finish with
Open the Codespace and build the helper25–35 minutesA conversation that asks before recording a restart
Test resets and the recorded command20 minutesA refusal check, a cancellation check and a source check you have made fail
Connect the builder25–35 minutesA visible receipt for a saved proposal, using a labeled sample first
Judge the proposal20 minutesAccepted and rejected files, plus your written decision

What you need

  • A personal GitHub account with Codespaces available and enough compute and storage allowance. Check GitHub’s usage guidance; a Codespace is not an unlimited free machine.
  • Your own free Rasa Developer Edition license. Save the license value you receive, not the confirmation-page address.
  • Your own OpenAI application programming interface (API) key with model access and billing available. Mantle uses it for conversation turns. ChatGPT subscriptions and API billing are separate.
  • Familiarity with a terminal, opening files and basic Python functions. You do not need prior Rasa experience.

You add the two keys as Codespaces secrets in the first part. Do not put them in source files, commands, screenshots or chat messages. There is no preparation to complete before starting this page.

What each check can tell you

What you inspectWhat it establishesOutside this check
The helper’s replyWhat the customer was toldWhich command the tool recorded
The Inspector’s tool resultThe simulated command returned in that conversationA physical router restart
The source-file checkThe configured restart value in the file you choseThat a live conversation reached the tool
The proposal gateA saved file has the narrow structure and values this exercise acceptsThat arbitrary generated Python is safe to run
Why does the tutorial use more than one check?

Keep these results separate. A convincing reply cannot replace the tool result. A passing source check cannot replace the conversation. The final gate deliberately accepts a very small kind of file so it can inspect it without running it.

A proposal does not enter the running helper automatically

The dashed connection is deliberately absent from the implementation. You inspect the proposal before making a decision about future changes.

FigureA proposal does not enter the running helper automatically

Source and scope

The runnable companion comes from the Software Factories workshop. This path adapts its steps for working alone, with recovery beside each operation. Its pinned revision is 816b0c8; the completed Mantle reference includes a dependency lock and native checks.

The completed reference adds these files alongside the existing skills:

Files in this step

Created: mantle/agent.yml, mantle/responses.yml, mantle/integrations.yml, mantle/uv.lock

You create your own helper during the exercise. The completed reference gives you a fixed project to compare against, rather than a substitute for following the steps.

The fixture tests file handling and the local tool connection. It does not test an Agents session or prove what a new model-generated proposal will contain. Treat the optional live build as a separate result, and keep its receipt.

Studio 2 is coming later. Join the Rasa Community to hear when it is released. This tutorial uses Mantle throughout.

Begin with your first confirmed restart

Start with your router helper.