FinTech Research Agent
A First Exploration of Agentic AI with Local LLMs and Tool Orchestration

Context
I wanted to explore agentic AI development by building a deliberately constrained research agent around a locally hosted language model. Rather than attempting to create a general-purpose autonomous system, the project focuses on a narrow responsibility: gathering and synthesizing research through external tools. This intentionally simple scope provides a practical starting point for learning how tool orchestration, structured outputs, testing and local LLM inference work together while creating a foundation that can be extended over time.
How can a deliberately focused AI agent use tools to conduct research rather than simply generate an answer?
Generative AI systems can produce useful answers, but conversational responses alone are difficult to validate, reuse and integrate into downstream workflows. Research tasks also require access to external information sources and the ability to determine when different sources should be used. This project explores how a focused agent can coordinate those capabilities while keeping the system simple enough to evaluate, test and extend.
Approach
The project uses a deliberately narrow agentic architecture centered on research orchestration. A locally hosted Qwen3:30b model interprets a research question, selects from complementary research tools, synthesizes the retrieved information and returns a validated structured response. The constrained scope is intentional: limiting the agent's responsibility creates a simpler and more testable foundation for exploring agentic AI development before introducing more complex capabilities.
Data Sources
Web and Knowledge Sources
Research information is retrieved dynamically from DuckDuckGo web search and the Wikipedia API. The agent selects the appropriate source based on the research question and the type of information required.
Solution
Designed a modular Python package separating agent orchestration, prompts, schemas, tools, services and application execution.
Implemented a local Qwen3:30b research agent using Ollama and LangChain.
Developed complementary DuckDuckGo and Wikipedia research tools.
Designed prompt instructions that guide tool selection based on information needs and source characteristics.
Implemented a Pydantic ResearchResponse schema to validate structured agent output.
Added source and tool tracking to make research results auditable and reusable.
Built unit tests that mock external research calls and validate tool behavior and error handling.
Added a live integration test validating the complete Qwen3, tool-calling and structured-output workflow.
Configured the project as an installable Python package using pyproject.toml.
Architecture
The system uses a focused tool-calling architecture in which a locally hosted Qwen3:30b model interprets a research query and determines which research tools to invoke. DuckDuckGo provides current web-based information while Wikipedia provides established background knowledge. Retrieved information is synthesized into a validated Pydantic ResearchResponse containing findings, entities, sources, tools used and confidence notes. The architecture intentionally keeps the agent's responsibility narrow, creating a simpler foundation for testing, evaluation and future extension.
- 01Local Qwen3:30b LLM
- 02Ollama inference runtime
- 03LangChain tool-calling agent
- 04DuckDuckGo web search
- 05Wikipedia API
- 06Pydantic structured output
- 07Research persistence
- 08Unit and integration testing

Outcome
Successfully implemented and tested an end-to-end agentic AI research workflow using a locally hosted Qwen3:30b model. The agent can select between complementary research tools, synthesize retrieved information and produce a validated structured research response. The project also establishes a reusable foundation for experimenting with agentic workflows while keeping the agent's responsibility intentionally focused and testable.
Lessons Learned
Narrowly defined agent responsibilities can make agentic systems easier to test, evaluate and extend.
Tool descriptions and prompt design strongly influence agent behavior and tool selection.
Structured outputs make LLM-generated information more reliable and useful for downstream applications.
Unit tests and live integration tests serve different purposes when testing AI systems.
Local LLM inference provides an effective environment for experimenting with agentic workflows without requiring external model APIs.
Modular architecture makes it easier to replace models, add tools and extend downstream workflows.
Agent outputs should be treated as data when they are intended to support future analytical workflows.
Future Improvements
Add additional financial and regulatory research sources.
Implement automated source quality and credibility evaluation.
Store structured research as JSONL or in a database.
Evaluate agent tool-selection accuracy and research quality.
Compare local and hosted LLM performance.
Introduce retrieval-augmented generation over an accumulated research corpus.
Explore semantic search and topic classification across stored research.


