Free tools Windows power users keep installed
One-click scans. No signup required.
My first agent was a deliberately small Crypto Research Assistant: it takes a crypto question, searches supplied sources, and should say it does not know when those sources do not contain the answer. Building it taught me that a useful agent is more than a prompt. It needs a way to use tools, retrieve relevant information, check whether its answers are supported, and operate within clear limits.
What my first agent was designed to do
I kept the task narrow: answer questions about crypto from a set of supplied documents, rather than treating the model’s general knowledge as a substitute for those documents. If the sources did not support an answer, the assistant should admit that it did not know.
As an Amazon Associate I earn from qualifying purchases.
That boundary matters because a fluent answer is not necessarily a sourced answer. For this project, success meant both finding the information when it existed and not filling gaps with a guess.
How the agent loop worked
In my simplified explanation, the model can decide to use a tool, receive the tool’s result, and pass that result back into the model. It can repeat that exchange until it has enough information to answer. “That’s the agent loop.”
#1 Best Overall
For my assistant, retrieval was exposed to that core loop as a tool. The loop is a useful way to understand this project, not a rule that every agent must follow or a guarantee that each question needs a particular number of model calls. AWS describes agent design more broadly in terms of perception, reasoning, and action, with autonomy and asynchronous operation among its foundational principles in its agentic AI patterns guidance.
RAG meant building a retrieval path, not just writing a prompt
The retrieval-augmented generation (RAG) sequence I used was “Chunking -> Embedding -> Retrieval -> Generation.” Documents are divided into chunks, those chunks are represented as embeddings, relevant chunks are retrieved for a question, and the model uses them to generate an answer. In this agent, retrieval supplied information through a tool call.
Rank #2
Why my first chunker did not generalize
I first tuned a chunker against a single article and saw its mean rank improve. That result did not carry over to ingestion across multiple documents: the approach was too tailored to the article I had used, so I had to rebuild and retest it.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsThe lesson was not that one chunk size or method is always best. It was that a retrieval setup should be tested on the document mix it is meant to handle. A one-document improvement can be misleading if the deployed collection contains documents with different structure or content.
Evaluate both unsupported answers and unnecessary refusals
I focused on two checks:
- Leak: Did the assistant answer using information that was not supported by the supplied sources?
- Over-refusal: Did it refuse even though the answer was available in those sources?
These checks exposed a tension: making the assistant more cautious could reduce unsupported answers while also causing it to refuse questions it could have answered. Both sides of that trade-off mattered for my use case.
My personal target was to get three runs in a row at 100% on the evaluations. I spent too long trying to make that result repeatable, even though responses varied between runs. That was my project benchmark, not an externally validated metric or a standard for agent quality.
Rank #4
A more useful iteration routine is to pick the evaluation you are trying to improve, change one thing at a time, and move forward once that target is met. AWS Builder Center’s guidance on building production agents likewise treats evaluation as part of development, with measures such as task success, tool selection, execution efficiency, safety, cost, and latency. Those are useful dimensions to consider; I did not measure all of them in my project.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Keep iteration and token use bounded
Repeatedly rerunning every evaluation while changing one part of a system can consume time and tokens without helping answer the question at hand. My practical lessons were to cap token usage, reuse the latest response as context when appropriate instead of repeating all prior work, and run the evaluation related to the change rather than the complete set every time.
Best Value
I did not publish token totals or measured savings, so there is no specific budget or cost reduction to copy from this project. The right limits depend on the model, task, and testing setup.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Deployment convenience does not establish security
In the account of my setup, I kept source code in a public GitHub repository, stored documents in an S3 bucket accessed through a least-privilege IAM key, and deployed the UI to Streamlit Community Cloud with a password gate. The original article is marked “Posted on Sep 17” without a year, so those details describe the reported setup at an unspecified date, not a statement about current service behavior or an independent security review.
A password gate and a narrowly scoped key are not, on their own, proof that an application is secure. AWS’s Agentic AI Lens recommends least-privilege access, separating agent permissions from human permissions, and strong authentication. Its guidance is a useful lens for reviewing an agent’s access; it does not certify the configuration I used.
Recommended Free Tools
- Give the agent access only to the documents and actions it needs.
- Keep the agent’s permissions distinct from a user’s permissions, rather than letting one broad credential stand in for both.
- Use strong authentication and review how credentials are stored and exposed.
What I would do differently next time
- Define the boundary first. Specify what sources the assistant may use and what it should do when they do not contain an answer.
- Test retrieval on the real document mix. Do not treat a win on one article as evidence that ingestion will work across a collection.
- Write evaluations for both failure directions. Check for unsupported answers and for refusals when the sources do contain the answer.
- Change one thing per iteration. Run the evaluation that corresponds to the change and set a practical stopping target.
- Plan permissions and operating limits early. Decide what the agent can access, how much work it may do, and how you will observe and assess it before moving beyond a notebook-style demo.
AWS’s production-agent guidance emphasizes designing for evaluation, observability, security boundaries, and cost awareness during development—not treating them as cleanup after the prototype works. Those considerations make the step from a working demo to a dependable deployment more deliberate.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




