# tulip agent

A reference implementation of an LLM agent that keeps a large number of tools in a searchable vector-store library rather than listing them all in every prompt, cutting cost and getting around tool-set limits on context or API size.

tulip agent introduces a tool library combining a vector store for semantic search among tools with tool execution, alongside a function-analysis component that generates OpenAI API-compatible tool descriptions for Python functions through introspection. Several agent variants are provided for comparison: baseline agents with no tool library, including one with no tool access at all and one that includes descriptions of every available tool, and several tulip agents that instead search the tool library directly, with a separate tool call, or after a planning step that first decomposes the request into subtasks; one fully autonomous variant can also create and modify its own tool library through create, read, update and delete operations.

An evaluation module covers math problems and a robotics evaluation built on tools created for a related project called AttentiveSupport.

Configuration is done through a .env file specifying the model-serving mode; if no provider is configured, it fails with a clear configuration hint rather than silently falling back to OpenAI. It is written in Python and released under the BSD-3-Clause license.

Website: https://hri-eu.github.io/tulip_agent/
