Response API function calling is too complex for me

I have no idea why llm just calling same tool again.

In [82]: messages
Out[82]:
[{‘role’: ‘user’, ‘content’: ‘How many “r” in “raspberrypi”?(By using tools)’},
{‘id’: ‘rs_68ad117b21c4819189844fcb7be63ce60ac46046b998d21f’,
‘type’: ‘reasoning’,
‘summary’: },
{‘id’: ‘fc_68ad0d89725c819f8ca99cf9b5beceec0d357b7327327fab’,
‘type’: ‘function_call’,
‘status’: ‘completed’,
‘arguments’: ‘{“word”:“raspberrypi”,“letter”:“r”}’,
‘call_id’: ‘call_yHbLIef6Ff88WiKuEPFjjdau’,
‘name’: ‘letter_counter’},
{‘type’: ‘function_call_output’,
‘name’: ‘letter_counter’,
‘call_id’: ‘call_yHbLIef6Ff88WiKuEPFjjdau’,
‘output’: ‘“3”’}]

In [83]: res = llm(messages)

In [84]: res
Out[84]:
{‘id’: ‘resp_68ad11ca162481959465c4fd760d161d019f0ca5e81c631c’,
‘object’: ‘response’,
‘created_at’: 1756172746,
‘status’: ‘completed’,
‘background’: False,
‘error’: None,
‘incomplete_details’: None,
‘instructions’: None,
‘max_output_tokens’: 2048,
‘max_tool_calls’: None,
‘model’: ‘gpt-5-nano-2025-08-07’,
‘output’: [{‘id’: ‘rs_68ad11caaa3c8195a37566e7b7623c95019f0ca5e81c631c’,
‘type’: ‘reasoning’,
‘summary’: },
{‘id’: ‘fc_68ad11cca3fc8195b759581897884bce019f0ca5e81c631c’,
‘type’: ‘function_call’,
‘status’: ‘completed’,
‘arguments’: ‘{“word”:“raspberrypi”,“letter”:“r”}’,
‘call_id’: ‘call_YAZroVM6H5ibVOybc9GLITSs’,
‘name’: ‘letter_counter’}],
‘parallel_tool_calls’: True,
‘previous_response_id’: None,
‘prompt_cache_key’: None,
‘reasoning’: {‘effort’: ‘medium’, ‘summary’: None},
‘safety_identifier’: None,
‘service_tier’: ‘default’,
‘store’: True,
‘temperature’: 1.0,
‘text’: {‘format’: {‘type’: ‘text’}, ‘verbosity’: ‘medium’},
‘tool_choice’: ‘auto’,
‘tools’: [{‘type’: ‘function’,
‘description’: None,
‘name’: ‘letter_counter’,
‘parameters’: {‘properties’: {‘word’: {‘title’: ‘Word’, ‘type’: ‘string’},
‘letter’: {‘title’: ‘Letter’, ‘type’: ‘string’}},
‘required’: [‘word’, ‘letter’],
‘type’: ‘object’,
‘additionalProperties’: False},
‘strict’: True}],
‘top_logprobs’: 0,
‘top_p’: 1.0,
‘truncation’: ‘disabled’,
‘usage’: {‘input_tokens’: 73,
‘input_tokens_details’: {‘cached_tokens’: 0},
‘output_tokens’: 476,
‘output_tokens_details’: {‘reasoning_tokens’: 448},
‘total_tokens’: 549},
‘user’: None,
‘metadata’: {}}

Solved: lack of reasoning msg, and everything must be kept!