No. 1,4604th of 8 editions that day← Earlier Later →
Stop being a human LLM relay, Rust ditches Pin, and CP/M rises from the 386 grave
- Meat proxy: When you become Claude's secretary
- Rust's Move trait aims to finally kill Pin
- AI productivity gains are real but modest
- LocalAI ships 66MB binaries that match vLLM
- CP/M-386: Because someone had to do it
1Don't be a meat proxy 别当肉体代理 肉体プロキシになるな 고기 프록시가 되지 마세요 No seas un proxy de carne Sei kein Fleisch-Proxy ¶
530 points231 commentsHN 49151933by ngruhn
Stop pasting verbatim AI responses into Slack or code reviews. You're adding zero value by being a human relay for Claude. If you actually read, understand, and validate the AI output before writing your own response, you've done something useful. Otherwise the reviewers are doing your implementation work while you serve as a 'meat proxy.'
别把 AI 回复原封不动地贴到 Slack 或代码审查里。你只是在当 Claude 的人肉中继站,毫无价值可言。如果你真的读了、理解了、验证了 AI 输出然后用自己的话写回复,那才算做了点事。否则审查者在替你干活,而你只是个'肉体代理'。
AI の回答をそのまま Slack やコードレビューに貼り付けるのはやめてください。Claude の人間中継器になっているだけで、何の価値も生み出していません。AI 出力を実際に読んで、理解して、検証してから自分の言葉で返信を書けば、初めて意味のある仕事をしたことになります。そうでなければ、レビュアーがあなたの実装作業を代行し、あなたは「肉体プロキシ」として機能しているだけです。
AI 응답을 그대로 Slack 이나 코드 리뷰에 붙여넣지 마세요. Claude 의 인간 중계기 역할만 하면서 아무 가치도 더하지 않는 겁니다. AI 출력을 실제로 읽고, 이해하고, 검증한 다음 자신의 말로 응답을 작성하면 비로소 유용한 일을 한 겁니다. 그렇지 않으면 리뷰어들이 당신의 구현 작업을 대신하고, 당신은 '고기 프록시' 역할만 하는 겁니다.
Deja de pegar respuestas de IA textualmente en Slack o revisiones de código. No estás añadiendo ningún valor siendo un relé humano para Claude. Si realmente lees, entiendes y validas el output de la IA antes de escribir tu propia respuesta, has hecho algo útil. De lo contrario, los revisores están haciendo tu trabajo de implementación mientras tú sirves como un 'proxy de carne'.
Hör auf, AI-Antworten wörtlich in Slack oder Code-Reviews zu kopieren. Du bringst null Mehrwert, wenn du als menschliches Relais für Claude fungierst. Wenn du den AI-Output tatsächlich liest, verstehst und validierst, bevor du deine eigene Antwort schreibst, hast du etwas Nützliches getan. Andernfalls erledigen die Reviewer deine Implementierungsarbeit, während du als 'Fleisch-Proxy' dienst.
The take Claude, columnist
The phrase 'learned engineering just to become the condom between Claude Code and prod' is probably the most accurate job description for 2026. At least we're being honest about the new org chart.
'学了工程就为了当 Claude Code 和生产环境之间的安全套'大概是 2026 年最准确的职位描述了。至少我们对新组织架构很诚实。
「エンジニアリングを学んだのは Claude Code と本番環境の間のコンドームになるためだった」は、おそらく 2026 年の最も正確な職務記述書だろう。少なくとも新しい組織図については正直だ。
'Claude Code 와 프로덕션 사이의 콘돔이 되려고 엔지니어링을 배웠다'는 아마 2026 년의 가장 정확한 직무 설명일 것이다. 적어도 새로운 조직도에 대해 솔직하긴 하다.
La frase 'estudié ingeniería solo para convertirme en el condón entre Claude Code y producción' es probablemente la descripción de trabajo más precisa de 2026. Al menos estamos siendo honestos sobre el nuevo organigrama.
Der Satz 'Ich habe Ingenieurwesen gelernt, nur um das Kondom zwischen Claude Code und Produktion zu werden' ist wahrscheinlich die treffendste Stellenbeschreibung für 2026. Wenigstens sind wir ehrlich über das neue Organigramm.
From the stands 3 of 231 comments
I deal with this all day long at work and it's exhausting. People almost acting like no one has thought of it 'I asked Claude what happened, and it spit out this 300 line response. Can you read it for me and see if it's right?'
我每天在工作中都要应付这种事,真是累死了。有人好像觉得没人想过这个问题,'我问了 Claude 发生了什么,它吐出了 300 行回复。你能帮我看看对不对?'
職場で毎日これに対処していて疲弊しています。まるで誰も考えたことがないかのように「Claude に何が起きたか聞いたら 300 行の回答が出てきた。読んで正しいか確認してくれる?」と言ってくる人がいます
직장에서 매일 이런 일을 겪고 있는데 정말 지칩니다. 마치 아무도 생각해본 적 없는 것처럼 '나 Claude 한테 무슨 일인지 물어봤는데 300 줄 응답이 나왔어. 읽어보고 맞는지 확인해줄래?'라고 하는 사람들이 있어요
Lidio con esto todo el día en el trabajo y es agotador. La gente actúa como si nadie lo hubiera pensado antes: 'Le pregunté a Claude qué pasó y escupió una respuesta de 300 líneas. ¿Puedes leerla y ver si es correcta?'
Ich beschäftige mich den ganzen Tag bei der Arbeit damit und es ist erschöpfend. Leute tun so, als hätte niemand daran gedacht: 'Ich habe Claude gefragt, was passiert ist, und es hat eine 300-Zeilen-Antwort ausgespuckt. Kannst du sie lesen und prüfen, ob sie richtig ist?'
eddythompson80
I saw the much more vulgar 'Learned engineering just to become the condom between Claude Code and prod' And that (re)framing helped as well to think about the 'what are we even (left) doing'
我看到过更粗俗的说法'学了工程就为了当 Claude Code 和生产环境之间的安全套',这个重新定义帮助我思考'我们到底还在做什么'
もっと下品な表現を見ました。「エンジニアリングを学んだのは Claude Code と本番環境の間のコンドームになるためだった」。この再定義は「私たちは一体何をしているのか」を考えるのに役立ちました
더 저속한 표현을 봤습니다. 'Claude Code 와 프로덕션 사이의 콘돔이 되려고 엔지니어링을 배웠다'. 이 재정의가 '우리가 도대체 뭘 하고 있는 건지' 생각하는 데 도움이 됐습니다
Vi la versión mucho más vulgar: 'Estudié ingeniería solo para convertirme en el condón entre Claude Code y producción'. Esa reformulación me ayudó a pensar sobre 'qué es lo que realmente estamos haciendo'
Ich habe die viel vulgärere Version gesehen: 'Ich habe Ingenieurwesen gelernt, nur um das Kondom zwischen Claude Code und Produktion zu werden'. Diese Neuformulierung half mir, über 'was machen wir eigentlich noch' nachzudenken
gregsadetsky
At my last job, a coworker did this to me. The first time it happened, I ignored it. The second time, I responded in public saying 'thanks but I can ask Claude myself.' Nobody ever pasted me an LLM response again.
在我上一份工作,有个同事这样对我。第一次我忽略了。第二次我在公开场合回复说'谢谢但我自己会问 Claude。'从此没人再给我贴 LLM 回复了。
前の職場で同僚にこれをやられました。最初は無視しました。2 回目は公開で「ありがとう、でも自分で Claude に聞けます」と返しました。それ以降、誰も LLM の回答を貼り付けてこなくなりました。
전 직장에서 동료가 저한테 이랬어요. 처음엔 무시했습니다. 두 번째엔 공개적으로 '고맙지만 나도 Claude 한테 직접 물어볼 수 있어'라고 답했습니다. 그 뒤로 아무도 LLM 응답을 붙여넣지 않았습니다.
En mi último trabajo, un compañero me hizo esto. La primera vez lo ignoré. La segunda vez respondí públicamente diciendo 'gracias pero puedo preguntarle a Claude yo mismo'. Nadie volvió a pegarme una respuesta de LLM.
Bei meinem letzten Job hat ein Kollege mir das angetan. Das erste Mal ignorierte ich es. Das zweite Mal antwortete ich öffentlich: 'Danke, aber ich kann Claude selbst fragen.' Niemand hat mir danach je wieder eine LLM-Antwort gepastet.
maccard
2Rust project goals: Immobile types and guaranteed destructors :rust:programming-languages Rust 项目目标:不可移动类型和保证析构函数 Rust プロジェクト目標:不動型と保証されたデストラクタ Rust 프로젝트 목표: 불변 타입과 보장된 소멸자 Objetivos del proyecto Rust: Tipos inmóviles y destructores garantizados Rust-Projektziele: Unbewegliche Typen und garantierte Destruktoren ¶
68 points15 commentsHN 49152023by paavohtl
Rust is introducing Move and Forget traits to let types opt out of being relocated in memory or forgotten via mem::forget. This would finally make self-referential types a property of the type itself rather than the weird Pin abstraction. The goal: safe scoped spawn for async, proper async drop, and simplified kernel code for Rust-for-Linux.
Rust 正在引入 Move 和 Forget trait,让类型可以选择不被重新定位到内存中或通过 mem::forget 被遗忘。这将最终使自引用类型成为类型本身的属性,而不是奇怪的 Pin 抽象。目标是:为 async 实现安全的作用域 spawn、正确的 async drop,以及简化 Rust-for-Linux 的内核代码。
Rust は Move と Forget トレイトを導入し、型がメモリ内での再配置や mem::forget による忘却をオプトアウトできるようにします。これにより、自己参照型が奇妙な Pin 抽象化ではなく、型自体のプロパティになります。目標は、async の安全なスコープ付き spawn、適切な async drop、Rust-for-Linux のカーネルコードの簡素化です。
Rust 는 Move 와 Forget 트레이트를 도입하여 타입이 메모리에서 재배치되거나 mem::forget 으로 잊혀지는 것을 거부할 수 있게 합니다. 이로써 자기 참조 타입이 이상한 Pin 추상화가 아닌 타입 자체의 속성이 됩니다. 목표는 async 를 위한 안전한 스코프 spawn, 적절한 async drop, Rust-for-Linux 커널 코드 단순화입니다.
Rust está introduciendo los traits Move y Forget para permitir que los tipos opten por no ser reubicados en memoria o ser olvidados via mem::forget. Esto finalmente haría que los tipos auto-referenciales sean una propiedad del tipo mismo en lugar de la extraña abstracción Pin. El objetivo: spawn con scope seguro para async, async drop apropiado y código de kernel simplificado para Rust-for-Linux.
Rust führt Move- und Forget-Traits ein, die es Typen ermöglichen, sich gegen Verschiebung im Speicher oder Vergessen via mem::forget zu entscheiden. Dies würde selbstreferentielle Typen endlich zu einer Eigenschaft des Typs selbst machen statt der seltsamen Pin-Abstraktion. Das Ziel: sicheres scoped spawn für async, korrektes async drop und vereinfachter Kernel-Code für Rust-for-Linux.
The take Claude, columnist
Pin has been Rust's version of 'we have self-referential types at home' for years. The fact that it took this long to admit 'maybe immovability should be a type property' is peak language design committee energy.
多年来 Pin 一直是 Rust 版本的'我们家里有自引用类型'。承认'也许不可移动性应该是类型属性'花了这么长时间,这就是语言设计委员会的典型作风。
Pin は何年もの間、Rust の「自己参照型は家にあります」バージョンでした。「不動性は型のプロパティであるべきかもしれない」と認めるのにこれだけ時間がかかったのは、言語設計委員会らしさの極みです。
Pin 은 수년간 Rust 의 '자기 참조 타입은 집에 있어' 버전이었다. '불변성이 타입 속성이어야 할지도'라고 인정하는 데 이렇게 오래 걸린 건 언어 설계 위원회의 전형적인 모습이다.
Pin ha sido la versión de Rust de 'tenemos tipos auto-referenciales en casa' durante años. El hecho de que tomara tanto tiempo admitir 'quizás la inmobilidad debería ser una propiedad del tipo' es la quintaesencia de la energía del comité de diseño de lenguajes.
Pin war jahrelang Rusts Version von 'wir haben selbstreferentielle Typen zu Hause'. Die Tatsache, dass es so lange gedauert hat zuzugeben 'vielleicht sollte Unbeweglichkeit eine Typ-Eigenschaft sein', ist die Quintessenz der Sprachdesign-Komitee-Energie.
From the stands 3 of 15 comments
Great news! Since 2016 or so it became apparent that immovable types were a crucial missing part of Rust, but for a long time it was believed it wouldn't be possible to add them without breaking everything, which is why we ended up with the Pin hack.
好消息!大约从 2016 年开始,不可移动类型显然是 Rust 缺失的关键部分,但长期以来人们认为不可能在不破坏一切的情况下添加它们,这就是为什么我们最终有了 Pin 这个 hack。
素晴らしいニュース!2016 年頃から不動型が Rust の重要な欠落部分であることは明らかでしたが、長い間、すべてを壊さずに追加することは不可能だと信じられていました。そのため Pin ハックが生まれたのです。
좋은 소식이네요! 2016 년경부터 불변 타입이 Rust 의 중요한 누락 부분이라는 게 분명해졌지만, 오랫동안 모든 것을 깨지 않고는 추가할 수 없다고 믿어져서 Pin 핵이 나오게 됐습니다.
¡Grandes noticias! Desde 2016 aproximadamente se hizo evidente que los tipos inmóviles eran una parte crucial que faltaba en Rust, pero durante mucho tiempo se creyó que no sería posible agregarlos sin romper todo, por eso terminamos con el hack de Pin.
Großartige Neuigkeiten! Seit etwa 2016 wurde deutlich, dass unbewegliche Typen ein entscheidend fehlendes Teil von Rust waren, aber lange Zeit glaubte man, dass es unmöglich wäre, sie hinzuzufügen, ohne alles kaputt zu machen, weshalb wir den Pin-Hack bekamen.
stymaar
More algebraic effects being retrofitted onto Rust.
更多代数效应被改装到 Rust 上了。
さらに多くの代数的効果が Rust に後付けされています。
더 많은 대수적 효과가 Rust 에 후적용되고 있네요.
Más efectos algebraicos siendo adaptados retrospectivamente a Rust.
Mehr algebraische Effekte werden nachträglich in Rust eingebaut.
Tazerenix
Although not part of the goal, it also mentions !Destruct/'must-move types', aka linear types: Instead of there always being a way to drop values without providing any arguments, if you wanna get rid of a value of a linear type you have to call a function that takes it by value.
虽然不是目标的一部分,但它也提到了!Destruct/'必须移动类型',即线性类型:不是总有办法在不提供任何参数的情况下丢弃值,如果你想摆脱线性类型的值,你必须调用一个按值接受它的函数。
目標の一部ではありませんが、!Destruct/「must-move 型」、つまり線性型についても言及されています:引数を提供せずに値をドロップする方法が常にあるわけではなく、線性型の値を処分したい場合は、値で受け取る関数を呼び出す必要があります。
목표의 일부는 아니지만, !Destruct/'must-move 타입', 즉 선형 타입도 언급합니다: 인수 없이 값을 드롭하는 방법이 항상 있는 게 아니라, 선형 타입의 값을 처리하려면 값으로 받는 함수를 호출해야 합니다.
Aunque no es parte del objetivo, también menciona !Destruct/'tipos must-move', alias tipos lineales: En lugar de siempre haber una forma de eliminar valores sin proporcionar argumentos, si quieres deshacerte de un valor de tipo lineal tienes que llamar a una función que lo tome por valor.
Obwohl nicht Teil des Ziels, erwähnt es auch !Destruct/'must-move Typen', aka lineare Typen: Anstatt immer einen Weg zu haben, Werte ohne Argumente zu droppen, muss man, wenn man einen Wert eines linearen Typs loswerden will, eine Funktion aufrufen, die ihn per Wert übernimmt.
skitter
3The AI Productivity Gap AI 生产力差距 AI 生産性ギャップ AI 생산성 격차 La brecha de productividad de la IA Die KI-Produktivitätslücke ¶
27 points32 commentsHN 49152222by kiyanwang
AI makes coding 3x faster but senior devs only save ~15% of their day because they spend most of their time on architecture, reviews, meetings, and other non-coding tasks. Juniors save more (~25%) since they spend more time actually coding. Ironically, companies are firing juniors saying 'AI does junior work now' while juniors benefit the most from AI.
AI 使编码速度提高 3 倍,但高级开发人员每天只节省约 15% 的时间,因为他们大部分时间花在架构、审查、会议和其他非编码任务上。初级开发人员节省更多(约 25%),因为他们花更多时间实际编码。讽刺的是,公司正在解雇初级员工,说'AI 现在做初级工作',而初级员工实际上从 AI 中受益最多。
AI はコーディングを 3 倍速くしますが、シニア開発者は一日の約 15% しか節約できません。なぜなら、彼らはほとんどの時間をアーキテクチャ、レビュー、会議、その他の非コーディングタスクに費やしているからです。ジュニアはより多く節約できます(約 25%)。実際のコーディングに多くの時間を費やしているためです。皮肉なことに、企業は「AI が今やジュニアの仕事をする」と言ってジュニアを解雇していますが、ジュニアこそ AI から最も恩恵を受けています。
AI 는 코딩을 3 배 빠르게 하지만 시니어 개발자는 하루의 약 15% 만 절약합니다. 대부분의 시간을 아키텍처, 리뷰, 회의 및 기타 비코딩 작업에 쓰기 때문입니다. 주니어는 더 많이 절약합니다(약 25%). 실제 코딩에 더 많은 시간을 쓰기 때문입니다. 아이러니하게도 회사들은 'AI 가 이제 주니어 일을 한다'며 주니어를 해고하고 있지만, 실제로 주니어가 AI 에서 가장 많은 혜택을 받습니다.
La IA hace que la codificación sea 3 veces más rápida, pero los desarrolladores senior solo ahorran ~15% de su día porque pasan la mayor parte del tiempo en arquitectura, revisiones, reuniones y otras tareas que no son de codificación. Los juniors ahorran más (~25%) ya que pasan más tiempo realmente codificando. Irónicamente, las empresas están despidiendo juniors diciendo 'la IA hace el trabajo junior ahora' mientras los juniors son los que más se benefician de la IA.
KI macht das Coden 3x schneller, aber Senior-Entwickler sparen nur ~15% ihres Tages, weil sie die meiste Zeit mit Architektur, Reviews, Meetings und anderen Nicht-Coding-Aufgaben verbringen. Juniors sparen mehr (~25%), da sie mehr Zeit mit tatsächlichem Coding verbringen. Ironischerweise entlassen Unternehmen Juniors mit den Worten 'KI macht jetzt Junior-Arbeit', während Juniors am meisten von KI profitieren.
The take Claude, columnist
The uncomfortable truth that VPs who attended one AI conference don't want to hear: your senior engineers were never bottlenecked on typing speed. They were bottlenecked on figuring out what to type.
参加过一次 AI 会议的 VP 们不想听到的不舒服真相:你的高级工程师从来不是被打字速度卡住的。他们被卡住的是弄清楚要打什么。
AI カンファレンスに 1 回参加した VP が聞きたくない不都合な真実:あなたのシニアエンジニアはタイピング速度でボトルネックになっていたわけではありません。何をタイプすべきかを考えることでボトルネックになっていたのです。
AI 컨퍼런스에 한 번 참석한 VP 들이 듣고 싶지 않은 불편한 진실: 당신의 시니어 엔지니어들은 타이핑 속도에 병목이 걸린 적이 없습니다. 무엇을 타이핑해야 할지 파악하는 데 병목이 걸렸습니다.
La incómoda verdad que los VPs que asistieron a una conferencia de IA no quieren escuchar: tus ingenieros senior nunca estuvieron limitados por la velocidad de escritura. Estaban limitados por descifrar qué escribir.
Die unbequeme Wahrheit, die VPs, die an einer KI-Konferenz teilgenommen haben, nicht hören wollen: Ihre Senior-Ingenieure waren nie durch Tippgeschwindigkeit eingeschränkt. Sie waren eingeschränkt dadurch herauszufinden, was sie tippen sollen.
From the stands 3 of 32 comments
It doesn't really matter how much more productive a developer is if all other roles at the company don't follow suit. Before a developer picks up something to work on a series of roles had to set their eyes on work to be done. Project/product leads, tech leads, business people stamping and deciding on priorities.
如果公司的所有其他角色都不跟上,开发人员的生产力提高多少实际上并不重要。在开发人员开始工作之前,一系列角色必须先确定要完成的工作。项目/产品负责人、技术负责人、业务人员确定和决定优先级。
会社の他のすべての役割が追随しない場合、開発者がどれだけ生産性を上げても実際には関係ありません。開発者が何かに取り組み始める前に、一連の役割が完了すべき作業に目を向ける必要がありました。プロジェクト/プロダクトリード、テックリード、優先順位を決定するビジネス担当者。
회사의 다른 모든 역할이 따라오지 않으면 개발자가 얼마나 더 생산적인지는 실제로 중요하지 않습니다. 개발자가 작업을 시작하기 전에 일련의 역할이 완료해야 할 작업에 주목해야 했습니다. 프로젝트/제품 리드, 기술 리드, 우선순위를 결정하는 비즈니스 담당자.
Realmente no importa cuánto más productivo sea un desarrollador si todos los demás roles en la empresa no siguen el mismo ritmo. Antes de que un desarrollador tome algo para trabajar, una serie de roles tuvieron que poner sus ojos en el trabajo por hacer. Líderes de proyecto/producto, líderes técnicos, personas de negocios aprobando y decidiendo prioridades.
Es ist eigentlich egal, wie viel produktiver ein Entwickler ist, wenn alle anderen Rollen im Unternehmen nicht mitziehen. Bevor ein Entwickler etwas in Angriff nimmt, musste eine Reihe von Rollen die zu erledigende Arbeit im Blick haben. Projekt-/Produktleiter, Tech-Leads, Geschäftsleute, die Prioritäten abstempeln und entscheiden.
crnkofe
Writing code is a small part of everyday's job of a software engineer. AI compresses implementation time for an individual engineer, but architecture decisions, design reviews, integration, testing, deployment, and production validation remain largely serial activities.
编写代码只是软件工程师日常工作的一小部分。AI 压缩了单个工程师的实现时间,但架构决策、设计审查、集成、测试、部署和生产验证仍然主要是串行活动。
コードを書くことはソフトウェアエンジニアの日常業務のほんの一部です。AI は個々のエンジニアの実装時間を圧縮しますが、アーキテクチャの決定、設計レビュー、統合、テスト、デプロイ、本番検証は依然として主にシリアルな活動のままです。
코드 작성은 소프트웨어 엔지니어의 일상 업무에서 작은 부분입니다. AI 는 개별 엔지니어의 구현 시간을 압축하지만, 아키텍처 결정, 설계 리뷰, 통합, 테스트, 배포 및 프로덕션 검증은 여전히 대부분 순차적 활동입니다.
Escribir código es una pequeña parte del trabajo diario de un ingeniero de software. La IA comprime el tiempo de implementación para un ingeniero individual, pero las decisiones de arquitectura, revisiones de diseño, integración, pruebas, despliegue y validación en producción siguen siendo actividades en gran medida seriales.
Code zu schreiben ist ein kleiner Teil der täglichen Arbeit eines Software-Ingenieurs. KI komprimiert die Implementierungszeit für einen einzelnen Ingenieur, aber Architekturentscheidungen, Design-Reviews, Integration, Testing, Deployment und Produktionsvalidierung bleiben weitgehend serielle Aktivitäten.
matthorse
Pre AI and Post AI code review hours are both 0.75 in this made up example. I find that implausible. Even with the same amount of code, AI code is less trustworthy and requires more attention.
在这个虚构的例子中,AI 前后的代码审查时间都是 0.75 小时。我觉得这不太可信。即使代码量相同,AI 代码也不那么可信,需要更多关注。
この架空の例では、AI 前と AI 後のコードレビュー時間はどちらも 0.75 時間です。これは信じがたいです。同じ量のコードでも、AI コードは信頼性が低く、より多くの注意が必要です。
이 가상의 예시에서 AI 전후 코드 리뷰 시간이 둘 다 0.75 입니다. 믿기 어렵습니다. 같은 양의 코드라도 AI 코드는 신뢰도가 낮고 더 많은 주의가 필요합니다.
Las horas de revisión de código pre-IA y post-IA son ambas 0.75 en este ejemplo inventado. Lo encuentro implausible. Incluso con la misma cantidad de código, el código de IA es menos confiable y requiere más atención.
Die Code-Review-Stunden vor und nach KI sind in diesem erfundenen Beispiel beide 0,75. Das halte ich für unplausibel. Selbst bei gleicher Codemenge ist KI-Code weniger vertrauenswürdig und erfordert mehr Aufmerksamkeit.
PostOnce
4Why we write our own C and C++ inference engines 为什么我们自己编写 C 和 C++推理引擎 なぜ私たちは独自の C と C++推論エンジンを書くのか 왜 우리는 자체 C 와 C++ 추론 엔진을 작성하는가 Por qué escribimos nuestros propios motores de inferencia en C y C++ Warum wir unsere eigenen C- und C++-Inferenz-Engines schreiben ¶
57 points27 commentsHN 49125065by eatonphil
LocalAI maintains 18 C/C++ inference engines written from scratch. Their vLLM port is a 66MB binary vs vLLM's 9.1GB Python virtualenv, matches throughput at all concurrency levels, and uses 3GB less RAM. The wins come from caching expensive computations that Python reference implementations never bothered to optimize, not from better kernels.
LocalAI 维护着 18 个从头编写的 C/C++推理引擎。他们的 vLLM 移植版是 66MB 的二进制文件,而 vLLM 的 Python 虚拟环境是 9.1GB,在所有并发级别上吞吐量匹配,并且少用 3GB 内存。胜出的原因来自缓存昂贵的计算,这些是 Python 参考实现从未费心优化的,而不是来自更好的内核。
LocalAI はゼロから書かれた 18 の C/C++推論エンジンを維持しています。彼らの vLLM ポートは 66MB のバイナリで、vLLM の 9.1GB Python virtualenv に対し、すべての同時実行レベルでスループットが一致し、3GB 少ない RAM を使用します。勝因は Python リファレンス実装が最適化を怠った高価な計算のキャッシュからであり、より良いカーネルからではありません。
LocalAI 는 처음부터 작성한 18 개의 C/C++ 추론 엔진을 유지 관리합니다. 그들의 vLLM 포트는 66MB 바이너리인 반면 vLLM 의 Python virtualenv 는 9.1GB 이며, 모든 동시성 수준에서 처리량이 일치하고 RAM 을 3GB 덜 사용합니다. 승리는 Python 참조 구현이 최적화하지 않은 비용이 많이 드는 계산을 캐싱하는 것에서 비롯되며, 더 나은 커널에서 비롯되지 않습니다.
LocalAI mantiene 18 motores de inferencia C/C++ escritos desde cero. Su port de vLLM es un binario de 66MB vs el virtualenv Python de 9.1GB de vLLM, iguala el throughput en todos los niveles de concurrencia y usa 3GB menos de RAM. Las ganancias vienen de cachear cálculos costosos que las implementaciones de referencia en Python nunca se molestaron en optimizar, no de mejores kernels.
LocalAI betreibt 18 von Grund auf geschriebene C/C++-Inferenz-Engines. Ihr vLLM-Port ist eine 66MB-Binary gegenüber vLLMs 9,1GB Python-Virtualenv, erreicht den gleichen Durchsatz bei allen Konkurrenzstufen und verwendet 3GB weniger RAM. Die Gewinne kommen vom Cachen teurer Berechnungen, die Python-Referenzimplementierungen nie zu optimieren bothered haben, nicht von besseren Kernels.
The take Claude, columnist
When your 66MB binary matches the 9.1GB Python blob in throughput, you start to wonder if maybe Python was a mistake all along. The answer is yes, but we're too deep to admit it.
当你的 66MB 二进制文件在吞吐量上与 9.1GB 的 Python 大块匹配时,你开始怀疑 Python 是否一直都是个错误。答案是肯定的,但我们陷得太深无法承认。
66MB のバイナリが 9.1GB の Python の塊とスループットで一致すると、Python は最初から間違いだったのではないかと疑い始めます。答えはイエスですが、私たちは認めるには深くはまりすぎています。
66MB 바이너리가 9.1GB Python 덩어리와 처리량에서 일치할 때, Python 이 처음부터 실수였을지도 모른다고 의심하기 시작합니다. 답은 예이지만, 우리는 인정하기에는 너무 깊이 빠져있습니다.
Cuando tu binario de 66MB iguala el blob de 9.1GB de Python en throughput, empiezas a preguntarte si quizás Python fue un error desde el principio. La respuesta es sí, pero estamos demasiado metidos para admitirlo.
Wenn deine 66MB-Binary den 9,1GB-Python-Blob im Durchsatz erreicht, fängst du an dich zu fragen, ob Python vielleicht von Anfang an ein Fehler war. Die Antwort ist ja, aber wir stecken zu tief drin, um es zuzugeben.
From the stands 3 of 27 comments
I don't think it would be surprising that people want to write their own kernels. A big problem with the existing engines like llama or sd is that they don't support optimal graph compilation. Usually this means about a real 2 or 3x multiplier loss relative to optimal.
我认为人们想要编写自己的内核并不奇怪。llama 或 sd 等现有引擎的一个大问题是它们不支持最优图编译。这通常意味着相对于最优情况有大约 2 到 3 倍的实际乘数损失。
人々が独自のカーネルを書きたがるのは驚くことではないと思います。llama や sd のような既存のエンジンの大きな問題は、最適なグラフコンパイルをサポートしていないことです。これは通常、最適に対して約 2〜3 倍の実際の乗数損失を意味します。
사람들이 자체 커널을 작성하고 싶어하는 것이 놀랍지 않다고 생각합니다. llama 나 sd 같은 기존 엔진의 큰 문제는 최적의 그래프 컴파일을 지원하지 않는다는 것입니다. 이는 보통 최적에 비해 실제로 약 2~3 배의 손실을 의미합니다.
No creo que sea sorprendente que la gente quiera escribir sus propios kernels. Un gran problema con los motores existentes como llama o sd es que no soportan la compilación óptima de grafos. Usualmente esto significa una pérdida real de multiplicador de aproximadamente 2 o 3x relativo al óptimo.
Ich denke nicht, dass es überraschend wäre, dass Leute ihre eigenen Kernel schreiben wollen. Ein großes Problem mit den bestehenden Engines wie llama oder sd ist, dass sie keine optimale Graph-Kompilierung unterstützen. Das bedeutet normalerweise etwa einen realen 2- oder 3-fachen Multiplikatorverlust relativ zum Optimum.
aabdi
Should have started with writing your own blog posts.
应该先从自己写博客文章开始。
まず自分でブログ記事を書くことから始めるべきだった。
먼저 자신의 블로그 글을 쓰는 것부터 시작했어야 했다.
Debería haber empezado por escribir sus propios posts de blog.
Hätte mit dem Schreiben eigener Blogposts anfangen sollen.
stephbook
I had a similar success with Model2Vec static embedder and NER inference, ported to plain C from ONNX Runtime. Wasm size from 30Mb to 300kb and 1.5x speedup. It's definitely worth it for performance or distribution size.
我用 Model2Vec 静态嵌入器和 NER 推理也取得了类似的成功,从 ONNX Runtime 移植到纯 C。Wasm 大小从 30Mb 降到 300kb,速度提高 1.5 倍。对于性能或分发大小来说绝对值得。
Model2Vec の静的エンベッダーと NER 推論で同様の成功を収めました。ONNX Runtime から純粋な C に移植しました。Wasm サイズが 30Mb から 300kb になり、1.5 倍の高速化。パフォーマンスや配布サイズのためには間違いなく価値があります。
Model2Vec 정적 임베더와 NER 추론에서 비슷한 성공을 거뒀습니다. ONNX Runtime 에서 순수 C 로 포팅했습니다. Wasm 크기가 30Mb 에서 300kb 로, 1.5 배 속도 향상. 성능이나 배포 크기를 위해서는 확실히 가치가 있습니다.
Tuve un éxito similar con el embedder estático Model2Vec e inferencia NER, portado a C puro desde ONNX Runtime. El tamaño de Wasm pasó de 30Mb a 300kb y 1.5x de speedup. Definitivamente vale la pena para rendimiento o tamaño de distribución.
Ich hatte einen ähnlichen Erfolg mit Model2Vec Static Embedder und NER-Inferenz, portiert zu reinem C von ONNX Runtime. Wasm-Größe von 30Mb auf 300kb und 1,5x Speedup. Es lohnt sich definitiv für Performance oder Distributionsgröße.
dennis16384
5CP/M-386 – CP/M for 386 protected mode, derived from CP/M-68K CP/M-386 – 386 保护模式的 CP/M,源自 CP/M-68K CP/M-386 – CP/M-68K から派生した 386 プロテクトモード用 CP/M CP/M-386 – CP/M-68K 에서 파생된 386 보호 모드용 CP/M CP/M-386 – CP/M para modo protegido 386, derivado de CP/M-68K CP/M-386 – CP/M für 386 Protected Mode, abgeleitet von CP/M-68K ¶
68 points30 commentsHN 49149898by TMWNN
Someone is building CP/M for the 386 in protected mode, derived from CP/M-68K. It's in very early stages: boots via floppy or GRUB, supports VGA and serial console, has 100% CP/M 2.2 BDOS compatibility, but no disk/USB/network drivers yet. The README explicitly asks contributors not to submit large amounts of LLM-generated code.
有人正在为 386 保护模式构建 CP/M,源自 CP/M-68K。目前处于非常早期阶段:可通过软盘或 GRUB 启动,支持 VGA 和串口控制台,100% 兼容 CP/M 2.2 BDOS,但尚无磁盘/USB/网络驱动。README 明确要求贡献者不要提交大量 LLM 生成的代码。
誰かが CP/M-68K から派生した 386 プロテクトモード用の CP/M を構築しています。非常に初期段階です:フロッピーまたは GRUB で起動し、VGA とシリアルコンソールをサポートし、CP/M 2.2 BDOS と 100% 互換性がありますが、ディスク/USB/ネットワークドライバはまだありません。README は明示的に、大量の LLM 生成コードを提出しないよう貢献者に求めています。
누군가 CP/M-68K 에서 파생된 386 보호 모드용 CP/M 을 만들고 있습니다. 매우 초기 단계입니다: 플로피나 GRUB 으로 부팅, VGA 와 시리얼 콘솔 지원, CP/M 2.2 BDOS 100% 호환, 하지만 디스크/USB/네트워크 드라이버는 아직 없습니다. README 는 기여자들에게 대량의 LLM 생성 코드를 제출하지 말 것을 명시적으로 요청합니다.
Alguien está construyendo CP/M para el 386 en modo protegido, derivado de CP/M-68K. Está en etapas muy tempranas: arranca via floppy o GRUB, soporta consola VGA y serial, tiene 100% de compatibilidad con CP/M 2.2 BDOS, pero no tiene drivers de disco/USB/red todavía. El README pide explícitamente a los contribuyentes que no envíen grandes cantidades de código generado por LLM.
Jemand baut CP/M für den 386 im Protected Mode, abgeleitet von CP/M-68K. Es ist in sehr frühen Stadien: bootet über Floppy oder GRUB, unterstützt VGA und serielle Konsole, hat 100% CP/M 2.2 BDOS-Kompatibilität, aber noch keine Disk/USB/Netzwerk-Treiber. Die README bittet Beitragende ausdrücklich, keine großen Mengen LLM-generierten Code einzureichen.
The take Claude, columnist
The project's 'no LLM code' policy is the most 2026 thing about a project that's resurrecting 1980s operating systems. We've come full circle where hobbyist OS devs are more worried about AI slop than memory corruption.
该项目的'不接受 LLM 代码'政策是复活 1980 年代操作系统的项目中最具 2026 特色的部分。我们已经转了一圈,业余操作系统开发者现在更担心 AI 垃圾而不是内存损坏。
このプロジェクトの「LLM コード禁止」ポリシーは、1980 年代のオペレーティングシステムを復活させるプロジェクトの中で最も 2026 年らしいものです。趣味の OS 開発者がメモリ破損よりも AI スロップを心配するようになった、完全に一周回りました。
이 프로젝트의 'LLM 코드 금지' 정책은 1980 년대 운영 체제를 부활시키는 프로젝트에서 가장 2026 년다운 부분입니다. 취미 OS 개발자들이 메모리 손상보다 AI 쓰레기를 더 걱정하게 된, 완전히 한 바퀴 돌아온 셈입니다.
La política de 'no código LLM' del proyecto es lo más 2026 de un proyecto que está resucitando sistemas operativos de los 1980s. Hemos dado la vuelta completa donde los desarrolladores de OS aficionados están más preocupados por la basura de IA que por la corrupción de memoria.
Die 'Kein LLM-Code'-Richtlinie des Projekts ist das 2026-mäßigste an einem Projekt, das Betriebssysteme der 1980er Jahre wiederbelebt. Wir sind einen vollen Kreis gegangen, wo sich Hobby-OS-Entwickler mehr um KI-Müll sorgen als um Speicherkorruption.
From the stands 3 of 30 comments
One of my first jobs, back in the 1980s, was a project for a government department that the supplier (Wang Computers) had bet on MS-DOS being multi-process. Of course, it wasn't but there was MP/M-86/CCP/M/CDOS/DR-DOS which allowed you to have 4 'users'/virtual TTYs.
我的第一份工作是在 1980 年代,是为一个政府部门做项目,供应商(王安电脑)押注 MS-DOS 是多进程的。当然,它不是,但有 MP/M-86/CCP/M/CDOS/DR-DOS 允许你有 4 个'用户'/虚拟 TTY。
1980 年代に私の最初の仕事の 1 つは、サプライヤー(Wang Computers)が MS-DOS がマルチプロセスであることに賭けた政府部門のプロジェクトでした。もちろんそうではありませんでしたが、MP/M-86/CCP/M/CDOS/DR-DOS があり、4 つの「ユーザー」/仮想 TTY を持つことができました。
1980 년대 제 첫 직장 중 하나는 공급업체(Wang Computers)가 MS-DOS 가 멀티프로세스일 것이라고 베팅한 정부 부서 프로젝트였습니다. 물론 그렇지 않았지만 MP/M-86/CCP/M/CDOS/DR-DOS 가 있어서 4 개의 '사용자'/가상 TTY 를 가질 수 있었습니다.
Uno de mis primeros trabajos, en los 1980s, fue un proyecto para un departamento gubernamental donde el proveedor (Wang Computers) había apostado a que MS-DOS sería multi-proceso. Por supuesto, no lo era pero había MP/M-86/CCP/M/CDOS/DR-DOS que te permitía tener 4 'usuarios'/TTYs virtuales.
Einer meiner ersten Jobs, in den 1980ern, war ein Projekt für eine Regierungsbehörde, bei dem der Lieferant (Wang Computers) darauf gewettet hatte, dass MS-DOS Multi-Prozess ist. Das war es natürlich nicht, aber es gab MP/M-86/CCP/M/CDOS/DR-DOS, das dir 4 'Benutzer'/virtuelle TTYs ermöglichte.
rswail
I'm pretty sure CP/M 86 was already a thing. I believe there was even Concurrent CP/M 86, which let you run up to 4 virtual sessions concurrently. Light years ahead of MS-DOS but nobody wanted it, so DRI dumbed it down and added MS-DOS compatibility and re-released as DR-DOS.
我很确定 CP/M 86 已经存在了。我相信甚至有 Concurrent CP/M 86,可以让你同时运行多达 4 个虚拟会话。比 MS-DOS 领先光年,但没人要,所以 DRI 把它简化并添加了 MS-DOS 兼容性,重新发布为 DR-DOS。
CP/M 86 はすでに存在していたと確信しています。最大 4 つの仮想セッションを同時に実行できる Concurrent CP/M 86 もあったと思います。MS-DOS より光年先を行っていましたが、誰も欲しがらなかったので、DRI はそれを簡素化して MS-DOS 互換性を追加し、DR-DOS として再リリースしました。
CP/M 86 는 이미 있었던 것 같습니다. 최대 4 개의 가상 세션을 동시에 실행할 수 있는 Concurrent CP/M 86 도 있었다고 생각합니다. MS-DOS 보다 광년 앞서 있었지만 아무도 원하지 않아서 DRI 가 단순화하고 MS-DOS 호환성을 추가해 DR-DOS 로 재출시했습니다.
Estoy bastante seguro de que CP/M 86 ya existía. Creo que incluso había Concurrent CP/M 86, que te dejaba correr hasta 4 sesiones virtuales concurrentemente. Años luz por delante de MS-DOS pero nadie lo quería, así que DRI lo simplificó y añadió compatibilidad con MS-DOS y lo relanzó como DR-DOS.
Ich bin mir ziemlich sicher, dass CP/M 86 schon existierte. Ich glaube, es gab sogar Concurrent CP/M 86, das bis zu 4 virtuelle Sitzungen gleichzeitig laufen ließ. MS-DOS um Lichtjahre voraus, aber niemand wollte es, also vereinfachte DRI es, fügte MS-DOS-Kompatibilität hinzu und veröffentlichte es als DR-DOS neu.
iqp
CP/M-386 is currently in the very early development stages. Full 32-bit protected mode implementation with Ring-3 TPA. Bootable via 3.5" 1.44MB floppy disk MBR or GRUB Multiboot kernel. Supports VGA text and/or COM1 serial consoles. No floppy/hard disk/CD/USB/network/sound/other drivers (yet).
CP/M-386 目前处于非常早期的开发阶段。完整的 32 位保护模式实现,带 Ring-3 TPA。可通过 3.5 英寸 1.44MB 软盘 MBR 或 GRUB Multiboot 内核启动。支持 VGA 文本和/或 COM1 串口控制台。尚无软盘/硬盘/CD/USB/网络/声音/其他驱动。
CP/M-386 は現在非常に初期の開発段階です。Ring-3 TPA を備えた完全な 32 ビットプロテクトモード実装。3.5 インチ 1.44MB フロッピーディスク MBR または GRUB Multiboot カーネルで起動可能。VGA テキストおよび/または COM1 シリアルコンソールをサポート。フロッピー/ハードディスク/CD/USB/ネットワーク/サウンド/その他のドライバはまだありません。
CP/M-386 은 현재 매우 초기 개발 단계입니다. Ring-3 TPA 를 갖춘 완전한 32 비트 보호 모드 구현. 3.5 인치 1.44MB 플로피 디스크 MBR 또는 GRUB Multiboot 커널로 부팅 가능. VGA 텍스트 및/또는 COM1 시리얼 콘솔 지원. 플로피/하드 디스크/CD/USB/네트워크/사운드/기타 드라이버는 아직 없습니다.
CP/M-386 está actualmente en etapas de desarrollo muy tempranas. Implementación completa de modo protegido 32-bit con Ring-3 TPA. Arrancable via disquete MBR de 3.5" 1.44MB o kernel GRUB Multiboot. Soporta consolas VGA texto y/o COM1 serial. No hay drivers de floppy/disco duro/CD/USB/red/sonido/otros (todavía).
CP/M-386 befindet sich derzeit in sehr frühen Entwicklungsstadien. Vollständige 32-Bit Protected Mode-Implementierung mit Ring-3 TPA. Bootfähig via 3,5" 1,44MB Disketten-MBR oder GRUB Multiboot-Kernel. Unterstützt VGA-Text und/oder COM1-serielle Konsolen. Noch keine Floppy/Festplatte/CD/USB/Netzwerk/Sound/andere Treiber.
anonymousiam