MurphyA/hacker-news huggingface dataset:
Show HN: AgentSilex – Transparent agent framework you can read in 30 minutes
by howlanderson | 2025-11-10 23:21:53+00:00
Hi HN,

I built AgentSilex because I was frustrated trying to debug and customize existing agent frameworks. When something went wrong, I'd spend hours digging through thousands of lines of abstraction layers.

AgentSilex is different: the core is ~300 lines of readable Python. You can actually understand how your agents work.

Quick example - a working agent in 20 lines:

from agentsilex import Agent, Runner, Session, tool @tool def get_weather(city: str) -> str: return "SUNNY" agent = Agent( name="Assistant", model="gpt-4o-mini", # or any LLM via LiteLLM instructions="Help with weather info", tools=[get_weather] ) result = Runner(Session()).run(agent, "What's the weather in Paris?")

Features: - Multi-agent handoffs - Streaming responses - MCP protocol support - Built-in OpenTelemetry tracing - Works with 100+ LLMs (OpenAI, Anthropic, DeepSeek, Gemini, local models, etc.)

It's designed for: - Developers who want to understand agent internals - Companies needing a customizable foundation - Anyone learning how LLM agents actually work

The trade-off: minimal built-in tools. You'll write more glue code, but you'll know exactly what your system is doing.

I'd love feedback on: - Is the API intuitive? - What use cases am I missing? - Would you actually use this over existing frameworks?

pip install agentsilex

GitHub: https://github.com/howl-anderson/agentsilex

Looking forward to your thoughts!
by rogerrogerr | 2025-11-10 23:22:02+00:00
Yep - the US is bad at fighting insurgencies, but a state military? Over in days. This does not materially change between Canada’s current military vs 5x their current military.

But fighting pissed-off indigenous Canadians? I wouldn’t sign up for that part.

None of this is relevant because the US does not want to own Canada.
by protocolture | 2025-11-10 23:22:36+00:00
This amuses me.

Consumers have long wanted a single place to access all content. Netflix was probably the closest that ever got, and even then it had regional difficulties. As competitors rose, they stopped licensing their content to netflix, and netflix is now arguably just another face in the crowd.

Now they want to go and leverage AI to produce more content and bam, stung by the same bee. No one is going to license their content for training, if the results of that training will be used in perpetuity. They will want a permanent cut. Which means they either need to support fair use, or more likely, they will all put up a big wall and suck eggs.
by abstractanimal | 2025-11-10 23:22:47+00:00
What you're describing is what's known as an "end to end" model that takes in image pixels and outputs steering and throttle commands. What happens in an AV is that a bunch of ML models produce input for software written by human engineers, and so the output doesn't come from an entirely ML system, it's a mix of engineered and trained components for various identifiable tasks (perception, planning, prediction, controls).
by pron | 2025-11-10 23:23:00+00:00
> Rust is a very good middle ground: it's a complex language, but there's lot of room for improving its ergonomics.

I certainly agree Rust is a much better middle ground than either C or ATS. But so is Zig. What's harder to support objectively is that Rust is a better middle ground than Zig (or vice-versa). We just don't know! They both make different tradeoffs that we can't objectively rule on.

So all I'm saying is that we're left with subjective preferences, and that's fine, because that's all we have! So let's stick to saying "I like Rust's design better" or "I like Zig's design better", and stop trying to come up with objective reasons that are just not well-founded.

At the very least, people should stop comparing Zig to C as part of an argument that claims Rust is good because it prevents the vulnerabilities associated with memory-safety violations, as Zig prevents the most dangerous of those, too.
by in-silico | 2025-11-10 23:24:17+00:00
Genie 3 (at a prototype level) achieves the goal she describes: a controllable world model with consistency and realistic physics. Its sibling Veo 3 even demonstrates some [spatial problem-solving ability](https://video-zero-shot.github.io/). Genie and Veo are definitely closer to her vision than anything World Labs has released publicly.

However, she does not mention Google's models at all. This omission makes the blog feel very much like an ad for her company rather than a good-faith guide for the field.
by justingrosvenor | 2025-11-10 23:24:18+00:00
Ok so my doubts about overfitting have been bothering me all day since I made this post so I had to go back and do some more testing.

After expanding the data set, I'm happy to say that the results are still very good. It's interesting how almost perfect results can feel so much better than perfect.

Trend Expanded (16 samples - meme language, POV format) - ROC-AUC: 1.0000 - Accuracy: 100%, F1: 1.0000 - The model perfectly handles trending slang and meme formats Crisis Expanded (16 samples - serious issues, safety concerns) - ROC-AUC: 1.0000 - Accuracy: 93.75%, F1: 0.9412 - 1 false positive on crisis handling, but perfect discrimination Mixed (20 samples - cross-category blends) - ROC-AUC: 1.0000 - Accuracy: 100%, F1: 1.0000 - Handles multi-faceted scenarios perfectly Edge Cases (20 samples - employment, allergens, sustainability) - ROC-AUC: 0.8600 - Accuracy: 75%, F1: 0.6667 - Conservative behavior: 100% precision but 50% recall - Misses some on-brand responses in nuanced situations Overall Performance (72 holdout samples): - ROC-AUC: 0.9611 - Accuracy: 91.67% - F1: 0.8943 Key Takeaways: 1. No overfitting detected - The model generalizes excellently to completely new scenarios (0.96 ROC-AUC on holdout vs 1.0 on validation) 2. Edge cases are appropriately harder - Employment questions, allergen safety, and policy questions show 0.86 ROC-AUC, which is expected for these nuanced cases 3. Conservative bias is good - The model has perfect precision (no false positives) but misses some true positives in edge cases. This is better than being over-confident. 4. Training data diversity paid off - Perfect performance on memes, crisis handling, and mixed scenarios suggests the calibration captured the right patterns
by palmotea | 2025-11-10 23:24:54+00:00
All that is assuming a limited nuclear exchange is possible, without further nuclear escalation. I find that pretty unbelievable.

> One Soviet war plan that was made available to Western scholars in the 1990s anticipated this invasion of Northern Europe (with conventional forces) starting immediately after the Soviets make a large nuclear strike on Western Europe. Note that tanks crew are basically immune to nuclear fallout provided they are trained to operate in fallout.... This particular plan avoided any attack on Britain or France (and I presume also the US) to make it less likely that Britain and France will choose to use its nukes on the USSR, but hits West Germany, the low countries and NATO airbases in northern Italy really hard to soften them up for the invasion by tanks. In summary, the plan was to grab territory, then dare NATO to take it back or to nuke the USSR in retaliation.

If the USSR nuked non-nuclear NATO, they just assumed their opponents wouldn't retaliate with nukes at all? At a minimum I'd expect the Warsaw Pact countries would have gotten nuked in retaliation. And, IIRC, NATO planners anticipated an attack along these lines, and had nukes lined up to directly target the attacking communist military formations (so those formations wouldn't just be dealing with fallout).

> I heard years ago from some expert that if the US ever decided that China must be suppressed as much as possible by military means, it would be foolish to try to capture the whole country (i.e., it is too big and too populous for the US to try to do what it did to Japan at the end of WWII) so capturing and occupying its ports (which of course the Western powers held collectively for decades in the past) would be the likely military goal.

It's a completely unrealistic goal. If China hasn't been nuked to oblivion, I don't think the US could ever dream to hold its ports against a counterattack (especially given China's rate of modernization and sheer industrial capacity). If China has been nuked to oblivion, the US would almost certainly be wrecked as well, and in no state to send over anyone to hold Chinese ports.

> (which of course the Western powers held collectively for decades in the past)

That was a loooong time ago, when China was basically at a pre-modern technology level and comparatively extremely weak. That's not the case anymore, and China is now arguably the more powerful country (in the ways that matter to such a conflict) than the US.
by tavavex | 2025-11-10 23:25:12+00:00
Did you manage to get out of it? Do you have any advice? I just finished my undergrad recently, and I'm scared of aging out of the relevance of my degree if I don't manage to secure a "real" job in a year or two. At that point, my options will be to continue desperately trying to get into absolutely anything in tech, or get some other job while pivoting from CS entirely.
by alyxya | 2025-11-10 23:25:14+00:00
There's a difference between what a model is trained on and the inductive biases a model uses to generalize. It isn't as simple as saying training natively on everything. All existing models have certain things they generalize better and certain things they don't generalize due to their model architecture, and the architecture of world models I've seen don't seem as capable of universally generalizing as LLMs.
by andyferris | 2025-11-10 23:25:15+00:00
> I hope they add some POSIXy stuff to it

Are you aware of WASI? WASI preview 1 provides a portable POSIXy interfance, while WASI preview 2 is a more complex platform abstraction beast.

(Keeping the platform separate from the assembly is normal and good - but having a common denominator platform like POSIX is also useful).
by cjbenedikt | 2025-11-10 23:25:35+00:00
I can think of quite a few people right now who should take the below words to heart. Not looking at anybody, Elon and Donald, but...

"Greatness does not come about through accumulating great amounts of money, great amounts of publicity or great power in government. When you help someone in any of thousands of ways, you help the world. Kindness is costless but also priceless. Whether you are religious or not, it’s hard to beat The Golden Rule as a guide to behavior.

I write this as one who has been thoughtless countless times and made many mistakes but also became very lucky in learning from some wonderful friends how to behave better (still a long way from perfect, however). Keep in mind that the cleaning lady is as much a human being as the Chairman."
by samdoesnothing | 2025-11-10 23:25:40+00:00
Skepticism of an absolutist binary take on memory safety is not the same as skepticism of memory safety in general and it's important to distinguish the two.

It's like saying that people skeptical of formal verification are actually skeptical of eliminating bugs. Most people are not skeptical of eliminating bugs, but they might be skeptical of extreme approaches to do so.
by beefnugs | 2025-11-10 23:26:01+00:00
Once again no one is capable of coming up with a good analogy: the analogy here would be that someone comes up with occasional exploding electrical lights that sometimes create black holes to suck up all the surrounding light for a block, and then really work as intended under 60% of the time. But the city rushes to implement as recklessly and quickly as possible because promises and lies. Also the whole time its happening they keep saying not a single gas-lighter will lose their job because the blackholes need to be fed human flesh sometimes... so we will get them to do that
by at_compile_time | 2025-11-10 23:26:12+00:00
Rust's real superpower is its tooling. Cargo handles package management, building, testing, documentation, and publishing. The compiler's errors explain what went wrong and where it happened. Installing the toolchain with rustup is quick and painless, even on Windows. I can't know that it's best in class, but it's certainly the best I've used.

I can see another language having a more expressive type system, I've come up against the limitations of Rust's type system more than once, but the tradeoff isn't worth it if I have to go 20 years back in time in terms of tooling.
by xdennis | 2025-11-10 23:27:00+00:00
I agree with GP, but from the opposite perspective.

ICE doing a good job of removing illegal aliens ("acting like SS" in GP's parlance) will trigger the next democratic president to relax border enforcement. This is what happened with Biden. He let in 7.2 million migrants [1].

There's no way for Trump to deport 7.2 million people in 4 years. Pro-illegal immigration presidents are always at an advantage.

Trump's strict (and good) policies might trigger the next democratic president to just blanket pardon all illegal aliens, and the next republican president can't do anything about it.

[1]: https://www.snopes.com/fact-check/million-migrants-border-bi...
by jbs789 | 2025-11-10 23:27:26+00:00
I enjoyed reading this.

If we think about applicability to AI (as the footnote suggests was on the authors mind)… I found myself thinking about the motivations and incentives that existed at the time, to understand why.

Ships - my read is that major naval powers essentially reduced the downside to owners of ships (making them responsible) while giving the owners salvage rights (“curing” the problem of a wreck which may be an impediment to the passage). That seems to make sense if you put your “I’m a shipowner” hat on. Balanced by the governments also saying if your ship sunk and someone else recovers it, they get some cut bc hey, you didn’t recover it.

And the others seem largely about modern governments appeasing religious and indigenous groups. And it’s interesting that this acknowledgement seems to be part of a broader solution (Trust, ongoing governance etc)

The first seems more financially motivated (capping downside and clearing shipwrecks). The latter seems more about protecting a natural resource/asset.

So then you think about who is leading AI and what their incentives may be… Convenient that we do have modern companies that limit liability, do you just use that structure (as they are) or do they seek to go further and say this Agent or LLM is its own thing, as as a company I’m not responsible for it.

maybe that is convenient for the companies, and the gov in the countries leading the charge…? Looks more like ships than rivers..?
by scoofy | 2025-11-10 23:27:36+00:00
>Here in IL, state and local officials cooperate to the extent required by law.

This is clearly false in regards to most federal laws. To illustrate this, I'll take an exceptional example. If there where a serial killer who was living in IL, but had only killed anyone in other states, I suspect that IL government would likely go out of their way to assist the Feds in apprehending this killer, even though this is not required by state law.

IL would likely do the same for many, if not most, federal laws. The point of nullification is exactly when the state does not help when asked, still there are reasons for practical resources there, but it becomes very obvious nullification when the state passes laws preventing individuals who would LIKE to help, like local policed departments, from helping even if they wanted to. And this is exactly what has happened in many blue states.

Pretending that's not overt nullification is unserious.
by dboreham | 2025-11-10 23:27:38+00:00
All the west coast port cities (SF, Portland, Tacoma, Seattle, Vancouver) imho have always had a similar s.hole vibe. For most of the last 40 years SF was the worst. But now Seattle has the top place. Clearly complex issue with many causes but also clearly someone in SF did something to improve the situation and someone in Seattle didn't do that thing.
by kennykartman | 2025-11-10 23:27:39+00:00
I'm curious, do you have figures for this? I was not around when C or C++ were 10, but I was when python was and as a long time python user I would say that the pycommunity was much smaller at 10 then the rust community at 10. So my gut feeling is that your statement is false at least wrt python, but I'm happy to change my mind if you have sound data.

Edit: just to add some more anecdotal evidence from my memory of languages I used: java community was pretty bigger than rust at 10. Go's was much smaller than rust at 10. I'd be happy to check my beliefs against actual data :)
by pron | 2025-11-10 23:28:47+00:00
> This is arguable

That's not arguable. Because if we say that memory safety is important because it prevents some common and dangerous vulnerabilities, then Zig clearly prevents the most dangerous of those, while C doesn't.

> you can't prevent a program from inadvertently...

Now you're naming more problems that aren't as high on the list as the ones Zig does prevent (and C doesn't). It's true that type confusion is also rather high on the list, but Zig clearly reduces type confusion much more than C does.

Nobody denies that Rust prevents more issues than Zig via sound guarantees - albeit at what I think is a significant cost, and we can argue, subjectively, over whether those issues are worth that cost or not - but Zig's guarantees are still closer to Rust's than to C's if eliminating very common/dangerous vulnerabilities is what we're judging by.
by tavavex | 2025-11-10 23:29:00+00:00
> No one has seen anything like this before.

Seems to be kind of a running theme of the last few years, isn't it? I know some of these major upsets and changes to the way things are done have always been there in some ways, but it feels like there were never quite as many alarm bells ringing of unrelated existing systems catastrophically failing.

Everyone in my age group (early-mid 20s) is sure having a fun time right now.
by jchw | 2025-11-10 23:29:33+00:00
> It requires root access

If it didn't require root access... it would be a privilege escalation. I don't think that counts as a strike against it.

> isn't available in containers

Well, you can't apply it inside of (unprivileged) containers, but I think it does at least work as a backdoor inside of containers.

> can be checked for in a single location

Almost all of them can if you know where to look, though? The point here is that nobody checks for this. If I got pwned I would just light the box on fire and start anew but if I had no choice but to try to clean it up I would never guess about binfmt_misc as a way to regain root. It could go undetected for quite a long time, even if the original problem is patched, which could potentially happen without the administrators realizing the box was compromised.

> and doesn't survive a reboot.

Both this and the comment about containers makes me think you're thinking of modern infrastructure where you use containers and mostly-immutable or actually-immutable OS images, but I think this sort of mechanism is pretty squarely aimed at old-school pets-not-cattle infrastructure. I'd love to say all of my infrastructure is "modern" but sometimes modern infrastructure is just a bit overkill, so while I still would just burn everything down, I do have some infrastructure that is "oldschool". In this case, the threat of a reboot is pretty minuscule. Here, I will demonstrate from a real live server:

$ uptime 23:19:03 up 133 days 8:27, 1 user, load average: 0.53, 0.51, 0.49

Of course, I'm not gloating. I've had uptimes counted in years in the past, and I'm sure there are plenty of people here with more impressive uptimes (and probably a lot more unpatched vulnerabilities, lol.)

And the reason the uptime is so high is because the server is relatively important but there is no redundancy, so any updates have to be done as online as possible. In my case it's a matter of reducing costs.

If a box gets pwned I feel like you just need to reformat; and in my case I can, because I have backups and a way to reprovision everything again from scratch. I am going to guess, though, that there's literally tons of infrastructure out there where they don't have adequate backups or a way to reprovision the OS image from scratch.
by inciampati | 2025-11-10 23:29:35+00:00
Just had a fantastic experience applying agentic coding to CAD. I needed to add some threads to a few blanks in a 3d print. I used computational geometry to give the agent a way to "feel" around the model. I had it convolve a sphere of the radius of the connector across the entire model. It was able to use this technique to find the precise positions of the existing ports and then add threads to them. It took a few tries to get right, but if I had the technique in mind before it would be very quick. The lesson for me is that the models need to have a way to feel. In the end, the implementation of the 3d model had to be written in code, where it's auditable. Perhaps if the agent were able to see images directly and perfectly, I never would have made this discovery.
by notepad0x90 | 2025-11-10 23:29:58+00:00
No, it was Republicans (today) who used to be democrats in that era. parties are made up of people, it was the same people or their ideological inheritors. Many republicans today in congress (especially leadership) were of voting age in that era. a 20 year old in 1969 would be 75 today, younger than the current and former president.
by deathanatos | 2025-11-10 23:31:15+00:00
> Naively composing errors out of ADTs does pessimize the happy path. Error objects recursively composed out of enums tend to be big, which inflates size_of<Result<T, E>>, which pushes functions throughout the call stack to “return large structs through memory” ABI. Error virality is key here — just a single large error on however rare code path leads to worse code everywhere.

This isn't true; proof by counter-example: anyhow::Error.

For example, a lot of Rust code uses "anyhow", a crate which provides sort of a catch-all "anyhow::Error" type. Any other error can be put into an anyhow::Error, and an anyhow::Error is not good for much except displaying, and adding additional context to it. (For that reason, anyhow::Error is usually used at a high-level, where you don't care what specifically went wrong, b/c the only thing you'll use it for is propagation & display.)

No matter what error we put into an anyhow::Error, the stack size is 8 B. (Because it's a pointer to the error E, effectively, though in practice "it's a bit more complicated", but not in any way that harms the argument here.) So clearly, here, we can stuff as much context/data/etc. into the error type E without virally infecting the whole stack with a larger Result<T, E>.

(Rust does allow you to make E larger, and that can mean a Result<T, E> gets larger, yes. But you're one pointer away from moving that to the heap & fixing that. Rust, being a low level language, … permits you that / leaves that up to you. The stack space isn't free — as TFA points out, spilling registers has a cost — but nor are heap allocations free. Rust leaves it up to you, effectively.)

My understanding of Zig the other day is that it doesn't permit associated data at all, and errors are just integer error code, effectively, under the hood. This is a pretty sad state of affairs — I hate the classic unix problem where you get something like,

$ mkdir $P mkdir: no such file or directory

Which I now special path in the neurons in my head so-as to short circuit wandering the desert of "yeah, no such directory … that's why I'm asking you to create it". (And all other variations of this pattern.)

All of that could have been avoided if Unix had the ability to tell us what didn't exist. (And there are so many variants: what exists unexpectedly? what perm did we lack? what device failed I/O?)

(And I suppose you could make Result<T, E> special / known to the compiler, and it could implement stack unwinding specifically. I don't think that leave me with good vibes in the language design dept., and there are other types that have similar stack-propagating behavior to Result (Option, Poll, maybe someday a generator type). What about them?)