Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added new tool - daytona #276

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

nkkko
Copy link

@nkkko nkkko commented Feb 5, 2025

📥 Pull Request

📘 Description
I've introduced Daytona as a new tool. The Daytona SDK allows you to create, run, and terminate sandboxes for your AI code effortlessly. It's particularly well-suited for generative AI code, such as the type typically produced by AI agents. This tool streamlines the process of managing sandboxes and executing AI-generated code in a controlled environment.

🧪 Testing
Created a new agentstack project, added a tool, and tested it.
image

@tcdent
Copy link
Collaborator

tcdent commented Feb 5, 2025

This is great, thanks for the contribution!

Can you explain the process of running a command real quick? Does the LLM need to do any initialization before it can execute code?

We're working on building a layer to determine which methods get exposed by tools to a particular agent to avoid overwhelming the context, but until that's ready, I'm afraid this tool is going to overwhelm the context.

Also, since you have well written documentation in the docstring of the tool implementation, would you mind moving that to the docs (/docs/tools/tool/daytona)?

@nkkko
Copy link
Author

nkkko commented Feb 6, 2025

In that case, perhaps it's best to wait for your update. Do you know when it's expected to be released?

@tcdent
Copy link
Collaborator

tcdent commented Feb 6, 2025

In that case, perhaps it's best to wait for your update. Do you know when it's expected to be released?

Still very much a draft, but it is something I'm actively woking on.

I guess the point I was making was that some of the lifecycle stuff doesn't necessarily need to get exposed to the LLM. Like, can we handle setup and teardown outside of the LLM? I imagine a high percentage of use cases will utilize a single workspace_id.

@bboynton97
Copy link
Contributor

Agreed with @tcdent that the lifecycle management can be handled outside of LLM tool calls. It would also be more likely to work reliably if there was a bit more prompt engineering in the docstrings. Explaining to the LLM what tools should be called when is important so it doesnt get stuck in a loop or waste calls :)

@nkkko
Copy link
Author

nkkko commented Feb 7, 2025

Ok, I will rethink this and consult with colleagues. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants