tool_argument_validationTier 1 · 70% confidence

ai-agents-tool-argument-valida-when-using-hierarchical-process-with-crewai-the-ma-be2dbe08

agent: ai_agents

When does this happen?

IF When using hierarchical process with crewAI, the manager LLM (especially gpt-4o-mini) may pass a dictionary object instead of a plain string for the 'task' or 'context' parameters in the Delegate work to coworker tool, causing Pydantic validation error: 'Input should be a valid string'.

How others solved it

THEN To mitigate, ensure that task and context are provided as plain strings. Consider updating the tool's input schema to accept both string and dict using Union[str, dict] with a custom validator to coerce dict values into string. Alternatively, use a more capable model like gpt-4o that is less prone to this behavior. Also verify that task descriptions in YAML configuration are simple strings, not objects.

from typing import Union
from pydantic import BaseModel, validator
class DelegateWorkToolSchema(BaseModel):
    task: Union[str, dict]
    context: Union[str, dict]
    coworker: str

    @validator('task', 'context', pre=True)
    def coerce_dict_to_string(cls, v):
        if isinstance(v, dict):
            return v.get('description', str(v))
        return v

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics