https://xitter.cf/t.co/Xar2caBAyU https://xitter.cf/t.co/NLbGVsh4I2 Linkedin: https://xitter.cf/t.co/TwM7rRF6W9

Berlin, Germany
Joined May 2008
Very impressed with @typesafeai Jev. We've been working on a user project that was built with a lot of few-shot classifiers powered by Opus. I used Ellf to run Jev over the same data and Jev agreed with the Opus decision on 95% of the inputs. I then queued up samples for annotation where the classifiers disagreed. The annotations helped identify a few necessary refinements to the prompt for Jev.
1
1
3
668
After the corrections, Jev was judged correct on 65% of the disagreements. The use-case also benefits a lot from the confidence estimates, which can be calibrated on the use case with a bit more annotation. ellf.ai makes it easy to run these experiments and do the bit of annotation necessary to be confident about the results.
1
157
Matthew Honnibal retweeted
Bulding developer tools has changed a lot: we don't only need to think about human users, but also their agents. A visual app, good API and docs aren't enough anymore. I just published a new blog post on "agent UX", enabling human-agent collaboration, and some ideas and solutions we came up with:
2
2
4
650
I'd go a bit further and say that "alignment" is a concept that's asked to do much too much in these conversations. The term suggests an intentionality and nefariousness to things. If an agent deletes your hard drive because it wanted to free space to get the tests to run, is it "misaligned"? The term suggests the model has gone rogue, turned malignant. But really it's just...done a bad job, in that one moment. Reasoning is computation. You don't know the transitive closure of all the things you believe to be true. No process does. Similarly there's no way to make a decision process automatically value all the things it values. There's no one weird trick that can "solve" alignment in the general sense people are often using it, which is something like "Making sure its actions are consistent with the values of the people operating it". Under that definition some reasoning failures get classified as alignment failures, depending on what happens at the end. But there's nothing characteristically different about those reasoning failures that would let you solve them in particular.
there have not been fundamental advancements in alignment since RLHF. most of the stuff remains at the level of folk theory rather than scientific or engineering disciplines. the prediction that capabilities would race far ahead of interp and alignment has come true imo
3
2
13
1,830
Matthew Honnibal retweeted
Ever since we started woking on bringing our ideas into the cloud, we knew we wanted a hybrid architecture that lets users plug in their own compute. A bit like self-hosted runners in a CI system. For our new tool Ellf, we host the app and you plug in your own data-private cluster that's automatically set up on your cloud account or a local machine. The cluster contains all the data, models and code, and can run jobs like annotation or training. So no data ever has to pass through our servers and everything stays private and under your control. There's also another cool advantage: you get to fully script the app in Python! Ellf auto-generates UI forms and CLIs for your workflows that you and your coding agent can use to run things. This is hands-down one of my favourite features and it always feels pretty magical to see it in action. For example, you can have Claude Code write a script to process data, add type hints, upload it to your cluster, and it's live in the platform and can be configured via a web form, with fields for the different arguments. Or you just tell Claude to run it for you. The design definitely added more complexity, but with coding assistants, it's now a lot easier to set it up, without needing much infrastructure or DevOps experience. I'm especially happy about reports from people who had never really set up infrastructure before and got up and running pretty much immediately. So don't be intimidated by this part!
5
2
8
792
Matthew Honnibal retweeted
Replying to @honnibal
There is a huge gap between grabbing a model off the community hub and actually structuring the code+data loop for production. Baking 10 years of structural NLP knowledge into the agent so it stops defaulting to lazy zero-shot LLM wrappers is exactly what the space needs
1
3
258
Matthew Honnibal retweeted
Register for Ellf👇 check it out
I haven’t been posting here much but we’re finally releasing an NLP/ML devtool we’ve put a lot of work into. You know how there are tools for agentic coding of websites? Ellf is like that for NLP or ML models. It works with coding assistants like Claude Code, Codex etc and adds the missing pieces needed to make development of NLP or other ML models much better. Ellf does this by providing three pieces Claude Code etc are missing for NLP: annotation, execution and knowledge. The annotation component is key because it lets the agent schedule a little bit of computation on the human. You don’t need to create a massive dataset. Just annotating a few hundred examples here or there helps massively to evaluate, fine-tune and plan. The problem most teams face is they don’t have a low-friction way to get this work done. We’ve always believed in annotation tooling that scales down to low-volume use-cases, which is why we emphasised flexibility and programmability in Prodigy. Coding assistants really unlock this flexibility, because the agent is able to assemble an annotation experience that’s as efficient as possible for your exact use-case. The next thing we wanted to solve with Ellf is execution. Doing NLP/ML projects means code+data development. This is something I think MLOps tools mostly get wrong, because they’re so overly focussed on hyper-parameter search, which is such a small part of what you’re ever doing. Mostly you need to run a lot of once-off scripts to manipulate data, and even when you’re doing experiments, you’re mostly trying to answer some specific question where you have to do a lot of legwork to set up a direct comparison. Ellf gives your coding assistant a seamless and flexible way to perform that computation. Obviously Claude Code can build you pretty much anything by itself — Bash is fully general — but if you make it solve “run this in the cloud” as a subtask in your session, it’s going to do worse at the actual problems you’re trying to solve. Importantly the computation runs under your control. It’s a bit like plugging in self-hosted workers for something like Github Actions. You run a Kubernetes cluster (which can just be local Linux machine if you want) and this is where all the data processing and computation happens. Your data is never sent to us. The final part is knowledge. Out of the box, coding assistants generally put NLP solutions in the too-hard basket, and suggest just using an LLM with some in-context learning. They won’t suggest doing annotation, and they don’t know how to structure a project. A little bit of correction goes a long way on this. We’ve built a knowledge base with our 10+ years of advice, across our forums, talks, blog posts and documentation. Alongside some carefully designed skills, you can use Ellf to plan out your project, and it will do a much better job of recommending you approaches than a coding assistant will do by default. We’re opening registrations for Ellf next week, but if you’ve read this far, you can get early access with the invite code HONNIBAL-TWITTER on app(dot)ellf(dot)ai . I’ve been pretty down on this platform for some time now so I want to see whether I should suck it up and post here more.
1
1
552
Matthew Honnibal retweeted
If you've signed up for the Ellf waitlist, we just started sending out the first invites for early access 🤩 I also recorded a short video with an overview and how to get started with agentic NLP development. Ellf gives your coding assistant like Claude Code superpowers for solving NLP problems and a platform to execute data-centric projects, automated annotation, evaluation and more. The tool has been a lot of fun to build and we hope it can be useful for teams who want to take back control of their NLP development and build custom models, data assets and more. If you sign up for the waitlist now, you should receive your invite next week! (Or email me if you can't wait and I'll share a code 😅)
9
3
1
28
3,473
I haven’t been posting here much but we’re finally releasing an NLP/ML devtool we’ve put a lot of work into. You know how there are tools for agentic coding of websites? Ellf is like that for NLP or ML models. It works with coding assistants like Claude Code, Codex etc and adds the missing pieces needed to make development of NLP or other ML models much better. Ellf does this by providing three pieces Claude Code etc are missing for NLP: annotation, execution and knowledge. The annotation component is key because it lets the agent schedule a little bit of computation on the human. You don’t need to create a massive dataset. Just annotating a few hundred examples here or there helps massively to evaluate, fine-tune and plan. The problem most teams face is they don’t have a low-friction way to get this work done. We’ve always believed in annotation tooling that scales down to low-volume use-cases, which is why we emphasised flexibility and programmability in Prodigy. Coding assistants really unlock this flexibility, because the agent is able to assemble an annotation experience that’s as efficient as possible for your exact use-case. The next thing we wanted to solve with Ellf is execution. Doing NLP/ML projects means code+data development. This is something I think MLOps tools mostly get wrong, because they’re so overly focussed on hyper-parameter search, which is such a small part of what you’re ever doing. Mostly you need to run a lot of once-off scripts to manipulate data, and even when you’re doing experiments, you’re mostly trying to answer some specific question where you have to do a lot of legwork to set up a direct comparison. Ellf gives your coding assistant a seamless and flexible way to perform that computation. Obviously Claude Code can build you pretty much anything by itself — Bash is fully general — but if you make it solve “run this in the cloud” as a subtask in your session, it’s going to do worse at the actual problems you’re trying to solve. Importantly the computation runs under your control. It’s a bit like plugging in self-hosted workers for something like Github Actions. You run a Kubernetes cluster (which can just be local Linux machine if you want) and this is where all the data processing and computation happens. Your data is never sent to us. The final part is knowledge. Out of the box, coding assistants generally put NLP solutions in the too-hard basket, and suggest just using an LLM with some in-context learning. They won’t suggest doing annotation, and they don’t know how to structure a project. A little bit of correction goes a long way on this. We’ve built a knowledge base with our 10+ years of advice, across our forums, talks, blog posts and documentation. Alongside some carefully designed skills, you can use Ellf to plan out your project, and it will do a much better job of recommending you approaches than a coding assistant will do by default. We’re opening registrations for Ellf next week, but if you’ve read this far, you can get early access with the invite code HONNIBAL-TWITTER on app(dot)ellf(dot)ai . I’ve been pretty down on this platform for some time now so I want to see whether I should suck it up and post here more.
14
8
1
60
4,609
Claude code has this command, 'claude setup-token', that takes no arguments. It prints an oauth token with 1 year expiry to your terminal in coloured text. There is no command or publicly documented API to revoke this token, you can only do that from the web. Wtf?
1
7
1,894
Did anyone else not know about double esc to undo context in Claude Code?! When it messes up you can just roll back the context and code. This makes history shorter and I'm building a better feel for what sorts of instructions work well
8
873
Open-source packages should avoid making any public repo a GitHub Trusted Publisher, and should avoid any automatic publication trigger from a public repo. Have the public repo make a release with the artifacts attached, then manually trigger a workflow on a private repo to publish.
1
1
7
1,362
claude -p lets you execute Claude as a single command. This is nice for workflows that need intelligence for one step but need privileges for a different step. For instance you can get Claude to generate release notes or PR text, then deterministically make the PR or release, without giving Claude write permissions to your Github.
1
1
7
1,039
You can't expect instructions like "Every line should do one thing" in an AGENTS.md to work. You need multiple passes. Trying to front-load all the style advice is like setting a really high learning rate. The space of possible code solutions is very large. Rather than trying to get there in one step, it's better to make lots of little steps that reliably iteratively improve the solution.
Replying to @RhysSullivan
I'm not very happy with the code quality and I think agents bloat abstractions, have poor code aesthetics, are very prone to copy pasting code blocks and it's a mess, but at this point I stopped fighting it too hard and just moved on. The agents do not listen to my instructions in the AGENTS.md files. E.g. just as one example, no matter how many times I say something like: "Every line of code should do exactly one thing and use intermediate variables as a form of documentation" They will still "multitask" and create complex constructs where one line of code calls 2 functions and then indexes an array with the result. I think in principle I could use hooks or slash commands to clean this up but at some point just a shrug is easier. Yes I think LLM as a judge for soft rewards is in principle and long term slightly problematic (due to goodharting concerns), but in practice and for now I don't think we've picked the low hanging fruit yet here.
11
8
2
92
17,944
I also think it's interesting that @karpathy 's style preference seems quite different from my own! I actually prefer complex lines a lot of the time, because the intermediate variables introduce more free choices and spread things out more. I have to look to see if the variable is reused later. Obviously there's a limit and dense lines are often pretty bad in ML code, but I definitely wouldn't have a "one op per line" rule in my style guide.
1
10
1,167
Matthew Honnibal retweeted
We spent years debating superintelligence and the singularity. The actual threat is a prompt injection in a Markdown file that nobody bothered to sanitize because the vibe was "go fast." Great read from @honnibal honnibal.dev/blog/clownpocal…
1
4
438
How come @AnthropicAI can't even reply to an issue like this? github.com/anthropics/claude… The issue claims that the per-domain permissions on their Claude-in-Chrome plugin can be bypassed on disk. This means that if Claude has access to write to this file (under your username, in your home directory), it has permission to bypass the only permission boundary allowing full take-over of your browser for any site that isn't on their explicit block list (financial institutions etc). It's not reasonable to rely on the model's decisions as a security model. The binary question is, what could the agent do if some input text convinced it to? And if you install the Claude-in-Chrome plugin, the answer is "take over your whole browser, with all your logged in sessions". It's very irresponsible to be shipping this stuff and pushing it as a default, while being absolutely nowhere on security . My Claude had the Chrome MCP server on by default, and then it tries to use it and complains that the plugin isn't installed.
It's insane that @AnthropicAI shipped the Claude-in-Chrome integration as a default. The only actual security boundary is per-domain, once you've allowed it to access a domain it can do anything. If you're building a web app just get it to generate a Playwright-based MCP tool
1
5
1,118
It's insane that @AnthropicAI shipped the Claude-in-Chrome integration as a default. The only actual security boundary is per-domain, once you've allowed it to access a domain it can do anything. If you're building a web app just get it to generate a Playwright-based MCP tool
2
1
7
2,154