Skip to content

MALFORMED_FUNCTION_CALL seems to be easily triggered by the model (Gemini) due to writing todo. #119

@XinyueZ

Description

@XinyueZ

Currently, I have found that the frequency of this issue occurring on write todo is quite high.

│   │   AIMessage(
│   │   │   content='',
│   │   │   additional_kwargs={},
│   │   │   response_metadata={
│   │   │   │   'is_blocked': False,
│   │   │   │   'safety_ratings': [],
│   │   │   │   'usage_metadata': {
│   │   │   │   │   'prompt_token_count': 5553,
│   │   │   │   │   'total_token_count': 5553,
│   │   │   │   │   'prompt_tokens_details': [{'modality': 1, 'token_count': 5553}],
│   │   │   │   │   'candidates_token_count': 0,
│   │   │   │   │   'thoughts_token_count': 0,
│   │   │   │   │   'cached_content_token_count': 0,
│   │   │   │   │   'cache_tokens_details': [],
│   │   │   │   │   'candidates_tokens_details': []
│   │   │   │   },
│   │   │   │   'finish_reason': 'MALFORMED_FUNCTION_CALL',
│   │   │   │   'finish_message': 'Malformed function call: print(default_api.write_todos(todos=[\n    default_api.WriteTodosTodos(content=\'Perform web search for "CrewAI vs LangGraph comparison"\', status=\'pending\'),\n    default_api.WriteTodosTodos(content=\'Analyze search results for key information on architecture, scalability, integration, community, documentation, licensing, cost, and use cases for both CrewAI and LangGraph.\', status=\'pending\'),\n    default_api.WriteTodosTodos(content=\'Perform web search for "CrewAI architecture performance integration"\', status=\'pending\'),\n    default_api.WriteTodosTodos(content=\'Analyze search results for key information on architecture, scalability, integration, community, documentation, licensing, cost, and use cases for both CrewAI and LangGraph.\', status=\'pending\'),\n    default_api.WriteTodosTodos(content=\'Perform web search for "LangGraph architecture performance integration"\', status=\'pending\'),\n    default_api.WriteTodosTodos(content=\'Analyze search results for key information on architecture, scalability, integration, community, documentation, licensing, cost, and use cases for both CrewAI and LangGraph.\', status=\'pending\'),\n    default_api.WriteTodosTodos(content=\'Consolidate all findings and generate a comprehensive report comparing CrewAI and LangGraph.\', status=\'pending\')\n]))',
│   │   │   │   'model_name': 'gemini-2.5-flash'
│   │   │   },
│   │   │   id='run--8a36437b-6e83-4081-881e-e4bb174b752d-0',
│   │   │   usage_metadata={'input_tokens': 5553, 'output_tokens': 0, 'total_tokens': 5553, 'input_token_details': {'cache_read': 0}}
│   │   )
│   ],

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions