At the moment, whenever a change is made to the Rovo prompts, your app needs to be redeployed. Simply having forge tunnel running in the background won’t refresh your prompts and will throw the following error:
Error: Changes to manifest.yml have been detected. You will need to deploy your forge app to apply these changes.
Since prompt engineering is quite empirical, the prompts will have to change a lot until you get it right. Waiting for forge deploy to finish for every single change is a bit annoying.
Is there a way to make the Rovo prompt iteration/development faster?
Pro-tip: with the latest CLI, you can pull the prompt out of the manifest and treat the prompt as it’s own resource. This does not change the need for forge deploy with every change, but does improve some other aspects of DX. For example, I like to write my prompts in Markdown. I can get better editor support as a separate file.
The separate file also means you could build your own tooling around it, like using local langchain on it. Or generating the document as part of a build that assembles it from well-tested parts. Those could help you avoid the need for so many deploys, letting some testing be local. But, for now, there’s no way around forge deploy to get a prompt to be live.
This is one reason that I recommend taking a “running start” by building a user-defined agent in the UI before starting on the Forge-based agent.
I’ll open an issue, but I doubt there would be any quick fixes.
we added our prompt to a separate file and can confirm it works as expected.
I would love to have a hot reload when using the Forge tunnel. Developing the prompt with the UI looks like a good workaround, but still I would prefer to develop under “real” conditions.
Thanks for holding me to account. I had forgotten to follow through with an actual report, let alone the issue key. See the freshly reported FRGE-1576.