| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-05-01 | 6.2 kB | |
| v0.12.2 source code.tar.gz | 2026-05-01 | 6.6 MB | |
| v0.12.2 source code.zip | 2026-05-01 | 8.1 MB | |
| Totals: 3 Items | 14.7 MB | 2 | |
π£οΈ Continuing the Path to v1.0
v0.12.2 lands the Agent Harness in Beta β the architecture that makes agents stateful by design.
π Release Roadmap π§© AG2 Playground
ποΈ The Agent Harness β Stateful Agents, by Design
A plain LLM loop is stateless and forgets the moment a conversation ends. The Harness turns it into a stateful agent that remembers across sessions, manages its own context window, organizes its own knowledge, and shares findings with peers β without rewriting your loop.
It does this by decomposing every agentic operation into four orthogonal stages, each a swappable Protocol you opt into:
- πΎ Persistence β What the agent knows. Durable, cross-conversation.
- π§© Assembly β What the agent sees. Composed per LLM call.
- β‘ Execution β The LLM call. Already exists in any loop.
- π Post-Processing β Maintenance. Compaction Β· aggregation.
What this unlocks
- π Long-running single agents β Hours without blowing the context window.
- π§ Cross-session memory β "My name is Alice, working on project X" is still remembered tomorrow.
- π€ Multi-agent knowledge sharing β Peers read each other's exposed paths via cheap reads, not expensive delegation round-trips.
What's in the box
- π KnowledgeStore β Agent-owned virtual filesystem with
read/write/list/delete/exists. LLMs already speak filesystem β no new mental model. Five backends ship:MemoryKnowledgeStore,DiskKnowledgeStore,SqliteKnowledgeStore,RedisKnowledgeStore,LockedKnowledgeStore. - π§© Assembly Policies β Composable context shaping (not just a filter). Stack reduction and injection policies independently:
ConversationPolicy,SlidingWindowPolicy,TokenBudgetPolicy,EpisodicMemoryPolicy,WorkingMemoryPolicy,AlertPolicy. - βοΈ Compaction β Constraint-respecting reduction of the live event stream.
TailWindowCompact(zero LLM cost) orSummarizeCompact(1 LLM call per fire). - π Aggregation β Builds long-term memory from short-term experience.
ConversationSummaryAggregatewrites per-session summaries;WorkingMemoryAggregatemaintains persistent agent state. - π Bootstrap + SKILL.md β Self-describing knowledge stores.
DefaultBootstrapwrites/log/,/artifacts/,/memory/withSKILL.mdfiles so agents know where to look on first run. - π° Cost Visibility β Every harness LLM call emits a
CompactionCompletedorAggregationCompletedevent on the stream. Telemetry-ready, not buried in your bill.
Every feature is opt-in β a bare Agent still has zero harness middleware.
π¬ Other Beta Updates
- π PerplexitySearchTool (Beta) β Now available in Beta and integrated into the search module.
- π§ Normalized Parts on Builtin Tool Result Events β Tool result events now expose normalized parts.
- π Server-Side Builtin Tool Calls β Now persisted in history.
- βοΈ Agent Subtasks Disabled by Default β Safer default behavior for Agent subtasks.
Beta Bug Fixes
- π§ Beta: Gemini ToolCallEvent IDs β Generate unique IDs per
ToolCallEventwhen the provider omitsfc.id. - π§ Beta: CadenceWatch Buffer β Drain buffer when callback outlasts
max_wait. - π§ Beta: Redis Serialization β Moved serialization for Redis to the event serializer.
- π§ Beta: Gemini Empty Text Parts β Drop empty text parts plus AG-UI guard.
What's Changed
- build(deps-dev): bump nbconvert from 7.16.6 to 7.17.1 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2730
- build(deps-dev): bump uv from 0.8.15 to 0.11.6 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2731
- build(deps-dev): bump pytest from 9.0.2 to 9.0.3 by @dependabot[bot] in https://github.com/ag2ai/ag2/pull/2732
- feat(beta): harness primitives (1/3) by @SirEntropy in https://github.com/ag2ai/ag2/pull/2658
- fix(beta): Gemini unique id per ToolCallEvent when provider omits fc.id by @marklysze in https://github.com/ag2ai/ag2/pull/2737
- Add AI policy alignment to PR template and AGENTS.md by @elCaptnCode in https://github.com/ag2ai/ag2/pull/2741
- fix(beta): persist server-side builtin tool calls in history by @vvlrff in https://github.com/ag2ai/ag2/pull/2695
- feat(beta): Agent Assembly layer (2/3) by @SirEntropy in https://github.com/ag2ai/ag2/pull/2655
- feat(beta): Wire harness + assembly into Agent (3/3) by @SirEntropy in https://github.com/ag2ai/ag2/pull/2656
- fix(docs): Code examples documentation tidy by @marklysze in https://github.com/ag2ai/ag2/pull/2742
- feat(beta): disable Agent subtasks by default by @marklysze in https://github.com/ag2ai/ag2/pull/2745
- fix(beta): drain CadenceWatch buffer when callback outlasts max_wait by @marklysze in https://github.com/ag2ai/ag2/pull/2748
- docs(beta): beta roadmap and reasoning updates, corrections by @marklysze in https://github.com/ag2ai/ag2/pull/2747
- Broken links with double slashes and typo in notebook URLs by @VasiliyRad in https://github.com/ag2ai/ag2/pull/2649
- feat(beta): expose normalized parts on builtin tool result events by @vvlrff in https://github.com/ag2ai/ag2/pull/2743
- feat(beta): add PerplexitySearchTool and integrate into search module by @vvlrff in https://github.com/ag2ai/ag2/pull/2740
- fix(beta): Move serialisation for Redis to event serialiser by @marklysze in https://github.com/ag2ai/ag2/pull/2750
- fix(beta): drop empty Gemini text parts + AG-UI guard by @marklysze in https://github.com/ag2ai/ag2/pull/2753
- docs(beta): document PerplexitySearchTool in common toolkits by @vvlrff in https://github.com/ag2ai/ag2/pull/2755
- fix: Add workload_identity to OpenAI by @marklysze in https://github.com/ag2ai/ag2/pull/2756
- chore: Add extras to Beta LLM Tests by @marklysze in https://github.com/ag2ai/ag2/pull/2757
- Version bump to 0.12.2 by @marklysze in https://github.com/ag2ai/ag2/pull/2758
Full Changelog: https://github.com/ag2ai/ag2/compare/v0.12.1...v0.12.2