> Whatever anyone tells Audel becomes part of the single experience that every other conversation draws on. In practice, Audel is bad at keeping secrets. Ask it what it’s been working on with someone else and it will often just tell you, even though we’ve asked it not to. We also haven’t studied what happens when two people give conflicting instructions. For now, we assume anything you tell Audel is shared with everyone on the team.
Where are the interesting engineering parts at? Seems to be an interesting idea and perhaps design, but to call the implementation/engineering itself bad seems to be an understatement.
It's like criticizing Reddit for not handling SSNs well; the intended design is 'just don't do that, cause you'd never have a reason to, anyway'
i've been playing with the project and idea for years now. the codebase started as javascript plus supabase before reasoning models were a thing (i incorrectly predicted the world would call reasoning models Large Thinking Models - bahaha). at one point the focus was almost entirely on a really easy-to-use human prosemirror UI for editing the agent's thought stream--because the models were still so bad at reasoning at that time.
then we pivoted to all bash at some point since it simplified things and i have this hypothesis that the LLMs will do better if as much of its world as possible is command line operations (inspired by terminus the agent we built as part of the terminal bench project)
the bash implementation is entirely written by coding agents - the human time goes into iterating with an AI agent on the design docs in the ./design folder
re security model - i think of the project as a research experiment about what it's like to treat an agent more like a person - so for secrets you have to trust its judgement about what it will share or if it will betray your trust. I don't know the OpenClaw architecture in great depth but my sense is that none of the LLM based agents that can interact with multiple people have strong guards in place that prevent the agent from leaking secrets between people. Definitely an interesting area for research though!
so yeah security is not a priority in this research per se - easier to assume you don't share sensitive things with a headlong agent
Along those lines, because we keeping it research and optimizing the velocity with which we can try new things out, the current aim isn't necessarily to get a bunch of community contributions. but if we do start to get any i'm thinking we will actually require people to only create PRs with design docs (no code allowed) and maybe even also require the logs (or at least the human prompts and the agent's responses) from the coding session where they created the design doc.
maybe i should write up the history, philosophy, and big picture aims of the project at some point
We all know how conflicting instructions to AI end - "I'm sorry Dave. I'm afraid I can't do that"
The specifics are really interesting. The model itself can change the user input and when you message it, it gets entered into “its stream of consciousness.”
I have a software factory going with Pi, might swap the main orchestrator with Headlong and have it be persistent to drive the other sessions without me.
A software that's optimized for agentic development, varying levels of review necessary depending on the technical choices of the factory developer. Some review may be automated via agents itself etc.
Ymmv obviously. Its definitely one of the funnest toy projects I've been working on for the last 5-7 months now (such a factory, mine is unreleased however - just for myself as of today)
This is why "I made it think in a loop" doesn't result in significant improvement in LLM performance. It's not learning. You need RLAIF, STAR, IDPO, etc to retrain the model to learn from its mistakes. And you need a human to review it so it's not compounding mistakes. It's expensive and time-consuming. Doing it wrong leads to bad outcomes. But not doing it leads to no significant improvement.
Humans aren't scheduling a wake-up to the next thought. Ideally, a sub second agentic loop with no FINAL / wake-up, always "spinning" would get closer. I'm conscious about the waste of resources this would drag with it (because of current architectures), but exciting still.
PS. I love the take on using bash instead of Python (one less abstraction layer!) and using UNIX fundamentals as stepping stone when composing tools as agents are naturally drawn to using it on a box anyways.
There are just so many now that it's hard to personally test them all or just trust the vibes.
Spend a day or two going through your existing chat sessions, and create your own private benchmark with test cases based on real tasks, that you don't share with anyone nor publicly. Make it easy to add/remove new harnesses and model combinations, make it give you a final score, ideally avoid using other LLMs for scoring, then use this to figure out if the new model/harness actually improves things for you.
I've been doing this for some time, and while most new releases show big increases in the benchmarks/evaluations, my own benchmark usually barely moves.
what does this mean exactly? A scored based on what?
It even says, quoting from the website: "Headlong is alpha research software."
Yeah that's totally something I want to curl thing.sh | bash , great idea.... Wow.
I understand that people want to get people using their software as quickly as possible and with the absolute minimum of friction, but let's put some more thought into how this could be done in a less sketchy way.
It's like we've regressed to the days when you would download a .exe file from tucows and blindly run/trust it on your windows 98SE PC.
Regarding appImage or rpm, attackers need to build and package these to inject these, while this curl | bash pipe opens up the possiblity of payloads simply by taking over the domain. And this isn't really that far fetched, just think about the Notepad++ update payload recently. The regular package was unaffected while the domain used for the update was taken over.
Then theres also the argument about normalization. Just like he said, this isn't just something he said, this is a very real argument. You don't want to teach users bad habits. Even if / you / inspect the code you get, not everyone will. And ultimately, we should strive to make the Internet a safer place, if only to get less botnets.
If you wonder what the Rust is for: It is the Ratatui TUI.
Every Headlong agent has a name and at Laude we named our shared agent Audel. We’ve spent the last few weeks interacting with Audel over Slack, Telegram, and a mobile app. Many team members talk with Audel, and each of those conversations shows up in the agent’s single stream of inner thoughts. The agent decides if and when to respond. It sets its own interests and priorities, and it comes up with its own projects.
P(doom)++https://github.com/exoharness/exo/
https://github.com/laude-institute/headlong
https://github.com/microsoft/agent-lightning
and now https://github.com/PrimeIntellect-ai/prime-agent
Of course the don't have exactly the same scopes but they are in general all about persistent memory and / or continous agent loops. Like I miss those times where only once a week a new js framework was promoted.
I had all of those projects already in my favorites except Headlong. Arround 4k+ stars.
And probably WIKI ingested 300 of them for recipes and best practices.
Haven't used the WIKI yet though...
most of the training data is the output of inner monologue. ie ppl dont write their inner monologue on the internet( not as often anyways).
inner monologue isnt just thoughts that you keep to yourself. There is a different stucuture and meaning to it. isnt it?
Wow. So, be nice or I'll replace you with a very large shell script?
Since supposedly it keeps thinking when you leave it alone, I wonder what happens if you give it a brief prompt like "research the unicode eggplant emoji" and then ignore it for a week, and come back to find that you've spent thousands of dollars for claude to write a 385 page novel about the eggplant emoji.
suggestions for what to try next?
I think the main answer to this concern is that humans are absolutely scheduling wake-ups on a cognitive level -- the best example may be, y'know, sleep! But also on a moment-to-moment basis, which is especially noticable during periods of boredom.
Think of the head LLM as you, and the workers as your subconscious faculties (e.g. the part of you that knows how to ride a bike in ways that you have never had to consciously articulate). The looping part is the unconscious substrate that makes all of that possible, arguably with some room for the faculty above you (metacognition) to control what gets presented to your conscious mind and when. The vast, vast majority of input never makes it that far tho, by design.
(ETA: ...so, that means that we don't need to fundamentally change the architecture of LLMs in order to get some really scary stuff going.)
I don't think the blog post fully conveys this, but for me it's not whether there's a pause between thought generations, but instead whether the agent is designed to stop after some human-set goal is achieved to wait for more instructions
In contrast the idea here was to force the agent to pick its own next goal (even when it receives no explicit tasks from a human) -- even if that goal is implicit -- and then watch and see what it picks (or at least what it does with its time). and then figure out what sort of mechanisms we can introduce to the architecture at that outermost life/goal picking loop
i'm gonna start using this
Totally agree we should make the internet safer, this is just a clarification that we don't necessarily need everyone to check it. One person who always checks everything and sends this to their LLM and posts a viral post can be a deterrent.
The installer is one threat. You're then running this on your machine which is the next threat.
Take a look at the screenshots here for one example of getting non-technical users to paste things into the equivalent of bash:
https://www.tilburguniversity.edu/about/conduct-and-integrit...
I do.