Rig v0.30 now available! #1351
joshua-mo-143
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hey everyone! Happy to announce that Rig v0.30 is now available to try.
Encoding agentic loop behaviour into hooks
One of the issues that the current hook design has is that you can't actually "return" an early cancellation - you can only send
CancelSignal::cancel()and then manually cancel. This version we have instead made a change that lets you return aHookAction, specifying whether you would either like to continue the loop or terminate early. In the case of tool calls, you can also choose to skip them.A short snippet to illustrate the point:
This is a step forward in how we think about loops internally as we want to move towards patterns that both properly encode the behaviour of the agentic loop and how to best add things like agent state/context and manually mutating the loop state without having to add things like
&mutvariables which make it difficult to use such things.Rejecting tool calls in rig::agent::Agent
You can now skip tool calls! Instead of simply cancelling the loop, you can send a message back to the LLM telling it that the tool call failed with a reason, rather than whatever the result of the tool call should normally be.
Other features
xhighvariant now supportedon_tool_call/on_tool_resulthook method and makes it much more convenient to reason about tool call IDs. (edit: Additionally, some enums related to message contents may have an internal tool call ID added)Bug fixes
deepseek-reasonermodel being broken due to reasoning not being added back to the conversation historyRefactoring
max_depthtomax_turns().instructions, as several Responses API compliant services do not use it (xAI, LM Studio, etc...).Miscellaneous
BREAKING
max_turns().PromptRequest::multi_turn()has now been renamed toPromptRequest::max_turns()and the agentbuilder equivalent isdefault_max_turns().Changelog PR: #1288
Thanks for reading! We build rig, rig builds us.
Beta Was this translation helpful? Give feedback.
All reactions