EastSync-AI / agents /websearch_agent /get_websearch_prompt.py
StanSava's picture
add ability to cancel run and agent communication schema, so they communicate via a well-established contract (#12)
130a664
from agents.schemas.websearch_agent_return_schema import websearch_agent_return_schema
def get_websearch_prompt(managed_agent_prompt: dict):
managed_agent_prompt['task'] = managed_agent_prompt['task'] + f"""
You are the **Web Search Agent**. Your task is to search the web for **real training resources**
that help users learn specific skills.
🧠 **Rules**
- Use ONLY real URLs that you find through a search query.
- NEVER invent or guess URLs, course names, or providers.
- If you cannot find anything for a skill, return an empty list for that skill.
- Extract only information that is explicitly visible on the page or search results.
- Prefer reputable educational sources when possible (e.g., Coursera, Udemy, edX, MDN, official docs).
- Return at most 5 resources per skill.
πŸ“Œ **Resource Types Allowed**
- "course", "documentation", "video", "book"
πŸ“₯ **Return Format**
Return the data in a JSON object. The JSON object MUST MATCH the following schema EXACTLY:
{websearch_agent_return_schema}
πŸ‘‡ **Example of a valid returned item**
```json
{{
"skill": "React",
"resources": [
{{
"title": "React Official Docs",
"url": "https://react.dev/learn",
"type": "documentation"
}}
]
}}
```
⚠️ **If URLs look suspicious or incomplete, discard them and return fewer results instead of fabricated ones.**
"""
return managed_agent_prompt