Skip to content

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Building a Personal AI Agent Fleet

The fleet's three original agents: Work, MBA, Family. A fourth household-admin agent joined in August 2026

What worked, what failed, what it costs, and what I learned building five always-on AI-agent lanes for markets, an Executive MBA, family logistics, household administration, and operations.

I’m a fixed-income portfolio manager, a part-time Wharton Executive MBA student, and a dad managing several very different streams of information and obligations at once.

Instead of building one giant assistant, I built a small fleet of specialised agents with deliberately separate contexts:

  • 💼 Work — public-market research, central banks, ratings, new issues and market monitoring
  • 🎓 MBA — coursework, deadlines, class preparation and study support
  • 👨‍👩‍👧 Family — school, calendars, bills and household logistics
  • 🧾 Admin — captures, classifies and files household paperwork
  • 🛟 Ops — watches the other lanes, checks freshness and failures, auto-fixes safe mechanical problems and escalates the rest

Today the system contains 80+ scheduled workflows across five lanes. Most are deliberately boring scripts rather than AI calls. The goal is not maximum autonomy; it is reliable, low-noise assistance with clear boundaries.

This repository is not a product or a clone-and-run template. It is a 26-chapter field guide to the architecture, costs, failures, evals, privacy boundaries, examples and operating lessons from using the system in daily life.

Professional-data boundary: the work lane is a personal research system using public or personally subscribed information. It is not connected to employer inboxes, internal research, portfolio positions, client information, non-public information, order-management systems or trading systems. See 24 · What the agents can and cannot see.


The idea in one diagram

  emails       calendars       news/RSS       documents
     \             |              |              /
      \            |              |             /
       ▼            ▼              ▼            ▼
┌─────────────────────────────────────────────────────────┐
│                 FOUR CONTENT LANES                      │
│                                                         │
│  💼 WORK      🎓 MBA       👨‍👩‍👧 FAMILY      🧾 ADMIN       │
└─────────────────────────────────────────────────────────┘
                    ▲
                    │ safe auto-fixes / health signals
                    ▼
              ┌──────────────┐
              │ 🛟 OPS LANE  │
              │ watches all  │
              └──────────────┘
                    │
                    ▼
           📱 short Telegram messages
              only when useful

Each lane has its own job description, memory, credentials, data sources and delivery channel. Context isolation is a feature, not an inconvenience. A school newsletter should never appear in a market brief; a bond-spread move should never pollute family memory.


What the system actually looks like

Lane Role Watches Example output
💼 Work (em) Public-markets research chief-of-staff Financial press, central banks, rating agencies, bond-market feeds, research, podcasts “Morning brief: 10y +6bp overnight; one rating action crosses an index boundary; a large new issue prices today.”
🎓 MBA (wemba) EMBA study partner Coursework, university email, class calendar, Canvas “Case due Thu; these new materials map to your scaling-operations paper.”
👨‍👩‍👧 Family (family) Household logistics assistant School email, newsletters, family calendar, bills “Sports day Friday; permission slip due Wednesday.”
🧾 Admin (tax) Household filing clerk Personal inbox attachments and a filing destination “Filed 3 documents; 1 sent to review because ownership was ambiguous.”
🛟 Ops (ops) On-call SRE for the fleet Jobs, feeds, services, freshness and failures “Repaired a torn login token; everything else green.”

Everything reaches me through separate Telegram bots, and the system is designed to stay silent when there is nothing worth saying.

Telegram bots messaging only when it matters

See it in action

Real screenshots live in images/screenshots/.

WEMBA daily brief: pending deadlines, new Drive files, and worth-noting items


Results so far

The most useful numbers are not vanity metrics, so I keep current scale separate from the date-stamped operating snapshot.

Current scale — August 2026

  • 80+ scheduled workflows across five lanes, plus a handful of plain system-timer helpers
  • Four content lanes + one supervisory ops lane
  • A 26-chapter public field guide
  • Regression tests, corrections ledgers, freshness checks and lane audits around the model calls

Measured 30-day snapshot — ending 12 July 2026

At the time of the measured snapshot, the fleet was smaller: 62 scheduled jobs. That month:

Metric Measured result
Scheduled jobs 62
Scheduled executions ~266/day (~8,000 over 30 days)
Jobs calling an LLM 10 (16%)
Pure-script jobs 52 (84%)
Latest run successful 61/62; the remaining job had not reached its first scheduled fire
Escalations opened 60
Escalations closed 56
API-account spend ~$85 / 30 days*
Labelled regression evals 27

*The API account also supported a few unrelated experiments, so this is an upper bound, not a clean fleet-only cost number.

The full methodology and the metrics I still do not measure are in 23 · The fleet by the numbers.

The counter-intuitive result

Most of a useful “AI agent system” should not be AI.

In the measured snapshot, 84% of scheduled jobs were deterministic software. Scripts poll feeds, compare timestamps, reconcile ledgers, move files and check health. LLMs are reserved for tasks where language understanding, synthesis or judgment actually adds value.

That design is cheaper, easier to test and easier to trust.


What worked

A few patterns have held up particularly well:

  1. Specialise the contexts. One large assistant accumulates irrelevant context; narrow lanes stay legible.
  2. Use deterministic software for plumbing. Polling, filing, timestamps and invariants do not need an LLM.
  3. Make silence the default. A successful run with nothing useful to say should send nothing.
  4. Treat the model as a junior assistant. It can triage, synthesise and draft; consequential decisions still belong to a human.
  5. Separate orchestration from intelligence. The fleet mostly runs on a boring clock. The intelligence lives inside individual jobs.
  6. Monitor freshness, not just exit codes. A pipeline can return success while quietly serving stale or incomplete information.

What failed

The failures taught me more than the successful demos. Among them:

  • an agent confidently invented a tool that did not exist
  • a workflow “succeeded” repeatedly while producing useless output
  • a fallback model had a smaller context window and broke an end-of-day flow
  • concurrent processes corrupted shared authentication state
  • stale data and fuzzy matching produced false confidence even though jobs returned successful exit codes
  • a privacy scrubber was imported but not actually called on one execution path
  • persistent memory was overwritten by another process
  • an LMS sync silently went stale for days

Those failures changed the architecture. The project gradually became less about making models smarter and more about building evals, explicit data boundaries, freshness checks, corrections, deterministic guardrails and safe recovery around them.

Read 11 · When it goes wrong, 21 · Evals as tripwires and 25 · The corrections loop.


The lesson I would keep

“The job ran successfully” does not mean “the system was right.”

The hardest part of living with agents is not getting them to produce an answer. It is knowing when they are stale, silently wrong, over-confident or operating outside the boundary you intended.

That is why the fleet now includes labelled regression evals, source checks, completion ledgers, freshness monitoring, lane audits, corrections that the model cannot rewrite, and an ops lane whose job is simply to watch the rest.

The most valuable agent is often the boring one watching the clever ones.


Where to start

The full guide is 26 chapters. The complete index is in docs/.

Featured chapter Why read it
01 · What is an agent? Plain-English explanation of an agent vs. a chatbot
05 · Design principles Cost control, silence-by-default and failure handling
06 · The schedule The live job map and orchestration
08 · The fleet map The whole architecture at a glance
10 · What it costs The honest money page
11 · When it goes wrong Real failures and how they were caught
21 · Evals as tripwires Why successful exit codes were not enough
22 · The queue that learns my taste Explicit human feedback instead of guessing preferences
23 · The fleet by the numbers Date-stamped operating metrics
24 · What the agents can and cannot see Data and professional boundaries
25 · The corrections loop Corrections the model cannot silently rewrite
26 · The filing clerk The newest lane and its testing lessons

Suggested reading paths


Honest disclaimers

  • This is a personal setup, not a product. It is shared to explain a way of working, not as something to clone and trust blindly. Secrets, tokens and personal data have been removed.
  • It costs real money. The agents call commercial AI APIs. Cost is controlled by keeping most plumbing deterministic and routing models deliberately; see 10 · What it costs.
  • The AI is not an oracle. Every design choice assumes it will occasionally be wrong.
  • Context stays put. Lanes do not casually share personas, credentials or raw data. Cross-lane sharing is deliberate and limited; see 04 · Memory and 24 · Data boundaries.
  • The measurements are intentionally imperfect. Where the fleet does not track something, the docs say so instead of manufacturing a number.

Technology

Built on Hermes Agent, with Telegram delivery, local memory, scheduled jobs and a mix of language models routed by cost and task. The fleet runs on a small cloud server.

Several sanitised excerpts of the real implementation are in examples/, and some run without credentials or setup.


Where to go next

Built and documented collaboratively with Claude (Anthropic). The architecture described here is real and used in daily life.

About

How one person runs work, an MBA, and family logistics with a small fleet of AI agents — explained for newcomers.

Topics

Resources

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors