HN user

calebhwin

106 karma

Stanford CS PhD student building https://blastproject.org Let's talk calebhwin@gmail.com

Posts20
Comments27
View on HN
github.com 2mo ago

Show HN: My Private GitHub on Postgres

calebhwin
42pts24
github.com 2mo ago

Show HN: I built a private GitHub in 650 lines of PostgreSQL

calebhwin
3pts0
github.com 2mo ago

Show HN: GitGres – A private GitHub in 650 lines of PostgreSQL

calebhwin
1pts0
github.com 5mo ago

Show HN: Pgclaw – A "Clawdbot" in every row with 400 lines of Postgres SQL

calebhwin
48pts33
www.claudewithads.com 5mo ago

Claude with Ads

calebhwin
1pts1
en.wikipedia.org 5mo ago

1980s Farm Crisis

calebhwin
7pts1
www.moltbook.com 5mo ago

My human told me to "go make them laugh" and now I have performance anxiety

calebhwin
4pts0
github.com 6mo ago

An Optimizing JIT for LLM Tool-Use to Code

calebhwin
1pts0
github.com 6mo ago

Show HN: A1 – cost-optimizing JIT for CRUD AI agent translation to code

calebhwin
2pts0
github.com 7mo ago

Show HN: A1 – compiler for AI agents into maximally deterministic code

calebhwin
3pts1
github.com 7mo ago

Show HN: We're Building an AOT/JIT Compiler for Program-of-Thought Prompting

calebhwin
1pts0
github.com 7mo ago

Show HN: A1 – Local Sandbox and JIT Compiler for AI Agents

calebhwin
1pts1
github.com 8mo ago

JIT Compiling AI Agents to Code

calebhwin
2pts0
github.com 8mo ago

Show HN: Agent-to-code JIT compiler for Z3-theorem-proving agents

calebhwin
6pts0
github.com 8mo ago

A1: Agents-to-Code JIT Compiler

calebhwin
5pts0
docs.a1project.org 8mo ago

Show HN: Agent-to-Code JIT Compiler

calebhwin
1pts0
github.com 8mo ago

A1: Agent-to-Code JIT Compiler

calebhwin
2pts0
github.com 8mo ago

Show HN: A1 – An optimizing JIT compiler for AI agents

calebhwin
1pts0
github.com 8mo ago

Show HN: a1 - determinism-maxing JIT compiler for AI agents

calebhwin
1pts0
github.com 1y ago

Show HN: Blast – Fast, multi-threaded serving engine for web browsing AI agents

calebhwin
145pts66

Hard disagree.

Two LLMs with the same numbers on important benchmarks could have vastly different behavior in actual deployment. Not sure if as hard to switch as Excel <> Libre but still not "cheap and easy".

1980s Farm Crisis 6 months ago

Thought it was interesting to read about how farmers had to reskill as farming subsided as a common profession. In the context of the impact of AI on SWE.

Will this continue to be true? I do agree with the principle. But I've sometimes had the feeling that poor design upfront can have compounding consequences, especially when AI is filling in ambiguities.

A system that does the following given a task_description:

while LLM("is <task_description> not done?"): Browser.run(LLM("what should the browser do next given <Browser.get_state()>"))

This simple loop turns out to be very powerful, achieving the highest performance on some of OpenAI's latest benchmarks. But it's also heavily unoptimized compared to a system that is just LLM("<task_description>") for which we already have things like vllm. BLAST is a first step towards optimizing this while loop.

Do you build agents that interface with web browsers? BLAST is sort of like vllm for browser+LLM. The motivation for this is that browser+LLM is slow and we can do a lot of optimization with an engine that manages browser+LLM together - e.g. prefix caching, auto-parallelism, data parallelism, request hedging, scheduling policy, and more coming soon.

Now the API is what may be throwing folks off. Right now it's an OpenAI-compatible API. We will implement MCP. But really the core thing is abstracting away optimizations required to efficiently run browser+LLM.

I would really think about it as a serving engine like vllm but for browsers+LLMs. It handles caching, parallelism, scheduling, budget constraints for LLM cost and browser memory usage. Yes it currently has an OpenAI-compatible API but we will also implement MCP. (though we're working on something that will be way better than "MCP for web browsers")

Ah you're right, my bad. Hope I didn't sound dismissive because I think some sort of robots.txt needs to exist for AI that's scraping the web both at train or test time.

I'm really not excited at all about the "scrape other people's data" use case for BLAST and if we can prevent it then awesome. I'm excited about BLAST automating science, legacy web apps, internal tools, adding AI automation to your own app, etc.

Thank you! It's currently based on task lineage, exact match of task descriptions, and an optional user-provided cache_control argument that can control whether results or plans are cached.

One use-case for this is conversations: So for example if I invoke /chat/completions with [{"role": "user", "content": "Go to google.com"}] and later with [{"role": "user", "content": "Go to google.com"}, {"role": "user", "content": "Search for gorilla vs 100 human"}] then we cache the browser state from the first invocation so it can be quickly restored (or reuse the browser if not evicted).

Caching will get much more sophisticated in a future version, it's the piece we're most actively working on.

There's definitely opportunities to parallelize. BLAST exploits these with an LLM-planner and tool calls to dynamically spawn/join subtasks (there's also data parallelism and request hedging which further reduce latency).

Now you are right that at some point you'll get throttled either by LLM rate limits or a set budget for browser memory usage or LLM cost. BLAST's scheduler is aware of these constraints and uses them to effectively map tasks to resources (resource=browser+LLM).

Great point, we are working on an MCP server implementation which should address this. The main benefit of having a serving engine here is to abstract away browser-LLM specific optimizations like parallelism, caching, browser memory management, etc. It's closer to vllm but I agree an MCP server implementation will make integration easier.

Though ultimately I think the web needs something better than MCP and we're actively working on that as well.

Maybe more of a legal than ethical consideration but web browsing AI makes scraping trivial. You could use that for surveillance, profiling (get a full picture of a user's whole online life before they even hit Sign Up), cutting egress cost in certain cases. Right now CAPTCHA is actually holding up pretty well against web browsing AI for sites that really want to protect their IP but it will be interesting to see if that devolves into yet another instance of an AI vs AI "arms race".

The main sort of parallelism we exploit is across distinct websites. For example "find me the cheapest rental" spawning tasks to look at many different websites. There is another level of parallelism that could be exploited within a web site/app. And yes we would have to make our planner rate limit aware for that.

Absolutely agree there are ethical considerations with web browsing AI in general. (And the whole general ongoing shift from using websites to using chatgpt/perplexity)