正在加载视频...

视频加载失败

this is so fun Below: an LLM loop is hooked into the Lisp REPL, and the LLM adds functions to the REPL as needed. These functions persist across application restarts. Instead of the entire read_file + edit_file + bash compile loop, it's now just prompt functionality in the application...

14,975 次观看 • 1 个月前 •via X (Twitter)

29 条评论

basedcapital 的头像
basedcapital1 个月前

smalltalk had the persistent live image in the 70s, the twist is the llm writing its own functions into it.

Humayun 的头像
Humayun1 个月前

lisp people waited 60 years for this

Mira Zephyre 的头像
Mira Zephyre1 个月前

Image-based Lisp all over again, with an LLM as the hacker at the REPL. The catch Smalltalk folks hit decades ago: once functions persist in the image, the source of truth isn't a file anymore. I'd want every LLM-added defun auto-dumped to git so you can diff what it grew.

Eris Margeta:: ubi:// 的头像
Eris Margeta:: ubi://1 个月前

didn't know lisp has a repl Actually I just realized I don't know anything about lisp

geoff 的头像
geoff1 个月前

to learn more

geoff 的头像
geoff1 个月前

for code and to try it yourself

Will Ehrendreich - SageTech 的头像
Will Ehrendreich - SageTech1 个月前

I've done something very similar with fsharp in

Aleksander Rendtslev 的头像
Aleksander Rendtslev1 个月前

I thought my Lisp days were over now that I’m no longer authoring the code, but it might just be the other way around

Samuel 🦤 (🧱,🔥) 的头像
Samuel 🦤 (🧱,🔥)1 个月前

love seeing the devenv update prompt there :D devenv update devenv ;) if you wanna go to latest

Arthur 的头像
Arthur1 个月前

I'm about to fuck around with this for no less than 16 hours today

geoff 的头像
geoff1 个月前

as you should! it’s addictive. essentially you can delete majority modern dev tooling companies with this one simple pattern….

Arthur 的头像
Arthur1 个月前

I am going to replace your lisp implementation with LFE (lisp flavored erlang) and see if I can make it replicate

geoff 的头像
geoff1 个月前

do it! i’m heavily using erl at work rn btw :)

Arthur 的头像
Arthur1 个月前

linking in case you haven't come across it

geoff 的头像
geoff1 个月前

catchup with @mikehostetler btw

Mike Hostetler // Actors & Agents on the BEAM 的头像
Mike Hostetler // Actors & Agents on the BEAM1 个月前

@arthurcolle 👋

Arthur 的头像
Arthur1 个月前

@GeoffreyHuntley 👋 hold on I gotta unfollow someone else to follow you, one moment

∇∂η Γλ 大汶口 的头像
∇∂η Γλ 大汶口1 个月前

Hook this to USD, theatre set, generative Final Cut Pro, Logic Pro, and have AI validate details from the Planet of the Apes movie series. Start at horse riding analysis for learning to balance.

Danny Wilson 的头像
Danny Wilson1 个月前

I did this with a vibe coded clj interpreter in march (bad idea too many bugs) and was planning to have the interpreter break on error (instead of failing) with edit tool to change and resume. Have you tried something like that?

Solomon 的头像
Solomon1 个月前

A tiny rehearsal room for each new function would be neat 😄 Can the loop test a replacement in isolation before swapping it into the running app? Especially curious what happens when a failed experiment has already mutated live state.

Distractosphere 的头像
Distractosphere1 个月前

LISP is soooo slow. Why is LISP so much slower than C, even though they’re roughly the same age?

Earl Cameron 的头像
Earl Cameron1 个月前

stealing this for next weeks reset (already out of claude and codex and shortly muse :( )

red plait 的头像
red plait1 个月前

and you agent can decide to put something like (fad:delete-directory-and-files "/"), he-he

Sponko 的头像
Sponko1 个月前

fun fun

Domen Kožar 的头像
Domen Kožar1 个月前

bash bash

R T J 的头像
R T J1 个月前

do you have a repo anywhere for this

Your dad's best friend 的头像
Your dad's best friend1 个月前

probably easy to make some kind of perfect memory data structure too

ShrekOverflow 的头像
ShrekOverflow1 个月前

How delightful

Saurav Anand 的头像
Saurav Anand1 个月前

functions persisting across restarts is the bit that matters. I landed on the same idea from the other side: the agent logs what it built to a sessions.md after each step and the next agent reads it first. how do you stop the REPL from piling up dead functions?

相关视频

RLM is the most import foundation of my Pi Harness (other than Pi of course). It's seeded with late interaction retrieval results (thanks to @lightonai for pylate). The Agent initiates it with query then.. 𝐒𝐞𝐭𝐮𝐩 A python REPL is created and seeded with: 1. Late interaction search to pre-filter. Instead of doing top 3/5/10, it's top hundreds of documents. This is set into a `context` variable. 2. Python functions are loaded in to do more searches if `context` variable isn't enough. And to make llm calls with cheaper models in parallel batches. 𝐈𝐭𝐞𝐫𝐚𝐭𝐢𝐨𝐧 𝐋𝐨𝐨𝐩 From there, an LLM iterates in the REPL based on the query. It's just like exploring in a jupyter notebook. The LLM writes prose (like a markdown cell) and code to be run in the REPL each turn. This allows the LLM to sort, filter, and synthesize information. It can fan out and ask smaller models to summarize, combine, contrast, or do anything else to documents to help it understand the data. After several turns the LLM reponds with the final answer. Either because it found the answer, or hit the budget limit. Context as a Python variable, LLM as the programmer, REPL as the runtime. 𝐖𝐡𝐲 𝐃𝐨𝐞𝐬 𝐓𝐡𝐢𝐬 𝐖𝐨𝐫𝐤 1. Richer Shell. Agents (and subagents) work by intermixing code and prose/thinking. But they use static scripts or bash that run and exit and start over each tool call. That's not ideal for exploration and synthesis of data. For that, state is useful to continue building and exploring the data as you learn more. There's a reason jupyter notebooks have been popular with data scientists. 2. Keeps main agent context clean. The better context you have the better the agent will perform (duh!). This means three thing: better human input, less missing search results, and less incorrect search results. Letting the agent iterate allows it to synthesize just what is needed and nothing else. All bad paths or peeks at something that turns out to be irrelevant stays out of main agent context. 3. Stack the good ideas! People often compare late interaction search vs RLM. Or static vs dynamic languages. Or agentic search vs semantic search. But...You can just use them all together for what they're each good at. Use them all for the area they're really great for. Read the full post which has more detail about how and why.

Isaac Flath

43,349 次观看 • 6 个月前

HOW TO USE AI LOOPS TO RUN YOUR BUSINESS 24/7 A lot has been written about loop engineering for building products. Almost nothing about using loops to run the business itself. That's the bigger idea. A loop is when you give an agent a goal, a way to check its own work, and permission to keep trying until it hits that goal. Build. Verify. Repeat. Stop when the condition is met. Here's what it looks like in practice: 1/SEO loop You're position 30 for a term you want. The loop runs once a month, makes changes, checks where you rank, and keeps pushing until you're on page one. This is running in production right now on Inbox Zero. 2/Ads loop You're spending $100 a day and losing money. The loop tests creative, checks profitability, kills what fails, and keeps going until the account is in the black. 3/Eval loop Your AI feature is only 88% accurate. The loop keeps adjusting the prompt and swapping the model until it passes 90%. 4/LLM visibility loop People search in ChatGPT now, not just Google. Same loop, new scoreboard. Are we the answer or not? The whole thing hinges on one thing: a metric that comes back black and white. Where do I rank? Did it hit profitability? Did the evals pass? Give an agent that scoreboard and it runs for months. Loops used to run for 30 minutes. These run for a year. Take a step, sleep, wake up next month, take another one. You're basically hiring an agency that never sleeps, gets paid in tokens instead of invoices, and undoes its own mistakes when the number goes down. Full episode on The Startup Ideas Podcast (SIP) 🧃 watch

GREG ISENBERG

83,734 次观看 • 4 个月前