AI stream

AI Posts

A readable stream of AI posts. Open one post to focus on the original content.

This week
t
t_wada Unknown date Ai llm

@okuramasafumi retweeted わかりみがふかい iwashi / Yoshimasa Iwase @iwashi86 ざっくり、AIについて話すのはもう飽きたよ、というポストだった。・AIは非常に便利で生産性を高めてくれる道具・だが、それに関する議論ばかりが続く状況に退屈している・インターネット上の技術コミュニティがAIの話題に占拠され、かつてのような多様で独創的なプロジェクトが見当たらなくなった・流れてくる情報の多くが似たり寄ったりのワークフローやツールの設定話ばかりで、内容がマンネリ化している・以前はプロダクトの価値を重視するプロダクトエンジニアという考え方が主流だった・だが、今はまたツールという手段に執着する時代に戻ってしまった・今の状況は、木工職人が作った家具を見せるのではなく、皆が同じ金槌の使い方について大声で議論しているようなもの・AIはあくまでプログラミングを楽にするための高度な自動補完機能に過ぎず、それ自体が目的化していることに違和感がある・現場のマネジメント層までが実装の詳細であるAI活用に干渉し始め、本質的ではない指示が増えている・かつてのコードの行数による評価と同じように、トークンの消費量といった無意味な指標で開発者を測ろうとする動きがある・どんなツールを使ったかではなく、そのツールを使ってどのような素晴らしいものを作り上げたのかという話を聞きたい・コーディングや物作りの本来の目的は誰かのために価値を生み出すことであり、道具への執着はその目的を追いやっているhttps://t.co/m0KRDn62Y6 Posted Mar 26, 2026 at 12:34AM Posted Mar 27, 2026 at 8:33AM

Likes: 0 Reposts: 0 Views: 0
Score 10
i
iwashi86 Unknown date Ai llm

ざっくり、AIについて話すのはもう飽きたよ、というポストだった。・AIは非常に便利で生産性を高めてくれる道具・だが、それに関する議論ばかりが続く状況に退屈している・インターネット上の技術コミュニティがAIの話題に占拠され、かつてのような多様で独創的なプロジェクトが見当たらなくなった・流れてくる情報の多くが似たり寄ったりのワークフローやツールの設定話ばかりで、内容がマンネリ化している・以前はプロダクトの価値を重視するプロダクトエンジニアという考え方が主流だった・だが、今はまたツールという手段に執着する時代に戻ってしまった・今の状況は、木工職人が作った家具を見せるのではなく、皆が同じ金槌の使い方について大声で議論しているようなもの・AIはあくまでプログラミングを楽にするための高度な自動補完機能に過ぎず、それ自体が目的化していることに違和感がある・現場のマネジメント層までが実装の詳細であるAI活用に干渉し始め、本質的ではない指示が増えている・かつてのコードの行数による評価と同じように、トークンの消費量といった無意味な指標で開発者を測ろうとする動きがある・どんなツールを使ったかではなく、そのツールを使ってどのような素晴らしいものを作り上げたのかという話を聞きたい・コーディングや物作りの本来の目的は誰かのために価値を生み出すことであり、道具への執着はその目的を追いやっているhttps://t.co/m0KRDn62Y6 Posted Mar 26, 2026 at 12:34AM

Likes: 0 Reposts: 0 Views: 0
Score 10
o
om_patel5 Unknown date Ai llm

@rtdp retweeted THIS MAN'S UNCLE HAD A MYSTERY ILLNESS FOR 25 YEARS. EVERY DOCTOR MISSED IT. CLAUDE FIGURED IT OUT IN ONE CONVERSATION.his 62 year old uncle had kidney failure, diabetes, hypertension, a stroke, and severe migraines that ONLY happened when lying down to sleep.neurologists couldn't explain it. nephrologists couldn't explain it. brain MRI showed nothing obvious.so he brought everything to Claude.Claude caught what every doctor missed: the headaches are positional. lying down triggers them. that's a textbook sleep apnea signal.pulled research showing 40-57% of dialysis patients have undiagnosed sleep apnearead his brain MRI report and flagged findings other doctors overlookedasked about snoring. answer: loud snoring for 25 yearscalculated his sleep apnea risk score: 6-7 out of 8they got the sleep study done. results were terrifying:breathing stops 119 times per nightoxygen drops to 78% (dangerously low)47 oxygen desaturations per hour28 minutes per night below safe oxygen levelsthey put him on a CPAP machine. headaches gone.25 years of loud snoring and daily exhaustion. every doctor said "dialysis fatigue" or "just getting old."it was sleep apnea the entire time. potentially causing his hypertension, contributing to his stroke, and definitely causing his migraines.Claude even translated the full home care plan and CPAP instructions for his family.AI didn't replace his doctors but it connected dots across nephrology, neurology, pulmonology, and ENT that no single specialist was doing. Posted Mar 27, 2026 at 1:16AM

Likes: 0 Reposts: 0 Views: 0
Score 10
t
thsottiaux Unknown date Ai llm

@neza_zeza retweeted Replying to @thsottiaux developers.openai.com/codex/plugins Posted Mar 27, 2026 at 1:52AM

Likes: 0 Reposts: 0 Views: 0
Score 10
T
TeksEdge Unknown date Ai llm

@neza_zeza retweeted 🎗️ "Medium-Sized" LLM Burners Coming Soon! 🔥This Could Make Local HyperToken Generation a Reality. ⚡️ NVIDIA’s worst nightmare? 😱⚙️ Application-Specific HardwareTaalas new PCIe ASIC board would burn the entire medium-sized Qwen 3.5-27B LLM straight into silicon 🤯 (already doing it with small models)Taalos said medium models on ASIC would be available in their lab by Spring '26.💭Imagine:🚫 No more loading weights🚀 ~10,000 Tokens Per Second locally (Llama 3.1 8B already @ 17,000 tps)💻 Standard PC slot, ultra-low power (10x less) 🔋🌍 100% offline with no cloud, no GPU farm💰 Reddit unit cost rumor $300 to $400🖥️ Imagine HyperToken generation on your desktop.🤖 AI agents that think at light speed. ⚡️ Are you ready? 👀 Posted Mar 27, 2026 at 5:07AM

Likes: 0 Reposts: 0 Views: 0
Score 10
v
vitrupo Unknown date Ai llm

@rtdp retweeted Eric Schmidt says the 10x advantage is no longer execution. It is defining what counts as success.A programmer writes a spec and an evaluation function, runs it at 7pm, and wakes up to what was invented overnight.The advantage now belongs to whoever can specify the problem precisely.The rest will be automated. Your browser does not support the video tag. Posted Mar 25, 2026 at 1:33PM

Likes: 0 Reposts: 0 Views: 0
Score 10
k
koic Unknown date Ai llm

Claude Code の Opus 4.6 で effort "high" を基本設定にしているので、"ultrathink" した時は effort "max" になってもらいたい旨の提案をコメントとして書いておいた。github.com/anthropics/cla… Posted Mar 27, 2026 at 6:21AM

Likes: 0 Reposts: 0 Views: 0
Score 10
h
hummusonrails Unknown date Ai llm

I've updated my Claude 2x notifier to let you know when you're burning through your usage faster 🔥 or when you're in a calm 🌊 period of usage.Don't get caught off-guard.👉 github.com/hummusonrails/…XC Thariq @trq212 To manage growing demand for Claude we're adjusting our 5 hour session limits for free/Pro/Max subs during peak hours. Your weekly limits remain unchanged.During weekdays between 5am–11am PT / 1pm–7pm GMT, you'll move through your 5-hour session limits faster than before. Posted Mar 26, 2026 at 7:45PM Posted Mar 27, 2026 at 5:58AM

Likes: 0 Reposts: 0 Views: 0
Score 10
h
hasumikin Unknown date Ai llm

Rubyの、というかPerlのpack/unpack記法(もともと覚えてなかった) ななな_エンジニア @hima_engineer 生成AIを使い始めてエンジニアが失ったもの5選正規表現を自力で組み立てる記憶力長いエラー文を最後まで読む忍耐力公式ドキュメントを隅から隅まで探す根性「とりあえずググる」という最初の反射神経CSSの細かいプロパティの記憶皆さんが一番「AIに頼りきってるな」と実感するのはどれですか?他にもAIに奪われた能力があれば教えて下さい🔥 Posted Mar 26, 2026 at 7:35AM Posted Mar 27, 2026 at 1:23AM

Likes: 0 Reposts: 0 Views: 0
Score 10
h
hima_engineer Unknown date Ai llm

生成AIを使い始めてエンジニアが失ったもの5選正規表現を自力で組み立てる記憶力長いエラー文を最後まで読む忍耐力公式ドキュメントを隅から隅まで探す根性「とりあえずググる」という最初の反射神経CSSの細かいプロパティの記憶皆さんが一番「AIに頼りきってるな」と実感するのはどれですか?他にもAIに奪われた能力があれば教えて下さい🔥 Posted Mar 26, 2026 at 7:35AM

Likes: 0 Reposts: 0 Views: 0
Score 10
j
jerryjliu0 Unknown date Ai llm

@glcst retweeted Last week we launched LiteParse - a free and fast document parser that provides more accurate AI-ready text than other free/fast parser libraries.It’s a great tool you can plug into assistant agents like Claude Code/OpenClaw and get good results, especially when paired with its screenshotting capabilities.But I do want to note that it doesn’t use any models under the hood (no VLMs/LLMs/even OCR models natively), and it’s not a replacement for VLM-based OCR solutions. It is fast because it is heuristic based!I attached a comparison table below.✅ It is really good at text extraction and even table extraction, specifically for LLM understanding. It will lay the text out in a manner that’s easy for humans/AI to understand.✅ It is great for assistant coding agents because the agent harness can use its text parsing to do a “fast” step, and then its screenshot capabilities to “dive deep” into a specific page🚫 It is not great over scanned pages/visuals/anything requiring OCR. We do have OOB integrations with EasyOCR and PaddleOCR🚫It doesn’t do layout detection and segmentation - it won’t draw bounding boxes over different elements on the page (though it does have word-level bounding boxes!)Tl;dr it’s great for plugging into an AI assistant tool. If you’re trying to OCR a bunch of docs in batch, check out LlamaParse :)LiteParse: https://t.co/JNER0mVcB8LlamaParse: https://t.co/TqP6OT5U5O Jerry Liu @jerryjliu0 Introducing LiteParse - the best model-free document parsing tool for AI agents 💫✅ It’s completely open-source and free.✅ No GPU required, will process ~500 pages in 2 seconds on commodity hardware✅ More accurate than PyPDF, PyMuPDF, Markdown. Also way more readable - see below for how we parse tables!!✅ Supports 50+ file formats, from PDFs to Office docs to images✅ Is designed to plug and play with Claude Code, OpenClaw, and any other AI agent with a one-line skills install. Supports native screenshotting capabilities.We spent years building up LlamaParse by orchestrating state-of-the-art VLMs over the most complex documents. Along the way we realized that you could get quite far on most docs through fast and cheap text parsing.Take a look at the video below. For really complex tables within PDFs, we output them in a spatial grid that’s both AI and human-interpretable. Any other free/light parser light PyPDF will destroy the representation of this table and output a sequential list.This is not a replacement for a VLM-based OCR tool (it requires 0 GPUs and doesn’t use models), but it is shocking how good it is to parse most documents.Huge shoutout to @LoganMarkewich and @itsclelia for all the work here.Come check it out: https://t.co/qmpDwlkidZRepo: https://t.co/JNER0mVcB8 twitter.com/i... Posted Mar 19, 2026 at 4:19PM Posted Mar 28, 2026 at 1:09AM

Likes: 0 Reposts: 0 Views: 0
Score 10
j
jerryjliu0 Unknown date Ai llm

Introducing LiteParse - the best model-free document parsing tool for AI agents 💫✅ It’s completely open-source and free.✅ No GPU required, will process ~500 pages in 2 seconds on commodity hardware✅ More accurate than PyPDF, PyMuPDF, Markdown. Also way more readable - see below for how we parse tables!!✅ Supports 50+ file formats, from PDFs to Office docs to images✅ Is designed to plug and play with Claude Code, OpenClaw, and any other AI agent with a one-line skills install. Supports native screenshotting capabilities.We spent years building up LlamaParse by orchestrating state-of-the-art VLMs over the most complex documents. Along the way we realized that you could get quite far on most docs through fast and cheap text parsing.Take a look at the video below. For really complex tables within PDFs, we output them in a spatial grid that’s both AI and human-interpretable. Any other free/light parser light PyPDF will destroy the representation of this table and output a sequential list.This is not a replacement for a VLM-based OCR tool (it requires 0 GPUs and doesn’t use models), but it is shocking how good it is to parse most documents.Huge shoutout to @LoganMarkewich and @itsclelia for all the work here.Come check it out: https://t.co/qmpDwlkidZRepo: https://t.co/JNER0mVcB8 twitter.com/i... Posted Mar 19, 2026 at 4:19PM

Likes: 0 Reposts: 0 Views: 0
Score 10
i
inazarova Unknown date Ai llm

Before she added resumability of agentic workflows Posted Mar 28, 2026 at 6:03AM

Likes: 0 Reposts: 0 Views: 0
Score 10
S
Shpigford Unknown date Ai llm

Hypothesis: All of these companies replacing SaaS products with their own tooling are just taking the scenic route to admitting they never needed any of those products in the first place and certainly won’t stick with maintaining it. Zach Lloyd @zachlloydtweets We've stopped buying SaaS and and are moving everything to agents, skills and just-in-time apps.In some cases, we've canceled subscriptions altogether and saved $10k+/year in the process.Here's our early success stories 🧵 Posted Mar 27, 2026 at 2:38PM Posted Mar 28, 2026 at 1:47AM

Likes: 0 Reposts: 0 Views: 0
Score 10
_
_ko1 Unknown date Ai llm

みんな claude code の会話ログどうしてるの? Posted Mar 28, 2026 at 10:27AM

Likes: 0 Reposts: 0 Views: 0
Score 10
c
coorasse Unknown date Ai llm

This is ridiculous Martin Woodward @martinwoodward @GergelyOrosz Which other tools do you use for AI coding BTW? You sure they don’t do opt-in by default. My understanding is that we are the last to adopt this but I might have been misinformed Posted Mar 27, 2026 at 11:33PM Posted Mar 28, 2026 at 6:56AM

Likes: 0 Reposts: 0 Views: 0
Score 10
m
martinwoodward Unknown date Ai llm

@GergelyOrosz Which other tools do you use for AI coding BTW? You sure they don’t do opt-in by default. My understanding is that we are the last to adopt this but I might have been misinformed Posted Mar 27, 2026 at 11:33PM

Likes: 0 Reposts: 0 Views: 0
Score 10
f
fabrithedev Unknown date Ai llm

@josevalim retweeted 🚨 New blog post alert: Tidewave Changed How I Feel About AI-Assisted Coding fabrithedev.com/posts/2026/3/t… elixirlang #elixir #tidewave #phoenix #ai #programming #dev #webdev Posted Mar 28, 2026 at 1:21AM

Likes: 0 Reposts: 0 Views: 0
Score 10
R
RubyOnRailsBa Unknown date Ai llm

mbj/mutant: Mutation testing for Ruby. AI writes your code. AI writes your tests. But who tests the tests? (from 06/03/2026) #ruby #rubyonrails #programming #mbj/mutant: #Mutation #testing #Ruby. #writes #code. #tests. #tests #tests? #ai rubyonrails.ba/link/mbj-mutan… Posted Mar 28, 2026 at 9:00AM

Likes: 0 Reposts: 0 Views: 0
Score 10
l
levie Unknown date Ai llm

@OrtegaCManuel retweeted The big gap in most enterprises being able to automate work is being able to get right context to the agents.We experience a huge benefit in coding in tech because the problem is generally far simpler than other areas of knowledge work. The codebase contains a bunch of necessary context, access controls and permissions are generally not a major concern, the users are technical enough to supply the context, and the final output is generally quickly verifiable. Most knowledge work doesn’t look like this. The data is sitting in legacy silos that don’t easily connect to agents, the access controls are all out of whack (people have either too much or too little access), the information isn’t agent-ready, and more. This is the big context gap for any type of agentic workflows in most organizations right. The platforms that make solving this easy, and the companies that retool their workflows to enable this, will be the winners in a world of agents. BuccoCapital Bloke @buccocapital Context is now (and perhaps always been) the bottleneck on growth, because anything with full context can be automated. The race is on to make the collective brain of the organization legible to AI Posted Mar 26, 2026 at 3:54PM Posted Mar 28, 2026 at 4:13AM

Likes: 0 Reposts: 0 Views: 0
Score 10
b
buccocapital Unknown date Ai llm

Context is now (and perhaps always been) the bottleneck on growth, because anything with full context can be automated. The race is on to make the collective brain of the organization legible to AI Posted Mar 26, 2026 at 3:54PM

Likes: 0 Reposts: 0 Views: 0
Score 10
i
initjean Unknown date Ai llm

@jmddotfm retweeted "Well, Claude Max 20x is actually now Max 5x. But it is better than Pro." Posted Mar 27, 2026 at 12:43PM

Likes: 0 Reposts: 0 Views: 0
Score 10
h
harshamv Unknown date Ai llm

@neza_zeza retweeted Saying Hello in @claudeai uses 2% token usage!What the Fuck?!Credit: Zafar (Reddit) Your browser does not support the video tag. Posted Mar 27, 2026 at 2:43PM

Likes: 0 Reposts: 0 Views: 0
Score 10
r
romainhuet Unknown date Ai llm

@kinsomicrote retweeted We just launched Codex use cases!It’s a gallery of practical examples across coding and non-coding tasks, with real ways to use Codex.One thing I really like: if you have the app, you can open the starter prompt for each use case directly in Codex!developers.openai.com/codex/use-cases Posted Mar 27, 2026 at 6:56PM

Likes: 0 Reposts: 0 Views: 0
Score 10
s
shl Unknown date Ai llm

@kureikain retweeted Gumroad’s test suite of 16,000 tests has been flaky for years. This slowed down shipping tremendously.This week, Gianfranco used @karpathy’s autoresearch and @steipete’s OpenClaw to stabilize our test suite overnight. And his code is open source, so you can (have your agent) do it too. (And our code is open source too so you can see every single fix on GitHub.) Gianfranco @gianfrancopiana Last week Gumclaw made 206 commits to our repo while I slept. It fixed 13 flaky tests. I didn't write a single line of test code. Gumclaw is Gumroad's team AI assistant. It runs on OpenClaw on a Mac mini at our Brooklyn office. It answers questions, reviews PRs, and now, apparently, fixes flaky tests. Flaky tests are detective work with a 20-minute feedback loop. They pass locally, fail in CI, and after enough false alarms the team starts ignoring red builds. Nobody wants to fix them. So nobody does. I wanted to see if Gumclaw could do the grinding for me. Spoiler alert: it did. This freed me to do my job. My highest-value work is building product, not debugging why a tax test fails 1 in 20 runs. Gumclaw ran overnight while I shipped features. Here's how you can setup the same system for yourself. The toolI built openclaw-autoresearch, a plugin for OpenClaw. It's a port of pi-autoresearch (by Tobi Lutke) to the OpenClaw plugin system. The idea is simple. You give it a command that measures something. Gumclaw runs it, gets a baseline, makes a change, runs it again. If the numbers improve, it commits. If they don't, it logs what it learned and what to try next. Then it loops. All state lives in plain files. If the session crashes, you type /autoresearch resume and Gumclaw picks up where it left off. What happenedI pointed Gumclaw at our test suite on March 18. One week later: 206 commits, 94 CI runs, 13 merged PRs. Race conditions, timing issues, browser session corruption, test cleanup hooks leaking between tests. The best find wasn't even a flaky test. It was a real bug: when remapping file IDs, A became B, then B became C, silently corrupting file references. The flake was just the symptom. What the agent foundIt was methodical. Fix a class of failures, trigger CI, log the results, move to the next class. When a fix didn't hold, it wrote down why and what to try next. Those notes fed an ideas backlog that kept it from repeating failed approaches. By experiment 20, it had built a map of which tests were flaky and why. Some fixes took multiple iterations. One tax input field went through four different approaches before Gumclaw found one that held across CI runs. What I learnedFlaky tests are a perfect target for this. Green or red. Pass or fail. The agent ran 30+ CI cycles overnight without getting bored. The ideas backlog is the killer feature. Every failed experiment forces Gumclaw to write down what it tried. It stops repeating mistakes. It takes time: 206 commits for 13 PRs. Fixing a flaky test is easy. Proving it's fixed means running CI enough times to trust the flake is gone and not hiding. The loop handles that grind. Try it now:openclaw plugin install @gianfrancopiana/openclaw-autoresearch/autoresearch setupopenclaw-autoresearch is open source, and we would love your contributions! Posted Mar 26, 2026 at 4:07PM Posted Mar 27, 2026 at 3:09AM

Likes: 0 Reposts: 0 Views: 0
Score 10
g
gianfrancopiana Unknown date Ai llm

Last week Gumclaw made 206 commits to our repo while I slept. It fixed 13 flaky tests. I didn't write a single line of test code. Gumclaw is Gumroad's team AI assistant. It runs on OpenClaw on a Mac mini at our Brooklyn office. It answers questions, reviews PRs, and now, apparently, fixes flaky tests. Flaky tests are detective work with a 20-minute feedback loop. They pass locally, fail in CI, and after enough false alarms the team starts ignoring red builds. Nobody wants to fix them. So nobody does. I wanted to see if Gumclaw could do the grinding for me. Spoiler alert: it did. This freed me to do my job. My highest-value work is building product, not debugging why a tax test fails 1 in 20 runs. Gumclaw ran overnight while I shipped features. Here's how you can setup the same system for yourself. The toolI built openclaw-autoresearch, a plugin for OpenClaw. It's a port of pi-autoresearch (by Tobi Lutke) to the OpenClaw plugin system. The idea is simple. You give it a command that measures something. Gumclaw runs it, gets a baseline, makes a change, runs it again. If the numbers improve, it commits. If they don't, it logs what it learned and what to try next. Then it loops. All state lives in plain files. If the session crashes, you type /autoresearch resume and Gumclaw picks up where it left off. What happenedI pointed Gumclaw at our test suite on March 18. One week later: 206 commits, 94 CI runs, 13 merged PRs. Race conditions, timing issues, browser session corruption, test cleanup hooks leaking between tests. The best find wasn't even a flaky test. It was a real bug: when remapping file IDs, A became B, then B became C, silently corrupting file references. The flake was just the symptom. What the agent foundIt was methodical. Fix a class of failures, trigger CI, log the results, move to the next class. When a fix didn't hold, it wrote down why and what to try next. Those notes fed an ideas backlog that kept it from repeating failed approaches. By experiment 20, it had built a map of which tests were flaky and why. Some fixes took multiple iterations. One tax input field went through four different approaches before Gumclaw found one that held across CI runs. What I learnedFlaky tests are a perfect target for this. Green or red. Pass or fail. The agent ran 30+ CI cycles overnight without getting bored. The ideas backlog is the killer feature. Every failed experiment forces Gumclaw to write down what it tried. It stops repeating mistakes. It takes time: 206 commits for 13 PRs. Fixing a flaky test is easy. Proving it's fixed means running CI enough times to trust the flake is gone and not hiding. The loop handles that grind. Try it now:openclaw plugin install @gianfrancopiana/openclaw-autoresearch/autoresearch setupopenclaw-autoresearch is open source, and we would love your contributions! Posted Mar 26, 2026 at 4:07PM

Likes: 0 Reposts: 0 Views: 0
Score 10
t
theo Unknown date Ai llm

@Austio36 retweeted Claude Code is kind of like if Codex was drunk.Fun, friendly, bit more creative, makes really dumb mistakes, probably shouldn't be trusted with prod. Posted Mar 27, 2026 at 3:10AM

Likes: 0 Reposts: 0 Views: 0
Score 10
s
shoma416 Unknown date Ai llm

@exoego retweeted コツコツ作ってるClaude Code Manager、4並列以上動かしていると頭がおかしくなるのでどういう状況で何を指示しないといけないかチャット形式で会話できるようにした。Agent SDKで各セッションの内容を読み取って判断できるようにしている。モバイル対応! Posted Mar 28, 2026 at 9:21AM

Likes: 0 Reposts: 0 Views: 0
Score 10
j
jankeesvw Unknown date Ai llm

makings games with kids (and Claude code) is so much fun! Posted Mar 28, 2026 at 10:44AM

Likes: 0 Reposts: 0 Views: 0
Score 10
l
learnk8s Unknown date Ai llm

@alazycoder2 retweeted Kthena is a Kubernetes-native platform for deploying and managing Large Language Models with support for multiple inference engines like vLLM, SGLang, and Triton➤ ku.bz/HL_6Y0kNj Posted Mar 27, 2026 at 5:06PM

Likes: 0 Reposts: 0 Views: 0
Score 10
T
TheVixhal Unknown date Ai llm

@zkancs retweeted In this article we are going to build a Vectorless, Reasoning-Based RAG System using hierarchical page indexing, where a document is turned into a tree and an LLM reasons through that tree to find the answer. No embeddings. No similarity search. This is very similar to how we search for information in real life. When you want to find something in a textbook, you do not read every page from the beginning. You open the table of contents, find the right chapter, look at the sections inside it, and go directly to the one you need. PageIndex works the same way. You give it a document, it builds a tree from that document where each branch is a section and each leaf is the actual text, and then when you ask it a question, an LLM navigates that tree level by level to find the right answer. Complete Code: https://github.com/vixhal-baraiya/pageindex-rag (Don't forget to ⭐ star the repository if you found this helpful.)The PlanHere is the full plan before we write a single line of code. Step 1: Parse the document into a hierarchical tree. We send the document to the LLM and ask it to split the text into top-level sections. Then for each section that is long enough to be split further, we send it to the LLM again and get subsections. This gives us a multi-level tree. Short sections stay as leaves. Long sections become inner nodes with children. Step 2: Summarize each node bottom-up. We walk the tree from leaves to root. Each leaf node gets a short LLM-generated summary of its raw text. Each inner node gets a summary built from its children's summaries. The root ends up with a summary of the whole document. Step 3: Save the index. We serialize the tree to a JSON file. This is the index. We build it once and reuse it. Step 4: Retrieve by walking the tree. At query time, we start at the root. We show the LLM the summaries of all children and ask which one to go into. We move to that child. We repeat this until we reach a leaf. The leaf's raw text is our retrieved context. Step 5: Generate the answer. We pass the retrieved context and the question to the LLM and get our answer.ArchitectureLet's look at how data flows through the system. Index Time (runs once) Query Time (runs per question) Now that we know what we are building and how all the pieces fit together, let's write the code. Step 1: Set Up the Projectpageindex-rag/ pageindex/ __init__.py node.py parser.py indexer.py retriever.py storage.py main.py document.mdCreate it: mkdir pageindex-ragcd pageindex-ragmkdir pageindextouch pageindex/__init__.pyStep 2: Define the Node (pageindex/node.py)Every section of the document becomes a PageNode. It stores a title, raw text, a summary we generate later, and its children. from dataclasses import dataclass, fieldfrom typing import Optional@dataclassclass PageNode: title: str content: str # raw text, populated at leaves summary: str # generated by LLM, populated by indexer depth: int # 0 = root, 1 = section, 2 = subsection children: list = field(default_factory=list) parent: Optional["PageNode"] = None def is_leaf(self) -> bool: return len(self.children) == 0Step 3: Parse the Document (pageindex/parser.py)We build the tree in two passes. First, we ask the LLM to split the whole document into top-level sections. Then, for any section long enough to be worth splitting further (more than 300 words), we send it back to the LLM and get subsections. Short sections stay as leaves. Long ones become inner nodes with children. _segment is the helper that does one level of splitting. parse_document calls it twice: once for the whole document, and once per long section. import jsonimport openaifrom .node import PageNodeclient = openai.OpenAI()SUBSECTION_THRESHOLD = 300 # wordsdef _segment(text: str) -> list: prompt = f"""Split the following text into logical sections.Return a JSON object with a "sections" key. Each item has:- "title": short title (5 words or less)- "content": the text belonging to this sectionText:{text[:8000]}""" response = client.chat.completions.create( model="gpt-5.4", messages=[{"role": "user", "content": prompt}], max_completion_tokens=3000, response_format={"type": "json_object"}, ) parsed = json.loads(response.choices[0].message.content) return parsed.get("sections", [])def parse_document(text: str) -> PageNode: root = PageNode(title="root", content="", summary="", depth=0) for item in _segment(text): title = item.get("title", "Section") content = item.get("content", "") node = PageNode(title=title, content="", summary="", depth=1) node.parent = root word_count = len(content.split()) if word_count > SUBSECTION_THRESHOLD: subsections = _segment(content) if len(subsections) > 1: for sub in subsections: child = PageNode( title=sub.get("title", "Subsection"), content=sub.get("content", ""), summary="", depth=2, ) child.parent = node node.children.append(child) else: node.content = content # splitting gave nothing useful, keep as leaf else: node.content = content # short enough to stay as a leaf root.children.append(node) return rootAfter this, short sections are leaves with content. Long sections are inner nodes with subsection children. All summary fields are empty at this point. The indexer fills those in next.Step 4: Build Summaries (pageindex/indexer.py)We traverse the tree post-order (children before parent). Each leaf summarizes its own content. Each inner node (like root, or any section that had subsections) gets a summary built from its children's summaries. Post-order guarantees every child has a summary before its parent needs it. import openaifrom .node import PageNodeclient = openai.OpenAI()def _summarize(text: str, section_name: str = "") -> str: hint = f"This is the section titled: {section_name}.\n" if section_name else "" prompt = f"""{hint}Summarize the following in 2-3 sentences. Be specific and factual. Do not add anything not in the text.{text[:3000]}""" response = client.chat.completions.create( model="gpt-5.4-mini", messages=[{"role": "user", "content": prompt}], max_completion_tokens=150, ) return response.choices[0].message.content.strip()def build_summaries(node: PageNode): # post-order: children first for child in node.children: build_summaries(child) if node.is_leaf(): if node.content.strip(): node.summary = _summarize(node.content, node.title) else: node.summary = "(empty section)" else: # build parent summary from children's summaries children_text = "\n\n".join( f"[{c.title}]: {c.summary}" for c in node.children ) node.summary = _summarize(children_text, node.title)After build_summaries(root), every node in the tree has a meaningful summary.Step 5: Save and Load the Index (pageindex/storage.py)We serialize the tree to JSON so we only build it once. import jsonfrom .node import PageNodedef save(node: PageNode, path: str): def to_dict(n: PageNode) -> dict: return { "title": n.title, "content": n.content, "summary": n.summary, "depth": n.depth, "children": [to_dict(c) for c in n.children], } with open(path, "w") as f: json.dump(to_dict(node), f, indent=2)def load(path: str) -> PageNode: def from_dict(d: dict) -> PageNode: node = PageNode( title=d["title"], content=d["content"], summary=d["summary"], depth=d["depth"], ) for child_dict in d["children"]: child = from_dict(child_dict) child.parent = node node.children.append(child) return node with open(path) as f: return from_dict(json.load(f))Step 6: Retrieve by Tree Search (pageindex/retriever.py)Starting at root, the LLM reads the children's summaries and picks the best branch. If that child is an inner node (it had subsections), we repeat at that level. We keep going until we hit a leaf. The while loop handles any depth. import openaifrom .node import PageNodeclient = openai.OpenAI()def _pick_child(query: str, node: PageNode) -> PageNode: options = "\n".join( f"{i + 1}. [{c.title}]: {c.summary}" for i, c in enumerate(node.children) ) prompt = f"""You are navigating a document tree to find the answer to a question.Current section: "{node.title}"Question: {query}Children of this section:{options}Which child section most likely contains the answer? Reply with only the number.""" response = client.chat.completions.create( model="gpt-5.4-mini", messages=[{"role": "user", "content": prompt}], max_completion_tokens=5, ) try: index = int(response.choices[0].message.content.strip()) - 1 return node.children[index] except (ValueError, IndexError): return node.children[0]def retrieve(query: str, root: PageNode) -> str: node = root while not node.is_leaf(): if not node.children: break node = _pick_child(query, node) return node.contentStep 7: Tie It Together (main.py)import osfrom pageindex.parser import parse_documentfrom pageindex.indexer import build_summariesfrom pageindex.retriever import retrievefrom pageindex import storageimport openaiclient = openai.OpenAI()INDEX_PATH = "index.json"def build_index(doc_path: str): print("Parsing document...") text = open(doc_path).read() tree = parse_document(text) print("Building summaries (this makes LLM calls)...") build_summaries(tree) print(f"Saving index to {INDEX_PATH}") storage.save(tree, INDEX_PATH) return treedef ask(query: str) -> str: if not os.path.exists(INDEX_PATH): raise FileNotFoundError("Index not found. Run build_index() first.") tree = storage.load(INDEX_PATH) context = retrieve(query, tree) response = client.chat.completions.create( model="gpt-5.4", messages=[{ "role": "user", "content": f"Answer using only the context below.\n\nContext:\n{context}\n\nQuestion: {query}" }], max_completion_tokens=500, ) return response.choices[0].message.content.strip()if __name__ == "__main__": # First time: build the index build_index("document.md") # Then query it print(ask("Your Question"))What the Index Looks LikeAfter running build_index, open index.json and you will see something like this: { "title": "root", "summary": "Document covers returns, shipping options, and account setup.", "content": "", "depth": 0, "children": [ { "title": "Returns and Refunds", "summary": "Refunds are processed within 14 days of receiving the returned item.", "content": "We accept returns within 30 days...", "depth": 1, "children": [] }, { "title": "Shipping Options", "summary": "Covers domestic (3-5 days) and international shipping (7-14 days).", "content": "", "depth": 1, "children": [ { "title": "Domestic Shipping", "summary": "Standard delivery takes 3-5 business days via USPS.", "content": "We ship domestically via USPS...", "depth": 2, "children": [] }, { "title": "International Shipping", "summary": "International orders ship via DHL and arrive in 7-14 days.", "content": "International shipping is available to 50+ countries...", "depth": 2, "children": [] } ] }, { "title": "Account Setup", "summary": "Instructions for creating and verifying a new account.", "content": "To create an account, visit...", "depth": 1, "children": [] } ]}Short sections stay as depth-1 leaves. Long sections (like "Shipping Options") became inner nodes with subsection children at depth 2. Retrieval navigates level by level until it hits a leaf.Common IssuesThe LLM keeps picking wrong branches. Your summaries are too vague. Try a stronger model in _summarize or add more detail to the prompt. LLM segmentation cuts a section in a bad place. When parse_document runs on a long document, it sometimes splits mid-thought. Fix this by increasing max_tokens in the segmentation call, or break the document into ~3000-word chunks before sending each one. Leaf content is very long. If a leaf has more than ~1500 tokens of content, lower SUBSECTION_THRESHOLD so more sections get split into subsections.Complete Code: https://github.com/vixhal-baraiya/pageindex-rag Don't forget to ⭐ star the repository if you found this helpful. Keep building. Keep learning. Posted Mar 26, 2026 at 6:33PM

Likes: 0 Reposts: 0 Views: 0
Score 10
C
ClickHouseDB Unknown date Ai llm

@zkancs retweeted AI agents are a new kind of database user: concurrent, fast-iterating, and unforgiving of slow queries.@sdairs rounds up everything we've shipped for the agentic AI era: MCP servers, chDB 4, Agent Skills, IDE plugins, and a full reference stack.clickhou.se/4rTJbGT Posted Mar 27, 2026 at 5:00PM

Likes: 0 Reposts: 0 Views: 0
Score 10
m
mattn_jp Unknown date Ai llm

@joker1007 retweeted エンジニアは AI が生成したものに対しても責任や周りからの評価が伴いますから非エンジニアよりも遅くなりがちですね。作りっぱなしで放置して良いなら恐らく非エンジニアよりも速いと思います。(それを開発スピードと呼んで良いなら) やまもとりゅうけん @ryukke 非エンジニアがAIをイジることに対し、エンジニア側が冷笑する構図はよくあるけど、いま開発スピードに関しては非エンジニアの方が早い。エンジニアは確かに正確さとセキュリティ意識は高いが、旧式のルールに囚われすぎてAI時代における試行回数が足りないんよな。たぶん塗り替えられていくよ Posted Mar 27, 2026 at 10:42AM Posted Mar 28, 2026 at 4:57AM

Likes: 0 Reposts: 0 Views: 0
Score 10
r
ryukke Unknown date Ai llm

非エンジニアがAIをイジることに対し、エンジニア側が冷笑する構図はよくあるけど、いま開発スピードに関しては非エンジニアの方が早い。エンジニアは確かに正確さとセキュリティ意識は高いが、旧式のルールに囚われすぎてAI時代における試行回数が足りないんよな。たぶん塗り替えられていくよ Posted Mar 27, 2026 at 10:42AM

Likes: 0 Reposts: 0 Views: 0
Score 10
y
yuanhao Unknown date Ai llm

@alazycoder2 retweeted 想深入了解 Harness 工程实践,推荐关注 yoyo 的实现。我们不但开源了所有代码,也全程开源了 yoyo 的进化史。你可以像看纪录片一样,见证他在 26 天里,从一个仅 200 行代码的‘雏形代理’,通过 递归自我进化(Self-Evolution)与自主编码,成长为拥有 34706 行代码、性能直逼 Claude Code 的全能型 Agent。yoyo 的进化不只是代码量的堆砌,而是一场目标驱动的野蛮生长。如何平衡这种生长的‘野性’与工程的‘稳定性’,是我们面临的最大课题。此外,关于其人格特质(Personality)的塑造、多级记忆架构(L/M/S Term Memory)以及社交属性的演进,都极具技术探讨价值。这一路攒下的‘坑’和经验,我打算写篇长文和大家好好聊聊,深度分享背后的工程思考。Repo: https://t.co/ETy3M1znIH Posted Mar 27, 2026 at 8:42AM

Likes: 0 Reposts: 0 Views: 0
Score 10