Date: 2026-05-17
Audience: IT developers working with .NET + actor models + LLM integration
Sister page (Korean): Akka.NET에 LLM Agent 객체 만들기 — Akka.io Agent SDK를 액터 모델로 이식하기
Related memorizer notes (new window):
- Akka.NET Distributed Actor Model (Korean)
- Akka Agents Platform Overview (Korean)
- Akka Sample Projects (9 agents) (Korean)
- Akka Hello World Agent Tutorial (Korean)
- Akka Multi-Agent Planner (Korean)

Akka.io (on the JVM) ships an Agent component that bundles LLM calls + session memory + tool calls into a single first-class abstraction. Akka.NET does not yet provide this abstraction natively, but you can build the same shape using ReceiveActor + Become transitions + supervised child actors + an external LLM client. This article walks through the design and runnable samples.
| Dimension | Akka.io (JVM / Java SDK) | Akka.NET |
|---|---|---|
| :--- | :--- | :--- |
| Actor model | ✅ Same Hewitt-1973 lineage | ✅ Akka.io ported to .NET, identical |
| Agent component | ✅ First-class citizen (Akka SDK 2024+) | ❌ Missing — must be assembled by hand |
| Workflow / Entity / View | ✅ Annotations + SDK runtime | ❌ Library level (Persistence·Streams separately) |
| Memory management | Built-in Event Sourced Entity | Akka.Persistence (equivalent) |
| Tool calling integration | LLM response → automatic dispatch | Hand-rolled (Newtonsoft + reflection) |
Akka.io's Agent SDK wraps a Context Gathering → Reasoning → Action Taking → Progress Evaluation lifecycle into one abstract class (see Akka Agents Platform note). On the .NET side you have to build the same shape with explicit Become transitions + PersistentActor checkpoints.
Minimal form from the official Hello World tutorial:
@Component(id = "hello-world-agent")
public class HelloWorldAgent extends Agent {
private static final String SYSTEM_MESSAGE = "You are a cheerful AI...";
public Effect<String> greet(String userGreeting) {
return effects()
.systemMessage(SYSTEM_MESSAGE)
.userMessage(userGreeting)
.thenReply();
}
}