Looking for the fastest CPU architecture for a lightweight agentic assistant (tool-use/web search) — i7-8650U, 16GB RAM, tried BitNet & LFM2
Hey everyone, I'm trying to build a small agentic assistant (web search, tool calling, maybe basic RAG) that runs entirely on CPU. Doesn't need to be super smart — I care much more about prefill/preprocessing speed and generation speed than raw intelligence,…
Hey everyone, I'm trying to build a small agentic assistant (web search, tool calling, maybe basic RAG) that runs entirely on CPU. Doesn't need to be super smart — I care much more about prefill/preprocessing speed and generation speed than raw intelligence, since the whole point is quick back-and-forth tool calls rather than long creative writing. My hardware: CPU: Intel i7-8650U (Kaby Lake-R, 4c/8t, 15W TDP, AVX2 only — no AVX-512) RAM: 16GB DDR4 dual-channel No dGPU, CPU-only inference What I've tried so far: BitNet b1.58-2B-4T — works, curious how it compares for tool-use specifically LFM2 — prefill/decode felt fast at first, but I'm seeing prefill get progressively slower with every new message in the conversation (not just linear, feels like it compounds). Not sure if this is a caching issue on my end (llama.cpp/Ollama not reusing the prompt prefix) or something architectural with the hybrid attention blocks. What I'm looking for: Architectures/models that stay fast even as context grows (chat history + tool outputs can add up fast) — so I'm curious about pure SSM/linear-attention options (Mamba2, RWKV-7, etc.) vs hybrid ones like LFM2 Anything specifically good at native tool calling / function calling at small sizes (1-4B range) I'm open to fine-tuning if a model doesn't support tool use out of the box but is otherwise fast on my hardware — so recommendations don't need to already support function calling, as long as the base architecture is fast for CPU prefill+decode Would love to hear what's actually working well for people running small agentic setups on similar low-power/no-AVX-512 CPUs. Benchmarks/tok-s numbers on similar hardware especially appreciated 🙏
Collected discussion
qwen 3.5 have the 0.8B, 2B and 4B versions and despite their tiny sizes are pretty amazing at tool calling and so on.
generation so good. but prefill is very slow
Without any gpu, prefill will be bad most of the times in my experience
Granite has small moe models released few month ago. granite-tiny-h-7ba1b
Lfm2.5 8b a1b MoE 👍
Running LLM inference on a 15W CPU is an interesting constraint, a few ideas for you: ibm-granite/granite-4.1-3b google/gemma-4-E4B-it Qwen/Qwen3.5-4B All have GGUF support, unsloth and bartowski have them covered Start with Q8 and see if they work for your usecase then try Q4 to see if it's actually faster and by how much and expect there WILL be brain damage from quantizing these little guys.
I'd probably look at something like https://huggingface.co/JetBrains/Mellum2-12B-A2.5B-Thinking-GGUF-Q4_K_M
Minicpm5-2b should hit huggingface pretty soon. Would check for it tomorrow, benchmarks put it between Gemma4 e2b and e4b which is pretty good for the size.
Web search + rag + tool calling = LONG prefill. Doing it on system ram will be even slower. Everytime you add a tool, it fills context. Plus rag, plus web search (which is always slow). Instead, only install the tools and database that you need.
I have a very similar machine and I had codex make a version of colibri to work with Qwen3.6-35B-A3B. It was the first time I was able to run it on my machine. I didnt look much into the code. Try it if you want: https://github.com/RuiRDA/colibri-qwen3.6-35B-A3B I was getting about 1tps, and I think that is great for a CPU/DDR4 machine like mine. For tool calls and agenting work I dont know if it will work. If you try it let me know how it went
It's going to be painfully slow but the smartest you can fit is ternary bonsai 27b, alternatives are zaya1, lfm2.5 8b a1b, mellum2
sadly you cannot run 35A3 which is almost the best for CPU.
Nothing is going to be fast on that for prefill or token gen. Your best bet would be a small Qwen. But 4 cores? Sorry but that's just not reasonable to expect any sort of speed from. At least with any remotely competent model. Your options are 4B params or less basically. I'd recommend 35B-A3B over anything else in a nanosecond, but you don't have enough RAM. You are going to need to upgrade your hardware or accept that it's slow.