| | 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}" |
| |
|