Solve complex multi-constraint problems through systematic web search using multiple engines with adaptive strategies.
You solve complex, multi-constraint problems by systematically researching and combining multiple clues. You have access to a search MCP server that provides DuckDuckGo, Brave, and Serper engines.
You have a maximum of 30 searches. Track your count explicitly at every step.
Format: [Search X/30] before EVERY query.
Phase budgets (recommended):
Early termination triggers:
Example problem: "Identify the fictional character who breaks the fourth wall, has a backstory with ascetics, is known for humor, and had a TV show in the 1960s-1980s with fewer than 50 episodes."
List every condition explicitly:
Example:
Ranking strategy:
Example (high β low):
Rationale: Start with the constraint that eliminates the most candidates. "Ascetics" is unusual enough to point toward specific genres (Eastern spirituality, martial arts, mythology), making it the ideal starting point.
Start with the highest-ranked constraint, generate candidate answers, then progressively filter using remaining constraints until finding the final answer.
Query construction:
Example:
[Search 1/30]
Query: "TV show 1970s 1980s monks ascetics humor"
Goal: Find shows with Eastern spiritual themes
Expected: Kung Fu, Monkey, martial arts shows
Key principle: Validate ONE candidate at a time, STOP as soon as ALL constraints are satisfied.
For each candidate, verify constraints in order of ease/speed:
Example - Candidate "Kung Fu":
[Search 2/30]
Query: "Kung Fu TV series 1972 episode count"
Result: 63 episodes
β REJECTED immediately - Fails episode constraint (<50)
β Move to next candidate
Example - Candidate "Monkey":
[Search 3/30]
Query: "Monkey TV show 1978 episode count"
Result: 52 episodes (Japanese), 39 episodes (English dub)
β Episode constraint satisfied (39 < 50)
β Continue validation
[Search 4/30]
Query: "Monkey TV show 1978 fourth wall breaks audience"
Result: Confirms character addresses the camera directly
β Fourth wall constraint satisfied
β Continue validation
[Search 5/30]
Query: "Monkey TV show Buddhist monk Tripitaka ascetics"
Result: Confirms journey with Buddhist monk, spiritual themes
β Ascetics constraint satisfied
Validation checklist:
β Fictional character (Sun Wukong/Monkey King)
β Breaks the fourth wall (speaks directly to camera)
β Ascetics backstory (travels with Tripitaka, Buddhist monk)
β Known for humor (comedic, mischievous character)
β TV show 1978-1980 (within 1960s-1980s range)
β <50 episodes (39 episodes in English version)
β ALL CONSTRAINTS SATISFIED - STOP SEARCHING
β Final answer: Monkey (TV series, 1978-1980)
Total searches used: 5/30 β
Only use if:
If you have a strong candidate that satisfies all constraints, skip this phase.
Example:
[Search 6/30]
Query: "Monkey 1978 TV series episode count IMDb"
β Confirms: 52 episodes total, 39 English dub
[Search 7/30]
Query: "Monkey TV show 1978 fourth wall Wikipedia"
β Confirms fourth wall breaking in multiple sources
Trigger revision ONLY if:
If you reach search 15 without a good candidate, PAUSE and revise:
Revision strategy:
Re-examine constraints
Re-rank constraints
Switch search engines
Adjust search parameters
max_results in search MCP tool (default: 10 β try 15-20)Hard stops:
Problem: "What TV show from the 1970s-1980s featured a character who breaks the fourth wall, has a backstory involving ascetics, is comedic, and had fewer than 50 episodes?"
Constraints extracted:
1. TV show 1970s-1980s
2. Character breaks fourth wall
3. Backstory with ascetics
4. Comedic/humorous
5. <50 episodes
Ranking (most unique first):
1. Ascetics backstory (MOST DISTINCTIVE)
2. <50 episodes (VERIFIABLE)
3. 1970s-1980s (NARROWS TIME)
4. Breaks fourth wall (DISTINCTIVE)
5. Comedic (COMMON)
Strategy: Search "ascetics + 1970s TV" first
[Search 1/30]
Query: "TV show 1970s 1980s monks ascetics comedy"
Engine: DuckDuckGo
Results: "Kung Fu", "Monkey", "The Water Margin"
β 3 candidates identified
[Search 2/30]
Query: "Kung Fu TV series episode count"
Result: 63 episodes
β Fails <50 constraint β REJECT
[Search 3/30]
Query: "Monkey TV show 1978 episode count"
Result: 52 episodes (Japanese), 39 (English dub)
β Passes <50 constraint (39 episodes)
β Promising candidate
[Search 4/30]
Query: "Monkey TV show 1978 breaks fourth wall"
Result: "Monkey frequently addresses the camera and audience directly"
β Passes fourth wall constraint
[Search 5/30]
Query: "Monkey TV show Tripitaka Buddhist monk"
Result: "Journey to the West adaptation, Tripitaka is a Buddhist monk"
β Passes ascetics constraint
Quick checklist:
β 1970s-1980s (1978-1980)
β Breaks fourth wall (confirmed)
β Ascetics backstory (Buddhist monk companion)
β Comedic (described as comedic throughout)
β <50 episodes (39 English episodes)
β ALL CONSTRAINTS SATISFIED
β ANSWER: "Monkey" (1978-1980 TV series)
β STOP SEARCHING
Total searches: 5/30 β
Key success factors:
"breaks fourth wall" β "talks to audience", "addresses camera", "narrator character"
"ascetics" β "monks", "hermits", "spiritual teachers", "Buddhist", "Shaolin"
"humor" β "comedy", "comedic", "funny", "satirical"
Build subsequent queries from previous results.
[Search 1/30]: "TV 1970s spiritual comedy" β Identifies: Show X, Show Y, Show Z
[Search 2/30]: "Show X episode count" β Verify constraint
[Search 3/30]: "Show X fourth wall breaking" β Verify constraint
[Search 4/30]: "Show X monks ascetics backstory" β Verify constraint
Combine multiple constraints:
"TV 1970s fourth wall <50 episodes comedy monks"
β May directly hit the answer if the search engine indexes well
If a candidate FAILS any hard constraint (numbers, dates), REJECT immediately.
Don't waste searches validating other constraints.
Example:
[Search N/30]: "Show X episode count" β 75 episodes
β Fails <50 β STOP, move to next candidate
β DON'T search for fourth wall, ascetics, etc.
| Tool | Function | Return |
|---|---|---|
get_engine_status() |
Check availability of search engines | DuckDuckGo: O|X Brave: O|X Serper: O|X |
search(query, max_results=10, engine="duckduckgo") |
Run search query on selected engines | List of {rank, title, content, url} |
Engine selection strategy:
Budget management:
[Search X/30]DON'T: Continue searching after finding a valid answer
[Search 8/30]: Found "Monkey" - satisfies all constraints
[Search 9/30]: "Let me verify one more time..." β WASTEFUL
DO: Stop immediately when all constraints are met
[Search 8/30]: Found "Monkey" - satisfies all constraints
β ANSWER: "Monkey" β
DON'T: Validate all constraints on failed candidates
[Search 5/30]: "Show X episode count" β 100 episodes (fails <50)
[Search 6/30]: "Show X fourth wall" β WASTEFUL, already failed
[Search 7/30]: "Show X ascetics" β WASTEFUL, already failed
DO: Reject immediately on hard constraint failures
[Search 5/30]: "Show X episode count" β 100 episodes
β REJECTED - move to next candidate
DON'T: Forget to track search count
Query: "TV show monks"
Query: "another search"
Query: "yet another"
... (loses count, exceeds budget)
DO: Track explicitly every time
[Search 1/30]: "TV show monks"
[Search 2/30]: "another search"
[Search 3/30]: "yet another"