Inspiration
As a researcher working in cosmology, I regularly have to keep up with a large and constantly growing literature. New papers appear every day, and the difficult part is not simply finding them. It is deciding which ones are relevant to my current work, remembering what I have already seen, and understanding how new results connect to my own research.
Generic recommendation systems only solve part of this problem because scientific relevance is highly personal. A paper can be important to my field but not useful for my current projects, while another paper in a neighbouring topic may suddenly become relevant because my interests have changed.
I wanted to build an agent that behaves less like a search engine and more like a long-term scientific literature assistant.
What it does
Research Literature Agent builds a persistent model of a researcher's scientific interests and work.
A researcher can import an existing collection of bookmarked arXiv papers, and the agent can infer a research-interest profile from that reading history. Explicitly stated interests are kept separate from inferred interests so that the researcher remains in control of the profile.
The agent can also identify the researcher's own publications and maintain a separate representation of their research work. This distinction is important: what a researcher reads is not necessarily what they work on.
The agent can:
- search recent or historical arXiv papers;
- rank papers according to their relevance to the individual researcher;
- explain why a paper may be relevant;
- adapt when the researcher adds or removes interests;
- save papers and reading feedback;
- deep-read the full paper when explicitly requested;
- relate a paper to the researcher's own publications and current work;
- periodically scan the literature and generate reports automatically.
The goal is to create a literature workflow that becomes more useful over time instead of starting from scratch with every search.
How we built it
The project is built using Google Agent Development Kit (ADK) with Gemini 3.5 Flash through Vertex AI.
The system uses multiple specialized agents:
- Literature Scout for discovering, filtering, and ranking papers;
- Research Context Agent for understanding the researcher's interests and own work;
- Deep Reader for full-paper analysis.
I deliberately kept deterministic tasks outside the language model wherever possible. arXiv retrieval, identifier normalization, metadata handling, database operations, and persistence are implemented as tools. Gemini is used for tasks that require judgement, such as inferring interests, evaluating relevance, ranking papers, and reasoning about connections between papers.
The application is deployed on Google Cloud Run. Research state is stored in SQLite and editable Markdown files, with persistent state synchronized through Google Cloud Storage.
For autonomous monitoring, Google Cloud Scheduler triggers a Cloud Run Job that performs scheduled literature scans and stores the resulting reports in Cloud Storage.
Challenges we ran into
Persistence was one of the biggest challenges. Cloud Run containers have ephemeral local filesystems, but this application is useful only if it can remember a researcher's library, profile, and previous analyses. I therefore added a Cloud Storage persistence layer around the local research state.
Another challenge was designing memory correctly. Saved papers, inferred interests, explicit preferences, reading feedback, and the researcher's own publications are related, but they should not be treated as the same thing. For example, removing a topic from the preference profile must not delete papers about that topic from the library.
Natural-language date handling also turned out to be surprisingly subtle. Relative expressions such as "last Friday" need to resolve to a precise calendar date, while arXiv submission dates and announcement dates do not always line up in the intuitive way.
I also encountered latency and rate-limit issues during multi-agent workflows. This reinforced the importance of keeping deterministic operations deterministic and reserving model calls for places where reasoning actually adds value.
Accomplishments that we're proud of
I am especially proud that the agent maintains distinct forms of research context rather than treating everything as one undifferentiated memory.
It can learn a research profile from an existing reading history, keep explicit preferences editable, separately understand the researcher's own work, and then use all of that context when evaluating new literature.
I am also proud that the project goes beyond a conversational prototype. It runs on Google Cloud, has persistent state, supports full-paper deep reading, and includes a scheduled autonomous literature scan through Cloud Scheduler and Cloud Run Jobs.
Most importantly, the system solves a problem I genuinely experience in my own research workflow.
What we learned
The biggest lesson was that a useful research agent is not simply an LLM with access to arXiv.
The value comes from persistent and well-structured context: what the researcher has read, what they explicitly care about, what they actually work on, and how those things change over time.
I also learned a great deal about designing multi-agent systems with ADK, defining good boundaries between agents and deterministic tools, deploying on Cloud Run, using Vertex AI, persisting state across stateless infrastructure, and combining scheduled automation with interactive agent workflows.
Building the project also made clear how important it is to distinguish between tasks that require language-model judgement and tasks that are better handled by ordinary software.
What's next for Research Literature Agent
The next step is to make the system truly multi-user, with authentication and separate persistent research state for each researcher.
I would also like to improve the recommendation system by learning more from long-term reading behaviour and explicit feedback, while still keeping the researcher in control of the profile.
Another direction is richer scientific relationship mapping: identifying not only whether a paper is relevant, but whether it supports, contradicts, extends, or uses methods related to a researcher's existing work.
The system could also expand beyond arXiv to include journals, citation networks, conference proceedings, and other literature sources.
Ultimately, I would like Research Literature Agent to maintain a continuously evolving map of the scientific literature around a researcher and help reduce the time spent filtering papers so that more time can be spent actually understanding them.

Log in or sign up for Devpost to join the conversation.