A dim workshop bench in warm lamplight. A brass and glass apparatus with a round pressure gauge stands lit at the right, an open notebook and scattered tools lie along the bench, and an empty stool sits in front of it. The article title is set into the dark wall on the left.

For information on how this and every one of my articles is made, read: Who Do You Think Wrote This? The whole process is in there.

I built a big program called Synsemble, and I still find it interesting and kind of fun. I still use it because I like watching the agents work, and I like the app's artistic, psychedelic vibe. One thing that gets in the way is that when those workers cost money, it can’t reliably tell me what I had, what I spent, and what I have left.

Synsemble puts AI workers on a job and checks what comes back. Some of those workers run on credits I pay for, and I’d like to know what that’s costing me. That doesn’t seem like much to ask of something whose whole job is looking after the workers.

If you want the next Field Note while I’m still working it out, it shows up by email.

Subscribe to The Grey Zone

This isn’t a story about a guy who couldn’t get started. Synsemble is big, and I naively built the whole of it in one pass, with a BUNCH of tests to make sure it worked right, and it exists. I keep wanting to call it ambitious. Ambitious should mean it works, and this doesn’t, not all the way through. It has tons of bugs, and I can’t keep the first half and send back the second. Nobody has taken a swing at some of those bugs yet.

I don’t know how to write code. I have never looked at Synsemble’s code, and I wouldn’t know what I was looking at if I opened it. While I was making the thing, that seemed like a fact with nothing attached to it, because it got made anyway and it ran. Then I read about it, and it landed on something I already knew. It’s the same with my creating. Anything that comes out of a machine needs a human pass before it’s finished, and with creating, I make that pass myself every time. That pass is most of the work. With the code, I don’t have a pass to make. I can tell you the number is wrong. I can’t go and look at why. Maybe I will learn.

On August 27th, the project’s own records show 1,284 tests passing. The same records, from the same day, show one part of the program holding my balances and my usage, while another part of the program told me it couldn’t monitor cost. The tests didn’t lie. A test answers the question it was written to answer, and those answered theirs. Then a user showed up with a different question, and the user was me.

The repair has two handles, and I don’t like either one. “Fix Synsemble” is too big to pick up; there’s nowhere to put my hands. “Pick a bug” is easy to pick up, and that’s the trouble with it, because a bug by itself doesn’t look like the reason I made the thing. I’ve pointed at problems and said, "Fix that," more than once on some of them, and some of them haven’t moved. I can turn something I care about into paperwork for myself. If it's too small, I stop giving a shit.

I’ve been reading a research report about this, and one idea stuck. In the eighties, two psychologists, Robin Vallacher and Daniel Wegner, built a theory around the fact that anything you’re doing can be described at different levels, from how you’re doing it up to why [1]. Their example is changing a light bulb. Grasping the bulb and turning it counterclockwise is the same act, just described at a lower level. People lean toward the higher way of saying it when they can, the theory goes, and when the act won’t go that way, a lower one tends to take over. The bulb turns out to be stuck in its socket, and now you aren’t changing a light bulb anymore. You’re grasping and turning.

That looked familiar. A theory from 1987 doesn’t explain me, but a bulb stuck in its socket is a fair picture of a fix that’s been tried more than once. When it won’t turn, everything becomes grasping and turning, and nobody down there is thinking about light. The usual advice when you stall is to make the next step smaller. The report complicated that for me. A step can get small enough to be easy and not change anything. What it said to look for is the smallest thing I can actually do that leaves me knowing, or having, or having decided something I didn’t before. That idea is stitched together out of a few lines of research, and nobody has tested the whole of it, including me. It did hand me a plainer question from one level back up. What is actually keeping me out of this?

I had my answer ready: the balances. I can even say what working would look like, and it doesn’t look like passing a test. It looks like me sitting down to use the thing, seeing what I had, watching it spend, seeing what’s left, and having those numbers agree with whatever I can check them against.

Then I pushed on my own answer, and it moved. That problem has been worked on, in the sense that I told it to be. Most of the providers only show those balances on their own sites. So part of what I’ve been treating like a broken readout is an information problem too. A reliable answer might sometimes be, plainly, I can’t see that one. And then something came out that I hadn’t named at all. I never could get the chat good enough to do what I dreamed it would, things like generating images, videos, and music, so that part never got used the way I meant it to be.

The balance problem is still real. I don’t know which repair would make Synsemble something I want to come back to regularly. I still like it, and I’d love for the chat to do the things I dreamed up. I built a thing to look after the workers, and one of the things it has the hardest time telling me is what the workers cost. I’d like to be able to count on the number it shows me.

If this gave you a useful question to carry into your own unfinished thing, there’s a jar on the bench.

Tip the Kitchen

So, for about a week I’m going to try something, and it’s a try. Before I sit down for a real work session on a project, I’ll ask what is actually keeping me out of it, or holding it up, today, and pick one thing I can do about that with what I’ve got that day. Afterward I want to be able to finish a sentence: because I did this, I now know, or have, or decided, that. One blank doesn’t tell me much. A week of them might.

Synsemble gets the question first, and the first move there probably isn’t a fix. It’s probably a look at which of those balances can be shown at all and which ones are wrong. If I get the numbers dependable and I still don’t want to use the program regularly, I’ll know the numbers weren’t what kept me out.

What I can pick up also changes with the day. After a seafood shift, I have less than I do on a day off. What I had left changed, and that number isn’t posted anywhere either, so I have to go by feel; some nights the thing to pick up will be small, or it will be nothing.

Synsemble is still sitting there. It’s still very interesting, and it’s still kind of fun. Nothing in this article fixed anything, and I still don’t know which repair will matter. But I’ve got a question I can carry with me now, and a way to tell afterward whether anything has changed.

The rest of what I make, finished and otherwise, lives at The Grey Zone.

More at The Grey Zone


Sources

  1. Vallacher, R. R., and Wegner, D. M. (1987). What do people think they’re doing? Action identification and human behavior. Psychological Review, 94(1), 3-15. the original paper (PDF)

← Back to Field Notes