fix: ensure researcher agent uses web search tool instead of generating URLs (#702) (#704)

* fix: ensure researcher agent uses web search tool instead of generating URLs (#702)

- Add enforce_researcher_search configuration option (default: True) to control web search requirement
- Strengthen researcher prompts in both English and Chinese with explicit instructions to use web_search tool
- Implement validate_web_search_usage function to detect if web search tool was used during research
- Add validation logic that warns when researcher doesn't use web search tool
- Enhance logging for web search tools with special markers for easy tracking
- Skip validation during unit tests to avoid test failures
- Update _execute_agent_step to accept config parameter for proper configuration access

This addresses issue #702 where the researcher agent was generating URLs on its own instead of using the web search tool.

* fix: addressed the code review comment

* fix the unit test error and update the code
This commit is contained in:
Willem Jiang
2025-11-24 20:07:28 +08:00
committed by GitHub
parent cc9414f978
commit 478291df07
6 changed files with 84 additions and 11 deletions

View File

@@ -10,8 +10,7 @@ from typing import Any, Dict, List, Optional, Sequence, Set
from langchain_openai import OpenAIEmbeddings
from langchain_qdrant import QdrantVectorStore
from openai import OpenAI
from qdrant_client import QdrantClient
from qdrant_client import grpc
from qdrant_client import QdrantClient, grpc
from qdrant_client.models import (
Distance,
FieldCondition,