Moonshot AI put the weights for Kimi K3.1 Pro on Hugging Face this week, and for once the license is about as interesting as the benchmarks.
The model card calls it "an open-weight, natively multimodal agentic model" and Moonshot's "most capable 3T-class model to date." It's post-trained from Kimi K3 with large-scale reinforcement learning across hundreds of domains, and it's the first model in the K3.1 series. The release got 422 points on Hacker News and 1,243 on r/LocalLLaMA, which is a lot of attention for a model almost nobody in either thread can actually run.
What's actually new
The shape of it, straight from the card:
- Mixture-of-Experts, 2.8T total parameters, 104B active per token
- 896 experts, 16 picked per token, plus 2 shared experts
- 1,048,576-token context window
- Text and image input, with a 401M-parameter vision encoder
- MXFP4 weights and MXFP8 activations, trained with quantization in mind
The architecture change Moonshot calls out is attention. Compared with Kimi K3, it swaps the full-attention Gated MLA layers for Gated DeepSeek Sparse Attention, to make long context cheaper. The model has 93 layers, 69 of them KDA and 24 Gated DSA.
On benchmarks, it's close to the top closed models on the agent-flavoured ones, at least in Moonshot's own table. Terminal-Bench 4.0 is 65.7, next to 66.4 for Claude Opus 5.5 and 58.2 for GPT-6 Astra. BrowseComp is 92.1. SWE Marathon v1.1 is 51.7, the highest in the table. It's weaker elsewhere, like Program Bench at 31.5 against 65.0 for Opus 5.5, and ExploitBench at 74.7 where GPT-6 Astra scores 100. Worth noting that a lot of the coding numbers were run with the Claude Code harness, and several benchmarks are Moonshot's own internal ones.
You can use it through Moonshot's API at platform.kimi.ai as kimi-k3.1-pro, with OpenAI and Anthropic-compatible endpoints, or serve it yourself with vLLM or SGLang.
Why it matters if you build agents
Two practical things jump out.
First, the tool-calling gotcha. The card says that for multi-turn conversations and tool calls, you have to pass the complete assistant message back as-is, including reasoning_content and tool_calls, not just content. A lot of agent loops quietly strip reasoning before appending the turn to history. Say your agent calls a search tool, gets results, and then has to decide on a follow-up call. If your framework dropped the reasoning from the previous turn, the model loses the plan it made, and you'll get weird behaviour that looks like a dumb model but is really a plumbing bug. So check what your SDK keeps before you judge it. Effort is set with a top-level reasoning_effort field (low, high or max, default max), which matters for cost if you're calling it in a loop.
Second, the license. It's MIT-style with conditions. If you or your affiliates run a "Model as a Service" business and make more than $20 million over any 12 months, you need a separate agreement with Moonshot before commercial use. If a product built on it has more than 100 million monthly active users or $20 million in monthly revenue, it has to show "Kimi K3.1-Pro" prominently in the UI. Internal use is exempt from both. And here's the bit agent builders should read twice: Model as a Service doesn't include "end-user products with model capabilities solely embedded within specific features or harnesses." So an agent product that uses Kimi under the hood is a different case from reselling raw inference.
If you do try swapping Kimi into an existing agent, the part that ideally shouldn't move is how the agent reaches your apps. When those connections sit behind an MCP gateway like MewCP, the app logins, per-agent permissions and call log stay put while you change the model, since anything that connects to a remote MCP server works with it, same URL and same key.
What people are saying
Hardware dominated both threads. On Hacker News the first reaction was that you'd need something like an 8x B300 node. Others argued MoE makes SSD streaming possible: keep the dense part and routing in memory and pull experts from disk. One commenter estimated you could do it with 192GB of RAM, slowly, and another said the approach had been demoed on a 128GB M5 MacBook Pro at around 0.3 tokens per second. On r/LocalLLaMA someone said their $60k server at work couldn't handle it, which set off a very long argument about whether $60k is a normal hobby budget lol.
The most useful comment for builders was a company on HN running the older Kimi 2.8 on a 4x AMD MI300A server on-prem that cost about $110k. They said it serves 30 to 40 analysts and staff at once, and that their Claude bill had been around $14k a month and climbing when they bought it. Not frontier, they said, but the largest model that runs reliably on their hardware.
There was pushback on the "open" label. One HN commenter said it isn't an open weight model at all because of the license terms. Others argued it isn't settled that model weights can be copyrighted in the first place. And someone pointed out that because of the MaaS clause, third-party providers probably can't price it much below Moonshot. Another reminded everyone that price comparisons between providers are muddied by cache hit rates.
Open questions
All the benchmark numbers are Moonshot's, with a mix of internal tests and scores pulled from other reports, so wait for independent runs before you pick a model off that table. A Reddit commenter said Moonshot had announced the open weights would be less capable at cyber security tasks than the API version. I couldn't confirm that from the model card. The download size people quoted in the threads, about 1.5TB, also comes from commenters, not from the pages I checked. And nobody yet knows how usable SSD-streamed inference will be for agent workloads that need fast turns.
Sources