feat: update version to 2.4.3 and enhance tool loading mechanism with… - #96
Merged
Conversation
… find_tools integration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a new "tool discovery" workflow for the EdgeBalancer provisioning agent, optimizing how tool schemas are loaded and reducing the token cost per agent run. The main change is that only the
find_toolsschema is sent on the initial model call; all other tools are loaded dynamically as needed, based on the user's request. The system prompt and tests have also been updated to reflect this workflow.Tool binding and workflow improvements:
find_toolstool is bound on the first model call; other tools are loaded dynamically by callingfind_toolswith their names, and are only bound once loaded (server/src/modules/ai/services/agent.service.ts,server/src/modules/ai/services/tools.service.ts) [1] [2] [3] [4] [5] [6].ToolContextandbuildToolsnow include anunlockedset to track which tools have been loaded and should be available to the agent (server/src/modules/ai/services/tools.service.ts) [1] [2] [3].Prompt and documentation updates:
SYSTEM_PROMPT) is updated to clarify the new workflow: onlyfind_toolsis bound at first, and all other tools are loaded with it as needed. The prompt also clarifies scope, workflow, and plain-text output requirements (server/src/modules/ai/config/systemPrompt.ts).Testing improvements:
find_toolsis bound initially, and other tools are bound after being loaded, ensuring the new workflow is correctly implemented (server/src/__tests__/unit/ai/agent.test.ts,server/src/__tests__/unit/ai/tools.test.ts) [1] [2].Other:
serverpackage version to2.4.3(server/package.json).These changes make the agent more efficient by sending only the schemas needed for each run, and ensure the workflow is clearly communicated to both the model and developers.