Build a simple learning agent??

In this project, we will build a simple learning agent that

  • Given an outcome description (e.g. my-project.outcome.md), the agent will check a user's work against the outcome and
    • Create a learning path for the user to follow to achieve the outcome (e.g. my-project.path.md)
    • Track the user's progress at an interval (e.g. every 30s) to see what's changed and update the progress
    • Give the user feedback on demand (e.g. "How am I doing?" what should I do next?)

Setup

We're going to do a deep dive on using the terminal so it's a good idea to install a good one. I reccomend using Ghostty.

How agents "see" the world

Agents are able to see"the world (aka your computer and the internet) by using simple command line tools.

Many of these tools have been around for decades and are well-documented and widely used. Agents are very good at them because they are very good at following instructions.

Here are some of the most common command line tools:

  • ls: list directory contents
  • cd: change directory
  • pwd: print working directory
  • mkdir: create a directory
  • rm: remove a file or directory
  • cp: copy a file or directory
  • mv: move a file or directory
  • ln: create a symbolic link

Project Steps

  1. Setup a cli tool

  2. read the outcome file

  3. scan the source dir

  4. create the plan prompt

  5. create the "next step" ommand agent next-step

learning-agent.py plan-next-step
starting...
snapshoting state
reading path/project/project-1.outcome.md...
assessing progress
createing next step
next step created: ./plan/step-4/index.path.md