Tuesday, September 16, 2025

Constructing Analysis Brokers for Tech Insights


ChatGPT one thing like: “Please scout all of tech for me and summarize tendencies and patterns primarily based on what you suppose I’d be concerned about,” you realize that you just’d get one thing generic, the place it searches a number of web sites and information sources and arms you these.

It’s because ChatGPT is constructed for common use instances. It applies regular search strategies to fetch data, usually limiting itself to a couple net pages.

This text will present you find out how to construct a distinct segment agent that may scout all of tech, mixture thousands and thousands of texts, filter information primarily based on a persona, and discover patterns and themes you’ll be able to act on.

The purpose of this workflow is to keep away from sitting and scrolling via boards and social media by yourself. The agent ought to do it for you, grabbing no matter is beneficial.


We’ll be capable to pull this off utilizing a novel information supply, a managed workflow, and a few immediate chaining methods.

The three completely different processes, the API, fetching/filtering information, summarizing | Picture by writer

By caching information, we are able to preserve the price down to a couple cents per report.

If you wish to strive the bot with out booting it up your self, you’ll be able to be part of this Discord channel. You’ll discover the repository right here if you wish to construct it by yourself.

This text focuses on the overall structure and find out how to construct it, not the smaller coding particulars as yow will discover these in Github.

Notes on constructing

If you happen to’re new to constructing with brokers, you may really feel like this one isn’t groundbreaking sufficient.

Nonetheless, if you wish to construct one thing that works, you’ll need to use various software program engineering to your AI functions. Even when LLMs can now act on their very own, they nonetheless want steering and guardrails.

For workflows like this, the place there’s a clear path the system ought to take, you need to construct extra structured “workflow-like” programs. When you’ve got a human within the loop, you’ll be able to work with one thing extra dynamic.

The rationale this workflow works so properly is as a result of I’ve an excellent information supply behind it. With out this information moat, the workflow wouldn’t be capable to do higher than ChatGPT.

Making ready and caching information

Earlier than we are able to construct an agent, we have to put together a knowledge supply it might probably faucet into.

One thing I feel lots of people get improper once they work with LLM programs is the assumption that AI can course of and mixture information completely by itself.

In some unspecified time in the future, we would be capable to give them sufficient instruments to construct on their very own, however we’re not there but by way of reliability.

So once we construct programs like this, we want information pipelines to be simply as clear as for another system.

The system I’ve constructed right here makes use of a knowledge supply I already had out there, which implies I perceive find out how to educate the LLM to faucet into it.

It ingests 1000’s of texts from tech boards and web sites per day and makes use of small NLP fashions to interrupt down the principle key phrases, categorize them, and analyze sentiment.

This lets us see which key phrases are trending inside completely different classes over a particular time interval.


To construct this agent, I added one other endpoint that collects “info” for every of those key phrases.

This endpoint receives a key phrase and a time interval, and the system types feedback and posts by engagement. Then it course of the texts in chunks with smaller fashions that may resolve which “info” to maintain.

The “facts” extracting process for each keyword | Image by author
We apply a final LLM to summarize which info are most necessary, preserving the supply citations intact.


This can be a type of immediate chaining course of, and I constructed it to imitate LlamaIndex’s quotation engine.

The primary time the endpoint known as for a key phrase, it might probably take as much as half a minute to finish. However for the reason that system caches the end result, any repeat request takes only a few milliseconds.

So long as the fashions are sufficiently small, the price of working this on a number of hundred key phrases per day is minimal. Later, we are able to have the system run a number of key phrases in parallel.

You may in all probability think about now that we are able to construct a system to fetch these key phrases and info to construct completely different studies with LLMs.

When to work with small vs bigger fashions

Earlier than shifting on, let’s simply point out that selecting the best mannequin dimension issues.

I feel that is on everybody’s thoughts proper now.

There are fairly superior fashions you need to use for any workflow, however as we begin to apply an increasing number of LLMs to those functions, the variety of calls per run provides up rapidly and this may get costly.

So, when you’ll be able to, use smaller fashions.

You noticed that I used smaller fashions to quote and group sources in chunks. Different duties which might be nice for small fashions embody routing and parsing pure language into structured information.

If you happen to discover that the mannequin is faltering, you’ll be able to break the duty down into smaller issues and use immediate chaining, first do one factor, then use that end result to do the following, and so forth.

You continue to need to use bigger LLMs when it’s good to discover patterns in very giant texts, or once you’re speaking with people.

On this workflow, the price is minimal as a result of the information is cached, we use smaller fashions for many duties, and the one distinctive giant LLM calls are the ultimate ones.

How this agent works

Let’s undergo how the agent works beneath the hood. I constructed the agent to run inside Discord, however that’s not the main target right here. We’ll give attention to the agent structure.

I break up the method into two elements: one setup, and one information. The primary course of asks the person to arrange their profile.


Since I already know find out how to work with the information supply, I’ve constructed a reasonably intensive system immediate that helps the LLM translate these inputs into one thing we are able to fetch information with later.

PROMPT_PROFILE_NOTES = """
You're tasked with defining a person persona primarily based on the person's profile abstract.
Your job is to:
1. Choose a brief persona description for the person.
2. Choose essentially the most related classes (main and minor).
3. Select key phrases the person ought to observe, strictly following the principles beneath (max 6).
4. Determine on time interval (primarily based solely on what the person asks for).
5. Determine whether or not the person prefers concise or detailed summaries.
Step 1. Persona
- Write a brief description of how we must always take into consideration the person.
- Examples:
- CMO for non-technical product → "non-technical, skip jargon, give attention to product key phrases."
- CEO → "solely embody extremely related key phrases, no technical overload, straight to the purpose."
- Developer → "technical, concerned about detailed developer dialog and technical phrases."
[...]
"""

I’ve additionally outlined a schema for the outputs I would like:

class ProfileNotesResponse(BaseModel):
 persona: str
 major_categories: Checklist[str]
 minor_categories: Checklist[str]
 key phrases: Checklist[str]
 time_period: str
 concise_summaries: bool

With out having area data of the API and the way it works, it’s unlikely that an LLM would work out how to do that by itself.

You may strive constructing a extra intensive system the place the LLM first tries to be taught the API or the programs it’s supposed to make use of, however that might make the workflow extra unpredictable and expensive.

For duties like this, I attempt to at all times use structured outputs in JSON format. That means we are able to validate the end result, and if validation fails, we re-run it.

That is the best solution to work with LLMs in a system, particularly when there’s no human within the loop to examine what the mannequin returns.

As soon as the LLM has translated the person profile into the properties we outlined within the schema, we retailer the profile someplace. I used MongoDB, however that’s optionally available.

Storing the persona isn’t strictly required, however you do must translate what the person says right into a type that permits you to generate information.

Producing the studies

Let’s take a look at what occurs within the second step when the person triggers the report.

When the person hits the /information command, with or with no time interval set, we first fetch the person profile information we’ve saved.

This offers the system the context it must fetch related information, utilizing each classes and key phrases tied to the profile. The default time interval is weekly.

From this, we get a listing of high and trending key phrases for the chosen time interval that could be fascinating to the person.

Example of trending keywords that can come up from the system in two different categories | Image by author
With out this information supply, constructing one thing like this may have been tough. The information must be ready prematurely for the LLM to work with it correctly.

After fetching key phrases, it may make sense so as to add an LLM step that filters out key phrases irrelevant to the person. I didn’t do this right here.

The extra pointless data an LLM is handed, the tougher it turns into for it to give attention to what actually issues. Your job is to make it possible for no matter you feed it’s related to the person’s precise query.

Subsequent, we use the endpoint ready earlier, which comprises cached “info” for every key phrase. This offers us already vetted and sorted data for every one.

We run key phrase calls in parallel to hurry issues up, however the first individual to request a brand new key phrase nonetheless has to attend a bit longer.

As soon as the outcomes are in, we mix the information, take away duplicates, and parse the citations so every truth hyperlinks again to a particular supply through a key phrase quantity.

We then run the information via a prompt-chaining course of. The primary LLM finds 5 to 7 themes and ranks them by relevance, primarily based on the person profile. It additionally pulls out the important thing factors.

Short chain of prompting, breaking the task into smaller ones | Image by author
The second LLM go makes use of each the themes and unique information to generate two completely different abstract lengths, together with a title.

We are able to do that to verify to scale back cognitive load on the mannequin.
This final step to construct the report takes essentially the most time, since I selected to make use of a reasoning mannequin like GPT-5.

You may swap it for one thing quicker, however I discover superior fashions are higher at this final stuff.

The complete course of takes a couple of minutes, relying on how a lot has already been cached that day.

Take a look at the completed end result beneath.

How the tech scounting bot works in Discord | Image by author
If you wish to take a look at the code and construct this bot your self, yow will discover it right here. If you happen to simply need to generate a report, you’ll be able to be part of this channel.

I’ve some plans to enhance it, however I’m completely happy to listen to suggestions should you discover it helpful.

And if you need a problem, you’ll be able to rebuild it into one thing else, like a content material generator.

Notes on constructing brokers

Each agent you construct might be completely different, so that is on no account a blueprint for constructing with LLMs. However you’ll be able to see the extent of software program engineering this calls for.

LLMs, at the very least for now, don’t take away the necessity for good software program and information engineers.

For this workflow, I’m principally utilizing LLMs to translate pure language into JSON after which transfer that via the system programmatically. It’s the best solution to management the agent course of, but in addition not what folks often think about once they consider AI functions.

There are conditions the place utilizing a extra free-moving agent is right, particularly when there’s a human within the loop.

However, hopefully you discovered one thing, or acquired inspiration to construct one thing by yourself.

If you wish to comply with my writing, comply with me right here, my web site, Substack, or LinkedIn.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles

PHP Code Snippets Powered By : XYZScripts.com