Agent Mode (beta)
Learn about Bezi’s Agent Mode, what’s possible with it, and how it differs from Ask Mode.
Agent Mode is in beta and active development. If you’re weary of how Agent Mode will work with your project, we recommend testing it in an example project first.
What is Agent Mode?
Agent Mode is Bezi’s actionable setting. It understands your entire Unity project and can create and modify scripts directly, simplifying the suggestion to implementation process. You can accept or reject proposed code, compare diffs, and immediately test suggestions in-Unity.
To enter Agent Mode, select the mode dropdown (below the prompt textbox) and select Agent. When you’re in Agent Mode, it will look like this:
How’s Agent Mode different than Ask Mode?
Agent Mode will directly implement changes in Unity on your behalf, while Ask Mode cannot. Consider Agent Mode as automatic implementation and Ask Mode as manual implementation.
How do I use Agent Mode?
Agent Mode suggestion states
We recommend you accept or reject suggestions as you work. Allowing suggestions to remain undecided may lead to unintentionally accepting suggestions that you did not want implemented.
Proposed changes (i.e. suggestions) from Agent Mode can exist in three states.
Undecided: Suggestions that have not been accepted or rejected
Accepted: Suggestions that have been accepted, this can happen in two ways
- Directly Accepted: You reviewed suggestion(s) and pressed
Accept
orAccept All
button - Indirectly Accepted: You left suggestion(s) undecided and accepted a future suggestion that iterated on it
Rejected: Suggestions that have been rejected, by pressing the Reject
or Reject All
button
- Suggestions cannot be indirectly rejected. If you want to reject a suggestions, make sure to do so manually and ideally as soon as you realize you don’t want it implemented
Code generation and modification
All Agent Mode suggestions are implemented by default so you can test them in context before deciding to accept or reject them. When you receive a suggestion in Agent Mode, it’s best practice to test the suggestion(s) in Unity, return to Bezi to accept what you like and/or reject what you don’t, and then prompt again to iterate.
When Bezi suggests a script with the Accept
or Reject
option, it’s been created and is viewable in Unity. This is what happens if you select either option:
Accept
/Accept All
: this will not change anything, the script already exists in Unity and will stay as-isReject
/Reject All
: this will remove any Bezi changes, either deleting new files created or reverting any changes made to an existing file
Accepting or rejecting a suggestion is a non-reversible action. Once either button is clicked, you can’t return to the undecided state. If you wish to implement a suggestion you rejected, you can return to that section, copy it from the chat or in canvas, and manually implement it (as you would in Ask Mode).
Diffs
We use diffs to indicate exactly what changes are being to files:
- red highlights: deletions made within a file
- green highlights: additions made within a file
In chat, modifications are shown compressed to be glanceable.
To view in the context of the entire script, open the script in Canvas (diffs will remain highlighted). This is intended to be a clearer way to show suggested changes in the script as a whole, so you can:
- Compare the update to the original, for confidence that Bezi’s doing the right thing
- Identify exactly where a change is being made, versus receiving a snippet out of context and having to guess where it fits into the larger script
Asset Drawer
The Asset Drawer lists all created and modified files. It sits above the prompt box so you can view all changes made in the duration of a thread in one place and bulk accept or reject a response’s suggestions.
Restore Checkpoint
Once a suggestion is accepted or rejected, that suggestion cannot be reverted back to an undecided state.
If you wish to revert the entire project to a overall prior state, select the Restore Checkpoint
button to go back to a specific conclusive state, identified by a Bezi response.
For example, if you go down a rabbit hole working on a particular mechanic, only to get feedback that your second iteration is the right direction; you can restore to that response and continue to iterate from there.
Restore Checkpoint does not revert actionable code to undecided. It returns you to a conclusive point in time, erasing any new code and/or code modifications made by Bezi after the point.
This functionality is similar to the Edit Prompt functionality, but it allows you to return to a specific response without anything regenerating (whereas with Editing, you have to modify a prompt and therefore regenerate it’s results to return to that point).