|
@@ -222,12 +222,12 @@ NEWS_COMPOSITION_RECIPES = [
|
|
|
{
|
|
{
|
|
|
"name": "emerging-signal",
|
|
"name": "emerging-signal",
|
|
|
"steps": [
|
|
"steps": [
|
|
|
- "detect_emerging_topics(limit=...)",
|
|
|
|
|
- "choose a topic/entity",
|
|
|
|
|
|
|
+ "detect_emerging_topics(limit=..., timeframe=..., topic=..., around=...)",
|
|
|
|
|
+ "choose a topic/entity from the results",
|
|
|
"get_events_for_entity(entity=...)",
|
|
"get_events_for_entity(entity=...)",
|
|
|
"get_news_sentiment(entity=...)",
|
|
"get_news_sentiment(entity=...)",
|
|
|
],
|
|
],
|
|
|
- "notes": ["Use timeframe to control lookback, topic to scope to a category, around to find what's emerging near a specific entity. Good for trend scouting and risk mapping."],
|
|
|
|
|
|
|
+ "notes": ["Use timeframe to control lookback (e.g. \"4h\" for what's hot right now, \"3d\" for weekly trends), topic to scope to a category, around to find what's emerging near a specific entity. Check velocity and source_count to distinguish real spikes from noise."],
|
|
|
},
|
|
},
|
|
|
]
|
|
]
|
|
|
|
|
|
|
@@ -238,7 +238,8 @@ NEWS_AGENT_TIPS = [
|
|
|
"Treat cluster_id as an internal cursor, not user-facing output; use it only for follow-up tool calls.",
|
|
"Treat cluster_id as an internal cursor, not user-facing output; use it only for follow-up tool calls.",
|
|
|
"When describing clusters, keep sources and timestamps visible so the user can assess recency and provenance.",
|
|
"When describing clusters, keep sources and timestamps visible so the user can assess recency and provenance.",
|
|
|
"Prefer a short chain of tools over many parallel calls unless you are building a neighborhood map or comparison table.",
|
|
"Prefer a short chain of tools over many parallel calls unless you are building a neighborhood map or comparison table.",
|
|
|
- "For tricky names, rely on the server’s resolver instead of inventing alias rules in the client.",
|
|
|
|
|
|
|
+ "For tricky names, rely on the server's resolver instead of inventing alias rules in the client.",
|
|
|
|
|
+ "Use detect_emerging_topics with timeframe=\"4h\" for what's hot right now, timeframe=\"3d\" for weekly trends. Use topic= to scope to a category, around= to find what's emerging near a specific entity. Check velocity to distinguish accelerating signals from steady-state ones.",
|
|
|
]
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
@@ -268,10 +269,17 @@ NEWS_EXAMPLE_CHAINS = [
|
|
|
{
|
|
{
|
|
|
"task": "Find what is emerging",
|
|
"task": "Find what is emerging",
|
|
|
"chain": [
|
|
"chain": [
|
|
|
- "detect_emerging_topics(limit=...)",
|
|
|
|
|
|
|
+ "detect_emerging_topics(limit=..., timeframe=..., topic=..., around=...) with optional scoping",
|
|
|
"get_events_for_entity(entity=...) on one or two emerging terms",
|
|
"get_events_for_entity(entity=...) on one or two emerging terms",
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
|
|
+ {
|
|
|
|
|
+ "task": "What's heating up around a specific entity",
|
|
|
|
|
+ "chain": [
|
|
|
|
|
+ "detect_emerging_topics(around=\"<entity>\", timeframe=\"4h\")",
|
|
|
|
|
+ "get_events_for_entity(entity=...) on the top emerging neighbor",
|
|
|
|
|
+ ],
|
|
|
|
|
+ },
|
|
|
]
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
@@ -845,6 +853,7 @@ async def get_capabilities():
|
|
|
"Use get_latest_events for a tail, get_events_for_entity for entity deep dives, and get_related_recent_entities for neighborhood expansion.",
|
|
"Use get_latest_events for a tail, get_events_for_entity for entity deep dives, and get_related_recent_entities for neighborhood expansion.",
|
|
|
"Prefer normalized/canonical entities when possible, but the server will resolve common aliases and MIDs for you.",
|
|
"Prefer normalized/canonical entities when possible, but the server will resolve common aliases and MIDs for you.",
|
|
|
"When presenting results to users, summarize the cluster; avoid exposing internal IDs unless they are needed for follow-up tool calls.",
|
|
"When presenting results to users, summarize the cluster; avoid exposing internal IDs unless they are needed for follow-up tool calls.",
|
|
|
|
|
+ "For emerging topics, use detect_emerging_topics with timeframe and around parameters to scope your query. High velocity + high source_count = strong emerging signal.",
|
|
|
],
|
|
],
|
|
|
}
|
|
}
|
|
|
|
|
|