refactor(tools): wrap sync code interpreter tools with asyncio.to_thread #4
+34
−16
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.
Supporting Async
CodeInterpreterToolkitThis PR updates the existing synchronous
CodeInterpreterToolkitto an async implementation.At the moment,
aioboto3does not supportBedrockAgentCore. As a temporary solution, we wrap the synchronous Code Interpreter and terminal execution logic usingasyncio.to_thread, exposing an async interface while preserving existing behavior. This allows the toolkit to integrate cleanly with async agent pipelines without blocking the event loop.Testing
We tested the async implementation on AIME-2024 using Qwen3-8B, hosted on a single H200 node.
Command used:
strands-env eval aime-2024 \ --env examples/eval/aime_code/code_sandbox_env.py \ --backend sglang \ --base-url http://localhost:30000 \ --n-samples-per-prompt 1 \ --temperature 0.0 \ --max-concurrency 30Results
Summary