Skip to content

Continual Learning Interface (CLI)

We propose a thought experiment, what if a machine had a continual learning mechanism?

Core trick

A meta-agent rewrites a browser agent's system prompt and config from human feedback, so each run starts with revised instructions.

Tags

Description

We propose a thought experiment, what if a machine had a continual learning mechanism? If machines are exceeding human intelligence, machines should be improving themselves, not humans This way, humans, no longer bottleneck the ingenuity of machine intelligence This project proposes a proof of concept of what could be a continual learning interface CLI. We demonstrate that a Browser Agent could be given very specific human feedback and improve itself, whether that's through updating or creating new scripts in its own system. And it does so by a meta-agent or a meta-system that updates the orchestrator agent (which is itself).
theogbrand/self-improving-browser-agent★ 00 forksPythonCreated Mar 7, 2026 · last push Mar 23, 2026

README excerpt

# Self Improving Browser Agent

A browser agent that improves itself through human feedback. When the agent goes wrong, you can intervene with realtime feedback, and a meta-agent rewrites the agent's system prompt and config to improve it for the next run. This loop of execution, feedback, and self-revision helps the agent get better at more tasks over time, and also allows users to get better at collaboration with the agent.

## Architecture

```
You (CLI) ──> Orchestrator (Python) ──> Browser Agent (TS + Gemini) ──> Chrome via CDP
                  │                              │
                  │ when the agent goes wrong:                  └──> traces/*.jsonl
                  │ human feedback
                  v
             Improver ──> rewrites system_prompt.md & config.json
```

The orchestrator runs up to 3 attempts (1 initial + 2 improvements) currently but this can be configured with CLI arguments. Each improvement cycle incorporates your feedback to rewrite the agent's configuration before retrying.

## Setup

```bash
git clone https://github.com/theogbrand/self-improving-browser-agent && cd self-improving-browser-agent

# browser agent
cd agent-backend/browser-agent && npm ci

# trace viewer (repo root venv)
cd ../..
uv venv .venv && source .venv/bin/activate && uv pip install fastapi uvicorn

# orchestrator (separate venv)
cd agent-backend/orchestrator
uv venv .venv && source .venv/bin/activate && uv pip install -e .

# API keys
export GEMINI_API_KEY="your-key

Team