Skip to main content

ZAMM

This is an informal automation tool where you show GPT how to do something, and have it do it for you afterwards. This is good for boring but straightforward tasks that you haven't gotten around to writing a proper script to automate.

We are entering a time when our target audiences may include machines as well as humans. As such, this tool will generate tutorials that you can edit to make pleasant for both humans and LLMs alike to read.

This is an experimental tool, and has only been run on WSL Ubuntu so far. It seems to work ok on the specific examples below. YMMV. Please feel free to add issues or PRs.

Quickstart

pipx recommended over pip for install because it should allow you to run this with a different version of langchain than the one you might have installed:

pipx install zamm

Teach GPT to do something:

zamm teach

You will be roleplaying the LLM. The results of your interaction will be output as a Markdown tutorial file, which you can then edit to be more human-readable. See this example of teaching the LLM how to create a "Hello world" script.

Afterwards, you can tell the LLM to do a slightly different task using that same tutorial:

zamm execute --task 'Write a script goodbye.sh that prints out "Goodbye world". Execute it.' --documentation zamm/resources/tutorials/hello.md

This results in this example transcript of LLM interactions. Note that GPT successfully generalizes from the tutorial to code in a completely different language based just on the difference in filenames. Imagine having to manually add that feature to a script!

Using internal tutorials

Select any of the prepackaged tutorials as documentation by prefacing their filename with @internal. The .md extension is optional.

For example:

zamm execute --task 'Protect the `main` branch' --documentation @internal/branch-protection

to protect the main branch of the project in the current directory on Github. (Note that this tutorial was written in mind for ZAMM-built projects, so YMMV for using this on custom projects.)

Sessions

Sessions are recorded in case a crash happens, or if you want to change something up. On Linux, sessions are saved to ~/.local/share/zamm/sessions/. To continue from the most recent session, run

zamm teach --last-session

Free-styling

You can also simply tell the LLM to do something without teaching it to do so beforehand. However, this is a lot more brittle. An example of a free-style command that works:

zamm execute --task 'Write a script hello.py that prints out "Hello world". Execute it.'

The resulting transcript can be found here.

Prompting

When a step is failing and you need faster iteration by repeatedly testing a single prompt, you can do so with the prompt command. First, write your prompt out to a file on disk. Then run this command:

zamm prompt --stop '\n' --raw <path-to-prompt>

Release files for zamm 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for zamm 0.0.5
File Size Uploaded
zamm-0.0.5.tar.gz 60.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for zamm 0.0.5
File Interpreter ABI Platform
zamm-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 149.8 kB

Release files / zamm-0.0.5.tar.gz

Download URL zamm-0.0.5.tar.gz
Size 60.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c0fc8d7804199ddc4a48e0a863170918302b362cc865c5701f5b91115f0b9cdd
BLAKE2b-256 checksum
How to use checksums
42ace0cd95d6ee73ba94de6bd9a906142e4fd1ae5ccd3241cc958f59f97ccf6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.3.1 CPython/3.10.9 Linux/5.10.74.3-microsoft-standard-WSL2

Release files / zamm-0.0.5-py3-none-any.whl

Download URL zamm-0.0.5-py3-none-any.whl
Size 89.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bedecfc93849ea08f5c47cee1ea5d8f03429e27c9d57e9223d482056d3cbc0b2
BLAKE2b-256 checksum
How to use checksums
aeed46eb084b0bbfce68de5907b403c0d24d6cdad601059d49f79200e6ad7ba8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.3.1 CPython/3.10.9 Linux/5.10.74.3-microsoft-standard-WSL2

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page