Skip to content
SA
All projects
AI AgentsPrototype2026

Personal Assistant Agent

An early general-purpose agent, and the place I worked out how to make tool use reliable.

Private engagement · details on request
Personal Assistant Agent
Foundation
For later agents
Reused patterns
Schema-first
Tool design
Testable
Role EngineerYear 2026Status Prototype
01

Overview

An early agent that reasons about a request, picks the right tool, and gives back a grounded answer or a finished action. It was the testbed where I figured out the tool-calling patterns that later ran in production.

02

The problem

Chat models answer questions but can't actually do anything. Wiring them to real tools so it works every time, with grounding and proper error handling, is where most attempts fall apart.

I wanted a clean, small foundation for tool use that I could grow into real systems.

03

The solution

I built a strict little loop: read the request, choose a tool, run it with validation, and ground the answer in what came back. Each tool is defined by a schema, which keeps the model's choices narrow and testable.

The design leaned on being able to see what happened and on small, swappable tools, instead of one giant prompt. That's the pattern that made the later agents dependable.

04

Architecture

A small read-choose-run loop over a set of schema-defined tools, with grounded answers and logging on every decision.

Input
User request
Agent
Read the intentPick a toolRun and validate
Tools
SearchCalcFetchNotes
  • Schema-defined tools, so the choices stay narrow and testable
  • Answers tied to real tool output
  • Every decision logged
  • Small, swappable tools that grew into production agents
05

Screens & diagrams

diagram
Read the request, pick a tool, run it, ground the answer.
06

Key features

Picks the right tool

Chooses the capability that fits the request from a typed set.

Grounded answers

Replies are tied to what the tools actually returned, not made up.

Small, swappable tools

Each one does a single job, which makes them easy to add and test.

You can see what it did

Every decision is logged so you can follow the run.

07

Implementation highlights

  • Set the schema-first tool pattern I reused in every agent after this.
  • Added validation and backoff around the tool calls to keep it steady.
  • Kept the prompts small and the tools composable instead of writing one huge instruction block.
08

Challenges solved

Tool calls that don't flake

Strict schemas and validation turned unreliable tool use into something predictable.

Staying grounded

Tying answers to tool output got rid of the confident-but-wrong replies.

09

Technologies

TypeScriptNode.jsLLM tool useREST integrations
10

Future improvements

  • Memory that carries across sessions
  • Better multi-step planning
Have something similar in mind?

Let's build your version.

Start a project