<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Guil Silva — AI Security Infrastructure]]></title><description><![CDATA[Guil Silva — AI Security Infrastructure]]></description><link>https://guilsilva.dev</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1593680282896/kNC7E8IR4.png</url><title>Guil Silva — AI Security Infrastructure</title><link>https://guilsilva.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Apr 2026 03:43:42 GMT</lastBuildDate><atom:link href="https://guilsilva.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[A Bigger Context Window Doesn't Mean Better Quality]]></title><description><![CDATA[When a company says their model has 1 million tokens of context, everyone assumes bigger is better. I thought the same thing. But after running LLMs in production for a while, I found out it's not tha]]></description><link>https://guilsilva.dev/a-bigger-context-window-doesn-t-mean-better-quality</link><guid isPermaLink="true">https://guilsilva.dev/a-bigger-context-window-doesn-t-mean-better-quality</guid><dc:creator><![CDATA[guirgsilva]]></dc:creator><pubDate>Thu, 09 Apr 2026 23:00:00 GMT</pubDate><content:encoded><![CDATA[<p>When a company says their model has 1 million tokens of context, everyone assumes bigger is better. I thought the same thing. But after running LLMs in production for a while, I found out it's not that simple.</p>
<p>Having 1M tokens of context and using them well are two different things. And the difference can cost you thousands of dollars a month.</p>
<hr />
<h2>What context window means in practice</h2>
<p>It's the model's working memory for a single call. Everything it can see at once: system prompt, conversation history, documents you sent, and space for the output.</p>
<p>200K tokens is roughly 150,000 words. In a normal conversation that's about 100 to 120 exchanges before you hit the limit. But if you're pasting code, logs, and docs, it drops fast. A 500-line Python file can eat 3,000 to 5,000 tokens by itself.</p>
<p>Here's how the main models compare:</p>
<ul>
<li><p><a href="https://docs.anthropic.com/en/docs/about-claude/models">Claude Opus 4.6</a>: 1M tokens</p>
</li>
<li><p><a href="https://huggingface.co/Qwen/Qwen3.5-397B-A17B">Qwen3.5-397B</a>: 262K, can extend to 1M</p>
</li>
<li><p><a href="https://ollama.com/library/qwen3.5">Qwen3.5-9B</a>: 262K</p>
</li>
<li><p><a href="https://huggingface.co/MiniMaxAI/MiniMax-M2.5">MiniMax M2.5</a>: around 200K</p>
</li>
</ul>
<p>Different numbers. But quality doesn't grow with context size. Not the way you'd expect.</p>
<hr />
<h2>Lost in the Middle</h2>
<p>There's a known problem in LLM research called "Lost in the Middle". The original paper by <a href="https://arxiv.org/abs/2307.03172">Liu et al. (2023)</a> showed that models pay more attention to the beginning and end of the context. Information in the middle gets ignored more often.</p>
<p>If you send 50 documents and ask a question answered in document 27, the model is more likely to miss it than if the answer was in document 1 or document 50.</p>
<p>This isn't a bug. The model learns during training that the start (system prompt, first instructions) and the end (latest question) matter most. This pattern holds regardless of window size.</p>
<h3>Does 1M tokens fix this?</h3>
<p>No. I expected it would, but it doesn't.</p>
<p>Think of it like a bigger warehouse with the same bad organization. More space, same problem finding things. With 1M tokens the middle is just a bigger middle where things get lost.</p>
<p>What actually helps are specific training techniques and better attention architectures. Qwen3.5 uses something called Gated Delta Networks which handles this better than standard attention. Each new model generation improves, but none of them fully solve it.</p>
<p>The best fix is still on your side: put the important stuff at the beginning and end of your prompt. Anthropic's own <a href="https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering">prompt engineering docs</a> cover some of these patterns.</p>
<hr />
<h2>Three scenarios</h2>
<p><strong>Short context, all relevant.</strong> You send 2K tokens of code and ask for a fix. The model sees everything clearly. Best quality you'll get.</p>
<p><strong>Long context, information everywhere.</strong> You send 100K tokens of an entire codebase and ask about a bug. The model needs to connect a problem in file A with a dependency in file B and a config in file C. Attention gets thin. Quality drops.</p>
<p><strong>Long context but organized.</strong> Same 100K tokens but with clear headers, relevant info at the top and bottom, and specific instructions. Quality goes back up.</p>
<p>The third scenario shows what matters. It's not the size, it's how you organize what goes in.</p>
<hr />
<h2>Cost comparison with real numbers</h2>
<p>Here's a concrete example. An internal AI assistant that answers questions using company docs.</p>
<p><strong>Strategy A: send everything.</strong> You put 3 full documents in the context, 50K tokens total. With Claude Sonnet at \(3/M input tokens (<a href="https://docs.anthropic.com/en/docs/about-claude/pricing">pricing</a>), each call costs \)0.15. Takes 5 to 8 seconds. Quality is ok but the model has to filter a lot of noise.</p>
<p><strong>Strategy B: use RAG.</strong> You use a vector database (like <a href="https://github.com/pgvector/pgvector">PostgreSQL with pgvector</a>) to pull only the 5 most relevant chunks. 5K tokens total. Same call costs $0.015. Takes 1 to 2 seconds. Quality is often better because the model only gets the useful parts.</p>
<p>Strategy B costs 10x less, responds 3 to 4x faster, and usually gives better answers.</p>
<p>Scale it to 1,000 calls per day:</p>
<ul>
<li><p>Strategy A: \(150/day, \)4,500/month</p>
</li>
<li><p>Strategy B: \(15/day, \)450/month</p>
</li>
</ul>
<p>Same quality or better. One tenth of the cost.</p>
<hr />
<h2>The practical rule</h2>
<p>Big context is insurance, not strategy. You want the ability to process 200K tokens when you need it. A full codebase review, a long regulatory document. But for normal operations, 5 to 15K tokens of well-picked information will give you better results, faster, and cheaper.</p>
<p>This is also why a Qwen3.5-9B with 262K context running locally can be really useful for focused tasks. If you send it clean, relevant context, the quality gap between it and a top model gets much smaller. Good context selection levels the field.</p>
<p>Next article I'll connect all of this to structured prompts and model routing, and show how they save money in practice.</p>
<hr />
<p><em>Guilherme is a Senior Cloud/DevOps Engineer focused on AI infrastructure, building production pipelines in regulated environments.</em></p>
]]></content:encoded></item><item><title><![CDATA[MiniMax M2.5 and Qwen3.5: The Open-Weight Models Worth Knowing About]]></title><description><![CDATA[In the last article I showed the SWE-Bench numbers. Open-weight models are basically tied with the proprietary ones now. Two models stood out to me: MiniMax M2.5 and Qwen3.5.
Here's what I found out a]]></description><link>https://guilsilva.dev/minimax-m2-5-and-qwen3-5-the-open-weight-models-worth-knowing-about</link><guid isPermaLink="true">https://guilsilva.dev/minimax-m2-5-and-qwen3-5-the-open-weight-models-worth-knowing-about</guid><dc:creator><![CDATA[guirgsilva]]></dc:creator><pubDate>Mon, 06 Apr 2026 23:00:00 GMT</pubDate><content:encoded><![CDATA[<p>In the <a href="https://guilsilva.dev/open-weight-vs-proprietary-swe-bench-2026">last article</a> I showed the SWE-Bench numbers. Open-weight models are basically tied with the proprietary ones now. Two models stood out to me: MiniMax M2.5 and Qwen3.5.</p>
<p>Here's what I found out about them.</p>
<hr />
<h2>MiniMax M2.5</h2>
<p><a href="https://www.minimax.io/">MiniMax</a> is a Chinese startup, founded in 2022. Not part of a big tech company like Alibaba or Google. They built models for text, audio, video, and music. You might know their <a href="https://hailuoai.video/">Hailuo Video</a> product.</p>
<p>The <a href="https://huggingface.co/MiniMaxAI/MiniMax-M2.5">M2.5</a> is a Mixture-of-Experts model. 230 billion parameters total but only 10 billion active per call. That's why the price works. You get the intelligence of a big model but pay for a small one. Input costs \(0.30 per million tokens, output \)1.20. You can check their <a href="https://www.minimax.io/models/text">API pricing here</a>.</p>
<h3>What's different about it</h3>
<p>Two things I noticed.</p>
<p>First, the training. M2.5 was trained with reinforcement learning in over 200,000 real environments. Not static data. Actual code repos, browsers, office apps. The model learned by doing things, not just reading about them. One behavior that came out of this is what MiniMax calls "Architect Mindset". Before writing any code, the model breaks down the problem and plans the structure. It thinks about design before it starts coding. This wasn't programmed in, it just appeared during training. You can read more about it in their <a href="https://www.minimax.io/news/minimax-m25">release blog</a>.</p>
<p>Second, speed. M2.5 finished the SWE-Bench evaluation 37% faster than the previous version and matched Claude Opus 4.6 in speed. They also offer two API versions: regular and highspeed, same quality but lower latency.</p>
<h3>The catch</h3>
<p>Independent tests from <a href="https://openhands.dev/blog/minimax-m2-5-open-weights-models-catch-up-to-claude">OpenHands</a> show M2.5 is strong at building apps from scratch and fixing issues. But it sometimes forgets to follow formatting instructions. In one test it pushed to the wrong branch. Good at coding, not as precise as Claude at following complex instructions.</p>
<p>The weights are on <a href="https://huggingface.co/MiniMaxAI/MiniMax-M2.5">HuggingFace</a>, MIT license. You can deploy it privately and fine-tune it.</p>
<hr />
<h2>Qwen3.5</h2>
<p><a href="https://qwen.readthedocs.io/">Qwen</a> is maintained by the Qwen team at <a href="https://www.alibabacloud.com/">Alibaba Cloud</a>. All models are <a href="https://github.com/QwenLM/Qwen3.5/blob/main/LICENSE">Apache 2.0 licensed</a>, which means free for commercial use. The family goes from 0.8B to 397B parameters. The full model list is on their <a href="https://github.com/QwenLM/Qwen3.5">GitHub repo</a>.</p>
<p>One thing to note: Lin Junyang, the technical lead who ran the Qwen3.5 development, left Alibaba in early 2026. Alibaba says they'll keep investing in open source but it's worth watching.</p>
<h3>Model sizes</h3>
<p>The lineup covers different use cases:</p>
<ul>
<li><p><strong>0.8B and 2B</strong> for phones and edge devices</p>
</li>
<li><p><strong>4B</strong> for lightweight agents, 262K context</p>
</li>
<li><p><strong>9B</strong> is the sweet spot for laptops</p>
</li>
<li><p><strong>27B</strong> scored 0.724 on SWE-Bench, needs an A100 or a Mac with lots of RAM (<a href="https://huggingface.co/Qwen/Qwen3.5-27B">model card</a>)</p>
</li>
<li><p><strong>35B-A3B</strong> is MoE with only 3B active, very efficient (<a href="https://huggingface.co/Qwen/Qwen3.5-35B-A3B">model card</a>)</p>
</li>
<li><p><strong>397B-A17B</strong> is the flagship, 262K context that can extend to 1M</p>
</li>
</ul>
<p>The architecture is different from standard Transformers. Qwen3.5 combines Gated Delta Networks with MoE, which makes it faster and uses less memory. The models are also natively multimodal, trained on text, images, and video from the start.</p>
<h3>Running it on your laptop</h3>
<p><a href="https://ollama.com/">Ollama</a> is the easiest way. The <a href="https://ollama.com/library/qwen3.5">9B model</a> is the right size for consumer hardware:</p>
<pre><code class="language-bash"># Install Ollama
curl -fsSL https://ollama.com/install.sh | sh

# Download and run (~5.4GB)
ollama run qwen3.5:9b
</code></pre>
<p>Works on laptops with 16GB of RAM. The quantized version loses less than 1% quality compared to full precision.</p>
<p>Smaller options:</p>
<pre><code class="language-bash">ollama run qwen3.5:4b   # ~2.5GB
ollama run qwen3.5:2b   # ~1.5GB
</code></pre>
<p>Once running, Ollama gives you an OpenAI-compatible API at <code>localhost:11434</code>:</p>
<pre><code class="language-bash">curl http://localhost:11434/api/chat \
  -d '{"model": "qwen3.5:9b", "messages": [{"role": "user", "content": "Hello!"}]}'
</code></pre>
<p>You can also use <a href="https://lmstudio.ai/">LM Studio</a> if you prefer a GUI, or <a href="https://github.com/ggml-org/llama.cpp">llama.cpp</a> for full control.</p>
<hr />
<h2>Why this matters</h2>
<p><strong>Cost.</strong> Coding tasks can go to M2.5 at \(0.30/\)1.20 instead of Claude at \(5/\)25. The price difference absorbs the small quality gap.</p>
<p><strong>Compliance.</strong> Open-weight models inside your VPC means data never leaves your infrastructure. If you deal with PCI, SOC2, or HIPAA, this solves a real problem.</p>
<p><strong>Speed of testing.</strong> Two commands and you have a working model locally. No account, no API key, no cost. You can test ideas before committing to anything.</p>
<p>Next article I'll talk about context windows and why bigger doesn't mean better. This one surprised me when I first looked into it.</p>
<hr />
<p><em>Guilherme is a Senior Cloud/DevOps Engineer focused on AI infrastructure, building production pipelines in regulated environments.</em></p>
]]></content:encoded></item><item><title><![CDATA[Open-Weight vs Proprietary: What SWE-Bench Verified Is Telling Us in 2026]]></title><description><![CDATA[I was looking at the SWE-Bench Verified leaderboard last week and the numbers surprised me. The gap between proprietary and open-weight models is almost gone. Not in some academic test. In actual bug ]]></description><link>https://guilsilva.dev/open-weight-vs-proprietary-what-swe-bench-verified-is-telling-us-in-2026</link><guid isPermaLink="true">https://guilsilva.dev/open-weight-vs-proprietary-what-swe-bench-verified-is-telling-us-in-2026</guid><dc:creator><![CDATA[guirgsilva]]></dc:creator><pubDate>Sat, 04 Apr 2026 19:31:16 GMT</pubDate><content:encoded><![CDATA[<p>I was looking at the <a href="https://llm-stats.com/benchmarks/swe-bench-verified">SWE-Bench Verified leaderboard</a> last week and the numbers surprised me. The gap between proprietary and open-weight models is almost gone. Not in some academic test. In actual bug fixing on real GitHub repos.</p>
<p>I want to break down what I saw and why it matters if you're running AI in production.</p>
<hr />
<h2>What SWE-Bench Verified Actually Tests</h2>
<p>500 real problems from GitHub issues. Django, scikit-learn, sympy. Real bugs, real repos. The model gets the source code and has to generate a patch. Then automated tests check if the fix works.</p>
<p>No multiple choice. No tricks. Either the patch passes or it doesn't. Score goes from 0 to 1. A score of 0.80 means 400 out of 500 problems solved.</p>
<p>You can read the original paper <a href="https://arxiv.org/abs/2310.06770">here</a>. This is the closest thing we have to measuring what tools like <a href="https://docs.anthropic.com/en/docs/claude-code">Claude Code</a> and Cursor actually do at work.</p>
<hr />
<h2>The Numbers</h2>
<p>Here's what the <a href="https://llm-stats.com/benchmarks/swe-bench-verified">leaderboard</a> looks like in April 2026:</p>
<ul>
<li><p><strong>Claude Opus 4.5</strong> (<a href="https://www.anthropic.com/">Anthropic</a>): 0.809, costs \(5.00 / \)25.00 per 1M tokens</p>
</li>
<li><p><strong>Claude Opus 4.6</strong> (<a href="https://www.anthropic.com/">Anthropic</a>): 0.808, costs \(5.00 / \)25.00</p>
</li>
<li><p><strong>Gemini 3.1 Pro</strong> (<a href="https://deepmind.google/technologies/gemini/">Google</a>): 0.806, costs \(2.50 / \)15.00</p>
</li>
<li><p><strong>MiniMax M2.5</strong> (<a href="https://www.minimax.io/">MiniMax</a>): 0.802, costs \(0.30 / \)1.20</p>
</li>
<li><p><strong>GPT-5.2</strong> (<a href="https://openai.com/">OpenAI</a>): 0.800, costs \(1.75 / \)14.00</p>
</li>
<li><p><strong>Claude Sonnet 4.6</strong> (<a href="https://www.anthropic.com/">Anthropic</a>): 0.796, costs \(3.00 / \)15.00</p>
</li>
<li><p><strong>Qwen3.6 Plus</strong> (<a href="https://qwen.readthedocs.io/">Alibaba Cloud</a>): 0.788</p>
</li>
<li><p><strong>Qwen3.5-27B</strong> (<a href="https://qwen.readthedocs.io/">Alibaba Cloud</a>): 0.724, runs locally</p>
</li>
</ul>
<p>Average across all 80 models is 0.627. The top ones are well above that. But look at the gap between first and fourth place.</p>
<hr />
<h2>0.7 Points and 17x Price Difference</h2>
<p>Claude Opus 4.5 at 80.9%. MiniMax M2.5 at 80.2%. That's 0.7 points. Almost nothing.</p>
<p>But the price? 17x cheaper on input. 21x cheaper on output. If you're making thousands of API calls per day, that's the difference between \(4,500 and \)450 per month. Same ballpark quality.</p>
<p>And then there's <a href="https://huggingface.co/Qwen/Qwen3.5-27B">Qwen3.5-27B</a> at 0.724. A 27 billion parameter model solving 72% of real software problems. Running on a laptop. Two years ago this didn't exist.</p>
<hr />
<h2>One Thing to Keep in Mind</h2>
<p>All 80 results on the leaderboard are self-reported. The companies that built the models published their own scores. Nobody verified them independently. Each company can use different scaffolding and agent frameworks, so the comparison isn't perfectly fair.</p>
<p>Also SWE-Bench is Python only. Doesn't test Terraform, CloudFormation, PowerShell, Go, or anything in the infrastructure world.</p>
<p>But it's still the best proxy we have for real coding ability. And the numbers are hard to ignore.</p>
<hr />
<h2>What I Take From This</h2>
<p>The time when proprietary models had a clear edge in coding is over. The edge is tiny now, and the cost difference is huge.</p>
<p>For anyone building AI systems in production, the question isn't "which is the best model" anymore. It's about using different models for different tasks and optimizing cost without losing quality.</p>
<p>In the next article I'll go deeper into the two open-weight models that caught my attention: <a href="https://huggingface.co/MiniMaxAI/MiniMax-M2.5">MiniMax M2.5</a> and <a href="https://github.com/QwenLM/Qwen3.5">Qwen3.5</a>.</p>
<hr />
<p><em>Guilherme is a Senior Cloud/DevOps Engineer focused on AI infrastructure, building production pipelines in regulated environments.</em></p>
]]></content:encoded></item></channel></rss>