from langchain.tools import tool @tool(parse_docstring=True) def think_tool(reflection: str) -> str: """Tool for strategic reflection on research progress and decision-making. Use this tool after each search to analyze results and plan next steps systematically. This creates a deliberate pause in the research workflow for quality decision-making. When to use: - After receiving search results: What key information did I find? - Before deciding next steps: Do I have enough to answer comprehensively? - When assessing research gaps: What specific information am I still missing? - Before concluding research: Can I provide a complete answer now? Reflection should address: 1. Analysis of current findings - What concrete information have I gathered? 2. Gap assessment - What crucial information is still missing? 3. Quality evaluation - Do I have sufficient evidence/examples for a good answer? 4. Strategic decision - Should I continue searching or provide my answer? Args: reflection: Your detailed reflection on research progress, findings, gaps, and next steps Returns: Confirmation that reflection was recorded for decision-making """ return f"Reflection recorded: {reflection}"