semantic-kernel — Engineering Performance
12 engineers all time · Jan 2025 – Sep 2026 · built 2026-09-08 · GitHub
Performance snapshot
Today's rolling 90-day reading for semantic-kernel, compared with the start of the series. Pick a window to move that comparison point.
Avg. perf / dev / mo
−76.6%
1.86 → 0.44 ETV
Active engineers
−58.3%
12.0 → 5.0
Features
−23.5pp
41.9% → 18.4%
vs. Microsoft
0.08x
1.3x → 0.08x · −92% below
semantic-kernel vs. Microsoft
Per-engineer ETV for semantic-kernel against Microsoft as a whole. Both lines are 90-day rolling averages scaled to a 30-day month, so they share one axis and can be read against each other at any point. Pick a window to zoom the chart to it.
Performance Composition
Each month's output split by type of work: Features (new value), Maintenance (sustaining systems), Tests, Docs, and Fixes (rework). The yellow line is output per engineer, so when it rises each engineer is delivering more, whatever the team size did. Unit: Engineering Throughput Value (ETV).
Engineering capacity
Effective engineers behind semantic-kernel, against its pre-AI baseline. Each subject has its own: semantic-kernel's is 1.86 ETV / dev / mo, its first reading in April 2025. Per-engineer ETV divided by that gives a capacity multiple, and that multiple applied to the engineers active in the trailing 90 days turns it into engineer-equivalents. The line is the real headcount, so the gap between line and area is what the leverage is worth. Because each baseline is its own, every subject opens at 1.0x on its first day: multiples measure improvement and are not comparable between subjects.
Knowledge concentration
How dependent is this repo on a small number of engineers? Higher top-1 share = higher key-person risk.
Evan Mattson owns 25.3 % of commits.
Behind the numbers
Written summary of the work completed each month.
No monthly reports available yet.
Most impactful commits
Top 10 by ETV in the all-time window.
- 6.0ETV.Net - Agent Runtime (#11648) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Move _Agent Runtime_ from dedicated repo ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> This ports the three projects/packages from the shared runtime repo + tests ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile:Chris · e2cda700 · 2025-04-21
- 4.6ETV.Net - Agent Orchestration (#11542) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Add support for multi-agent orchestration patterns based on using the the shared _AutoGen_ Agent Runtime. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> - Introduce framework for defining an `AgentOrchestration` - Include support for Sequential, Concurrent, Handoff, and GroupChat orchestrations - Includes unit-tests and samples ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile: --------- Co-authored-by: Tao Chen <taochen@microsoft.com>Chris · da59f7ee · 2025-05-15
- 3.1ETV.Net Agents - Fix and streamlining for `OpenAIAssistantAgent` (#10583) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Adjust design approach for `OpenAIAssistantAgent` to match that of `AzureAIAgent`, specifically around exposing the public constructor and not requiring the use of static factory methods. This approach enables all features present in the underlying SDK and addresses several initialization bugs based on the hidden/private constructor. > Obsolete methods are maintained for compatibility, but will not be graduated. Eventually, it is likely they will be removed. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> **Changes:** - Exposed public constructor for `OpenAIAssistantAgent` - Now support all assistant features (available in the SDK) - Deprecated factory methods and functional wrappers - Exposed extension methods to facilitate common operations - Adjusted all samples and tests - No single sample increased its line count...most have less lines of code **Fixes:** - Fixes: https://github.com/microsoft/semantic-kernel/issues/10110 - Fixes: https://github.com/microsoft/semantic-kernel/issues/10160 - Fixes: https://github.com/microsoft/semantic-kernel/issues/10390 - Fixes: https://github.com/microsoft/semantic-kernel/issues/10397 - Fixes: https://github.com/microsoft/semantic-kernel/issues/8222 - Fixes: https://github.com/microsoft/semantic-kernel/issues/6795 ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile:Chris · e1833995 · 2025-02-19
- 2.7ETVPython: Introduce the OpenAI Responses Agent (#11240) ### Motivation and Context OpenAI recently released their Responses API, which is their newest core API and an agentic API primitive, combining the simplicity of Chat Completions with the ability to do more agentic tasks. Azure OpenAI also recently released the Responses API, with close-to feature parity with OpenAI's SDK. It gives us enough to introduce an `AzureResponsesAgent` and an `OpenAIResponsesAgent` to Semantic Kernel. <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> ### Description This PR introduces: - The `AzureResponsesAgent` and `OpenAIResponsesAgent` - Allows use of the web search tool with `OpenAI` (`Azure OpenAI` currently doesn't support this). - Allows use of the file search tool with both `OpenAI` and `Azure OpenAI`. - Provides getting started samples for both agent types. **TODO:** - Add unit test coverage for the `ResponsesAgentThreadActions` class. - Add support for the computer user agent tool. - Improve typing in the `ResponsesAgentThreadActions` class. - Closes #11026 <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile:Evan Mattson · 329a35ed · 2025-04-02
- 2.6ETV.Net: Add adapters to allow SK agents to be exposed as AIAgent (#13240) ### Motivation and Context https://github.com/microsoft/agent-framework/issues/1122 ### Description Add adapters to allow SK agents to be exposed as AIAgent ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone :smile:westey · c989c5ae · 2025-10-14
- 2.5ETVPython: Introducing Realtime Clients for OpenAI and Azure OpenAI (#10127) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Implements the OpenAI Realtime API with Semantic Kernel ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Adds a RealtimeClientBase Adds RealtimeEvents Adds OpenAI and Azure Realtime clients Closes: #10108 ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone :smile: --------- Co-authored-by: Evan Mattson <35585003+moonbox3@users.noreply.github.com>Eduard van Valkenburg · de54193a · 2025-03-04
- 2.5ETV.Net: [MEVD] More test cleanup (#13320) Another batch of test cleanup work - this almost concludes what I have planned for the tests. * We no longer create any collections with GUID names; all collections have a manually-defined name, and are deleted when a test starts running. This ensures that no collections are left behind if a test crashes or is stopped in the middle, and makes it easier to examine the database. * Removed global SimpleRecord and SimpleFixture, each test suite now has its own record and fixture. * Cleaned up and renamed DistanceFunctionTests to only focus on testing the different distance functions, and added corresponding tests elsewhere. * Added IndexKindTests to specifically cover different index types.Shay Rojansky · 3eb869e1 · 2025-11-03
- 2.5ETVPython: Add support for Azure AI Agent Service (#10414) ### Motivation and Context Azure AI Agents are a managed offering, and are built on top of the OpenAI assistant v2 APIs. Until now we have not had support for them in SK Python. This PR adds support for Azure AI Agents in SK Python. The current abstractions allow one to run managed Azure AI Agents using SK constructs as is demonstrated via the getting started samples and/or the `azure_ai_agent` concept code samples. The developer must first follow the required Azure AI Agent deployment steps, and bring their connection string as well as their model deployment name. <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> ### Description Add support for Azure AI Agent Service in SK - Add sample code - Add unit tests - Restructures the `getting_started_with_agents` samples to move the respective agent code into folders like `chat_completion`, `azure_ai_agent`, etc. Updates the README as well. - Closes #10187 **TODO**: add more test coverage either in this PR, or a subsequent one. <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile:Evan Mattson · c3ab7133 · 2025-02-07
- 2.4ETV.Net: Agents: Support Azure AI Agent (#10134) ### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Add support for Azure AI Agents: - https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/ai/Azure.AI.Projects/src/Custom/Agent - https://learn.microsoft.com/en-us/azure/ai-services/agents/ Fixes: https://github.com/microsoft/semantic-kernel/issues/10114 ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> - Adds `AzureAIAgent` type in a new project/package - Maintains parity with `OpenAIAssistantAgent` - Supports Azure specific tool offerings ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile:Chris · 2d7a558d · 2025-01-27
- 2.2ETV.Net: Feature OpenAI Response Agent (#11498) ### Motivation and Context Semantic Kernel `Agent` implementation backed by the Open AI Response API. ### Description <!-- Describe your changes, the overall approach, the underlying design. These notes will help understanding how your code works. Thanks! --> Add agent, samples, and tests for `OpenAIResponseAgent` ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [X] The code builds clean without any errors or warnings - [X] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [X] All unit tests pass, and I have added new tests where possible - [X] I didn't break anyone :smile: --------- Co-authored-by: Chris <66376200+crickman@users.noreply.github.com> Co-authored-by: Chris Rickman <crickman@microsoft.com> Co-authored-by: SergeyMenshykh <68852919+SergeyMenshykh@users.noreply.github.com>Mark Wallace · aabfc9c0 · 2025-06-10