Interface ProgressiveTool
-
- All Implemented Interfaces:
-
com.embabel.agent.api.tool.Tool,com.embabel.agent.api.tool.ToolInfo
public interface ProgressiveTool implements Tool
A tool implementing progressive disclosure - reveals additional capabilities beyond its initial interface.
Progressive tools present a simplified interface to the LLM initially, then reveal more specific tools when invoked. This reduces cognitive load and allows the LLM to discover capabilities on demand.
Implementations may vary what tools are revealed based on the current agent process context (permissions, state, phase, etc.).
-
-
Method Summary
Modifier and Type Method Description abstract List<Tool>innerTools(AgentProcess process)The inner tools available in this context. -
Methods inherited from class com.embabel.agent.api.tool.Tool
call, withDescription, withName, withNote -
Methods inherited from class com.embabel.agent.api.tool.ToolInfo
getDefinition, getMetadata -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
innerTools
abstract List<Tool> innerTools(AgentProcess process)
The inner tools available in this context.
May vary based on process state, permissions, phase, etc. Implementations should return an empty list if no tools are available in the current context.
- Parameters:
process- The current agent process context- Returns:
The tools available for this process
-
-
-
-