9,367 karma · joined January 26, 2017
I guess smaller crates and avoiding nested modules could also help optimize for making the code greppable by coding agents without blowing up context windows.
Would love to see them release some smaller open-weight models.
Even as an experienced developer, sandboxing an agent is not trivial. The idea of my aunt, who has her passwords on a post-it-note on her monitor and forwards me scam emails using these things is terrifying.
As for the infra setup, I am currently using llama.cpp, although I'm just now working on switching to vllm since it is better for concurrent inference, since it can interleave prompt-processing and decode. Until now llama.cpp was enough, since I was on an R9700 and it was only practical to run one agent with decent sized context anyway.
So you have to price your local hardware against however many subscriptions you would need to run a dozen concurrent agents around the clock.
But even then, I would guess subscriptions are priced on the basis that they don't expect every user to utilize their entire usage limit. I.e. power users are subsidized by casual users.
And I bought it day one without reading reviews. Whether or not the game is good, personally I'm happy to support someone who's completely self-funded working on PL design. Not that many people are in position to do that kind of work, and even fewer with a documented history of finishing things.
To me it begs the question: in a theoretical world where we don't have human mathematicians anymore, what is the point of these proofs if there's no human who actually understands it?
If the point of a lot of this math is only to expand the boundaries of human knowledge, it all seems kind of pointless.
In my experience, what works for one model in terms of system prompt doesn't necessarily transfer to another model, so I would be concerned that a large system prompt would end up being a "jack of all trades, master of none" situation where your giant prompt has to try to account for the eccentricities of every single model, and might even include details that add confusion for some models.
And pi has been eye-opening for me in terms of how well newer models perform with basically no system prompt. It makes me wonder how much of the default system prompt is essentially cruft which was added to support older models which needed more guidance, and is still in there.
OpenCode was thousands or tens of thousands last time I checked. Not sure if this has been improved.
There are a lot of ways to implement sub-agents, and it's not something I need the harness to be opinionated about.
I know builtin tools support opt-out, but it's more bloat. It's also more complexity for the agent to understand when you use it to build extensions for itself.
I'm not so sure about this move, or the general inclusion of code mode in the core editor as one of pi's main selling points was its minimal nature.
Nether service has a way to configure fine-grained access for a secondary user.
How do I go about giving the agent the ability to perform these tasks without exposing myself to the risk of unexpected destructive behavior from the agent?
And I love pi - it's my daily driver - but the extension system itself is an attack vector. If any process manages to write an extension to your .pi directory, it could rewrite your prompt to have the agent exfiltrate your secrets, or take whatever action on the host system if you don't sandbox it.
When I was kicking the tires on pi, one of the first things the agent did was push an update to one of my published Rust crates (not the project it was working on).
That in itself wasn't harmful, but it did convince me it was worth the effort to figure out sandboxing after that.
For something like muse that's supposed to be a general-purpose assistant, how do you give it enough access to be useful, without giving it too much access, and creating unacceptable risks? And how do you do that in a way that's comprehensible the average Facebook user who's the target market of this product?
I.e. if I have an agent running in a WASM sandbox with no access to the host system, I can't ask it to clean up my files. Same thing with things like giving an agent access to your email inbox: doing so allows the agent to provide utility, but it comes with risks, as the agent can delete important emails, or leak sensitive data.
I think a big part of the problem is, a lot of the systems we use and would like agents to help us with don't have a concept of separated roles with different levels of access which can be applied. A lot of times it's all or nothing.
And even when we do have fine-grained access control available, it's a pain in the ass to manage it. Like you can create a GitHub token with fine-grained access control to your repositories and make sure the agent only uses that one to connect, but it's a whole lot easier to use a broad-access token, or just let the agent use your own token, so lots of people will just end up doing that.
And I also like pi, but it's probably one of the worst in terms of sandboxing as it's yolo by default.