Linux Festival  ·  2026

The OpenSourceAgentStack

What changes when software starts to reason, and the open protocols that keep agents interoperable.

Mehdi Ghalenoei

Mehdi Ghalenoei

AI Engineer at System Group

About me

Mehdi Ghalenoei

AI Engineer at System Group

My path

  1. Frontend Dev
  2. Software Engineer
  3. DevOps Team Lead
  4. AI Engineer

mehdigh@systemgroup.net

Today

From ERP to open standards

01 · ERP

The system we know

Architecture before agents

02 · AGENTS

From clicks to goals

What changes when software chooses its steps?

03 · ADLC

Build with discipline

Scope · design · build · evaluate · observe

04 · STANDARDS

Connect the ecosystem

MCP · A2A · A2UI · AGENTS.md

Part 1

An ERP system

Staff ERP app web & mobile Traefik gateway ERP MODULES Finance Inventory Purchasing Sales HR NATS message broker PostgreSQL shared database

Part 1

Software development life cycle (SDLC)

1 Requirements issues & stories 2 Design architecture 3 Code Git & reviews 4 Test unit tests 5 Deploy CI/CD 6 Maintain monitoring SDLC

Part 1

A reasoning layer joins the ERP

ERP app goal AI LAYER NEW LLM thinks and plans Inventoryagent Purchasingagent Financeagent Memory MCP SAME ERP MODULES Finance Inventory Purchasing Sales HR

Part 1

Agents are moving into production

57%

of teams already run AI agents in production

LangChain, State of Agent Engineering, Dec 2025

27% →40%

of large companies now scale AI agents, in one year

McKinsey, The State of AI in 2026, Aug 2026

32%

skipped buying software because coding agents could build it

McKinsey, The State of AI in 2026, Aug 2026

40%+

of agent projects may be cancelled by 2027

Gartner, Jun 2025

Part 2

An LLM talks. An agent gets work done.

What our ERP needs
LLM chatbot
Agent
“Do we have enough laptops?”
“I can’t see your stock.”
“No. 3 days left. PO drafted.”
Read live data
guesses
get_stock()
Take actions
only writes text
drafts the PO
Follow our rules
no control
guardrails
Work in steps
one reply
think → act → observe

Part 2

Anatomy of an agent

Buyer goal ERP ASSISTANT LLM thinks, picks the next step Memory Tools act observe get_stock() ERP modules Inventory, Finance… code: always the same LLM: decides each time

Goal

“Do we have enough laptops?”

Think

Check stock and sales.

Act

get_stock("LAP14")

Observe

{"stock": 12, "weekly": 30}

Answer

“No. 3 days left. PO drafted.”

Part 2

Four principles of an agent

Goal-driven

Works toward a goal

Autonomy

Decides how

Reactivity

Adapts to change

Proactivity

Acts before problems

Part 2

Why agents are hard to build

Challenge
The problem
01
Non-determinism
Same question, a different answer each time
02
Security
It can pay suppliers
03
Cost & speed
One task can take 10–15 AI calls
04
Observability
A wrong answer, but no error message
05
Hallucination
It invents an invoice total

Part 2

The probabilistic shift

OLD · DETERMINISTIC 2 × $50 total() $100 Same input, same output. Test: pass / fail NEW · PROBABILISTIC Pay invoice#4711 Agent A · Pay on the due date B · Pay now, get 2% off C · Pays a duplicate invoice Many good answers. Judge quality, not equality.

Part 3

The Agent Development Lifecycle

1 Goal prompt & rules 2 Design flow & patterns 3 Select model & tools 4 Build dev loop 5 Finetuning optional 6 Evaluate exam & grading 7 Observe traces & metrics ADLC

Give it a goal and rules

Goal Persona Guardrails system_prompt.md Keep laptops and supplies in stock, within budget. You are a careful buying assistant. - Orders over $10,000 need a manager’s OK. - Never change a supplier’s bank account. - Never show salary data.

Eight design decisions

01

Workflow

Fixed steps or a flexible graph?

02

Patterns

One agent or a team?

03

Context

What does the model see?

04

Tools

Which ERP functions, with which rights?

05

Framework

Which framework to build on?

06

Model & cost

Which model, at what price per task?

07

Evaluation

How do we know it works?

08

Observability

How do we see what it did?

Workflows

FIXED · always the same steps Start Read invoice Match PO Post to ledger End FLEXIBLE · the AI picks the next step Start Read invoice Match PO Amountsmatch? yes Post End no Ask buyer loop

Agentic patterns

Router

Request ? Inventory Purchasing Finance

Like a receptionist: sends each request to the right expert.

Reflection

Generator draft Critic feedback passes Answer

A second agent checks the work before it goes out.

Agentic patterns

Human-in-the-loop

Agent Approve PO? $24,000 Yes No Manager Send PO

A person approves risky actions before they run.

Group chat

Manager picks speaker Shared thread Planner Coder Tester

Agents contribute to one shared thread; the manager selects who speaks next.

Multi-agent architecture

ERP event LLM Orchestrator Price price DB Stock stock DB Supplier supplier API Merge Critic Human Post PO to ERP SHARED STATE

Context engineering

1 System promptjob description & rules 2 Chat so farSara’s earlier messages 3 Tool listget_stock(), draft_po() … 4 Company documentspurchasing-policy.pdf 5 The question“Can I order 40 laptops?” 1 2 3 4 5 free context window LLM reads only this

Framework, model & tool selection

Which LLM?

Model

Which framework?

Framework

What can it touch?

Tools

edit run read the log dev loop Finetuning optional, rarely needed

Shift the mindset: test the what and the how

“Do we have 40 laptops?” SAME QUESTION, THREE RUNS Answer Is it right? Thinking Did it check? A get_stock() stock: 12 “No, only 12.” B skips the tool no data “Yes, we have 40.” C skips the tool old memory: 12 “No, only 12.”

The new QA pipeline

1 · UNIT TESTS · DETERMINISTIC Tool unit tests get_inventory()add(2, 2) must pass 100% 2 · EVALUATION PIPELINE · PROBABILISTIC Golden set50–1,000exam questions Agent runon the fulldataset LLM-as-a-judgegrades eachanswer Analysisright tools, argsand call order Qualitygate score ≥ 8.50 violations DeployCI/CD

Observability: AgentOps

DevOps · the body

Is the server OK?

Serverup ✓CPU42%Errors0

AgentOps · the mind

Is it thinking well?

“Why is invoice 4711 blocked?”
├─ get_invoice(4711)   ✓
├─ get_invoice(4711)   ⚠ repeated
├─ check_policy()      ✓ pass
└─ answer              ✓ grounded

A healthy server can still hide a confused agent.

Part 3

The open-source toolbox

1GoalNeMo GuardrailsGuardrails AI
2DesignLangGraphCrewAIAutoGen
3SelectOllamavLLMLiteLLM
4BuildFastMCPLlamaIndexLangflow
5FinetuningTRLPEFToptional
6EvaluatepromptfooDeepEvalRagas
7ObserveLangfuseOpenTelemetryGrafana

Part 4

Open governance for the agent ecosystem

“The internet runs on open protocols and open source. So will agentic AI.”

aaif.io

Agentic AI Foundation (AAIF)since Dec 2025
MCP

agent ↔ tools

from Anthropic
A2A

agent ↔ agent

from Google
AGENTS.md

notes for coding agents

from OpenAI
LF AI & Data Linux Foundation · AI and data projects

Part 4 · Open standards

AGENTS.md: project instructions for coding agents

A simple, open format for guiding coding agents, used by over 60k open-source projects.

Setup & tests Code conventions Project rules
AGENTS.md
## Project
Use the existing ERP service patterns.

## Checks
Run `pnpm test` before proposing changes.

## Conventions
Keep API contracts backward compatible.
Never commit secrets or customer data.

Part 4

How the standards work together

Buyer ERP app A2UI ERPassistant GATEWAY security & logs A2A Supplier B’sagent MCP ERP modulesFinance · Inventory · HR

Part 4

MCP: a USB-C port for AI

ERP ASSISTANT LLM MCP client MCP client MCP client MCP MCP MCP Finance Inventory HR TOOLpost_invoice() TOOLget_stock() TOOLleave_days()
203M

MCP SDK downloads in one month

npm, Sep 2026

Model-controlled

Tools

App-controlled

Resources

User-controlled

Prompts

ProtocolJSON-RPC 2.0stdio · localStreamable HTTP · remote

Part 4

A2A: agents talk to agents

Our buying agent Supplier B’s agent task 1 · What can you do? 2 · My card: quotes, orders 3 · “Quote for 40 laptops” 4 · “Which delivery date?” 5 · “Before Nov 1” 6 · Done: quote.pdf
150+

organisations support A2A

Linux Foundation, Apr 2026

Part 4

A2UI: the agent asks, the app draws

ERPassistant A2UI data, not code Our ERP app Text Button Field Card its own trusted widgets Approve PO Supplier B 40 laptops $24,000 Approve Reject the click goes back to the agent