diff --git a/src/agent.ts b/src/agent.ts index c87f43d..ccc977a 100644 --- a/src/agent.ts +++ b/src/agent.ts @@ -305,7 +305,8 @@ async function executeSearchQueries( switch (searchProvider || SEARCH_PROVIDER) { case 'jina': case 'arxiv': - results = (await search(query, searchProvider, 30, meta, context.tokenTracker)).response.results || []; + const num = meta ? undefined : 30; + results = (await search(query, searchProvider, num, meta, context.tokenTracker)).response.results || []; break; case 'duck': results = (await duckSearch(query.q, { safeSearch: SafeSearchType.STRICT })).results; diff --git a/src/tools/serp-cluster.ts b/src/tools/serp-cluster.ts index 7b97b78..4cde45f 100644 --- a/src/tools/serp-cluster.ts +++ b/src/tools/serp-cluster.ts @@ -29,6 +29,7 @@ export async function serpCluster(results: SearchSnippet[], trackers: TrackerCon system: prompt.system, prompt: prompt.user, }); + trackers?.actionTracker.trackThink(result.object.think); const clusters = result.object.clusters; logInfo(TOOL_NAME, { clusters }); return clusters; diff --git a/src/utils/schemas.ts b/src/utils/schemas.ts index 0cf5bde..3b7a658 100644 --- a/src/utils/schemas.ts +++ b/src/utils/schemas.ts @@ -176,6 +176,7 @@ export class Schemas { getSerpClusterSchema(): z.ZodObject { return z.object({ + think: z.string().describe(`Short explain of why you group the search results like this. ${this.getLanguagePrompt()}`).max(500), clusters: z.array( z.object({ insight: z.string().describe('Summary and list key numbers, data, soundbites, and insights that worth to be highlighted. End with an actionable advice such as "Visit these URLs if you want to understand [what...]". Do not use "This cluster..."').max(200),