LangChain introduces a new abstraction that allows for usage of more complex tools. Previously, tools took in a single string input; now, they can take an arbitrary number of inputs of arbitrary types. A new agent class is also introduced to work well with these new types of tools. Structured tools enable more complex interactions between language models and tools, making it easier to build innovative applications. The new framework supports both previously defined string BaseTool's and newly developed structured tools.