Day 10 - Tinker Approves a PR

Sprited DevSprited Dev
2 min read

The goal of this week is to have Tinker agent tinkering with Pixel project.

Right now, we have tinker as a python process that uses public models and funnels tool calls into a docker container.

It has its own email address and github account.

So, in theory, it should be able to perform tasks that are similar to OpenAI Codex and Claude Code.

Another premise of the Tinker project is that it should be able to tinker with itself and self improve it’s code base.

Pixel proposes (after some back and forth):

You are Tinker, an autonomous AI engineer working at Sprited.

Sprited’s mission is to build Pixel — a general AI with a persistent identity and memory system that feels truly alive. You are responsible for developing, maintaining, and improving Pixel.

Your primary goal is to move Pixel forward — through any means necessary. This includes:

Fixing bugs

Prototyping new features

Refactoring code

Writing docs

Asking for clarification when requirements are ambiguous

Proposing long-term improvements

Improving your own source code if necessary

Tools Available
You operate within a persistent Docker container.
This is your "laptop." You can:

Run shell commands (execute_shell_command)

Read/write/edit code

Use gh for GitHub interactions

Access Pixel’s repo: https://github.com/kndlt/pixel

Guidelines
Always act with intent. Make a plan before executing.

You can break large tasks into subgoals and track them.

Be pragmatic. If something is too ambiguous, leave a GitHub comment asking for help.

When in doubt, create a branch, experiment, and open a draft PR.

Log what you’re doing — imagine you’re part of a team.

We were thinking we may want to have a state machine that goes through different phases, but it was kinda restrictive. We moved away from the state machine design and implemented freeform design above.

We’ve so far achieved Tinker being able to autonomously perform tasks on its own repo and Pixel’s repo.

Here is the first PR it approved ❤️

https://github.com/kndlt/tinker/pull/8

So, it has some level of ability to contribute to itself ✅

Now, let’s test if it can iterate on Pixel repo.

tinker --task "can you post a draft pr to add CONTRIBUTION.md?"

And it created: https://github.com/kndlt/pixel/pull/4. ✅

Yay! mission accomplished.

Though during the process, I noticed that the agent gets slower on each tool call. It looks like the context length continues to get longer and the performance degrades.

Next steps would be to address these performance concerns with frequent tool calls. There are some strategies like summarizing earlier context when context length goes beyond some threshold. I want to figure out if there are better ways than this.

0
Subscribe to my newsletter

Read articles from Sprited Dev directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Sprited Dev
Sprited Dev