This article is part of the Multi-Agent Systems series in Federico Calò's UniAppunti portfolio, reworked from university notes and personal study material. See series index.
FIPA-ACL (Agent Communication Language) is the 1996+ standard for inter-agent communication, based on speech act theory by Austin 1962 and Searle 1969. Performatives like INFORM, REQUEST, AGREE represent illocutionary acts. In this article we build conversation protocols with FIPA-ACL: request-inform-agree, contract-net, subscribe-notify. Implementation in JADE Java + Python via spadeAgent.
Theoretical foundations and reference papers
FIPA-ACL is illocutionary act layer. Message slots: sender, receiver, performative, content, language, ontology, conversation-id, reply-to, reply-with, in-reply-to. 22 standard performatives (FIPA SC00037J 2002). Content can be SL (FIPA Semantic Language, KIF-like), KQML, JSON, custom.
Reference: Searle Speech Acts (Cambridge 1969), Cohen-Levesque 1990 AI Journal Persistence, Intention, and Commitment, FIPA ACL Message Structure Specification SC00061G.
Outline
- Speech act theory: Austin-Searle
- Standard performatives: 22 total
- Conversation pattern: request-inform
- Subscribe-notify for events
- Content language: SL, JSON, JSON-LD
- Python implementation: spadeAgent
Speech act theory: Austin-Searle
Austin 1962 distinguishes locutionary (what is said), illocutionary (what is done), perlocutionary (effect). Searle 1969 categorises illocutionary: assertive, directive, commissive, expressive, declarative. FIPA performative = formalised illocutionary.
# Performative categorization
# INFORM, CONFIRM, DISCONFIRM = assertive (state belief)
# REQUEST, QUERY-IF, QUERY-REF = directive (request action)
# AGREE, REFUSE, CANCEL = commissive (commit to future)
# PROPAGATE, PROXY = relay messages
Mathematical formalisation. We define the problem as empirical risk minimisation R(θ) = (1/n) Σ L(f_θ(x_i), y_i), where L is the appropriate loss (cross-entropy for classification, MSE for regression, KL divergence for density matching). The Adam optimiser (Kingma-Ba 2014 arxiv:1412.6980) applies updates θ_t+1 = θ_t − η m̂_t / (√v̂_t + ε) with first- and second-order bias-corrected moments. AdamW (Loshchilov-Hutter 2017 arxiv:1711.05101) decouples weight decay, improving generalisation by 1-2pp on ImageNet.
Step-by-step algorithm. (1) Initialisation: He init for ReLU (He et al. 2015 arxiv:1502.01852), Xavier for tanh (Glorot-Bengio 2010). (2) Forward pass: propagate inputs through layers, caching intermediate activations for the subsequent backward. (3) Loss computation: apply softmax+CE in log-stable mode (logsumexp trick). (4) Backward: compute gradients via autograd or manual backprop; clip-norm to 1.0 for stability (Pascanu et al. 2013). (5) Optimizer step: update weights with Adam/AdamW; learning rate scheduler cosine decay (Loshchilov 2016) or linear warmup + decay (typical 1k step warmup). (6) Validation: every N steps, snapshot the best checkpoint by validation metric.
Complexity analysis and cost profile. Asymptotic complexity: forward pass O(n · d^2) per dense layer, O(n^2 · d) for quadratic attention; typical memory O(n · d) with activation checkpointing. Production throughput target: 1k req/s per node with vLLM PagedAttention (Kwon et al. SOSP 2023 arxiv:2309.06180), continuous batching and KV cache sharing across requests. As a practical heuristic, a Bayesian hyperparameter tuning run (Optuna or Ax) typically needs 30-100 trials × 2-6 hours each, totalling 100-500 GPU-hours for a competitive model on a medium problem. Memory budget must be estimated before training: rule of thumb is GPU memory = 16 × params for fp32 Adam training, dropping to 4 × params with fp16 mixed precision + activation checkpointing (Chen et al. 2016 arxiv:1604.06174).
Known limits and ablation studies. Known limit: distribution shift between train and production; Quinonero-Candela et al. Dataset Shift in Machine Learning (MIT Press 2009) taxonomises covariate, label and concept shift. Known limit: learning rate sensitivity; Smith 2017 ablation (arxiv:1708.07120) shows 1cycle policy cuts convergence time by 3-5x compared to fixed LR. A third limit emerges in the Recht et al. ICML 2019 benchmark (arxiv:1902.10811): SOTA CIFAR-10 models lose 5-10pp accuracy on CIFAR-10.1 (an independent replica), indicating benchmark overfitting. Mitigation: use independent test sets generated post-training, avoid tuning hyperparameters on test, apply Bonferroni correction when comparing many models.
Recent SOTA-pushing paper. Yao et al. 2022 ReAct (arxiv:2210.03629), Hu et al. 2021 LoRA (arxiv:2106.09685), Jiang et al. 2024 Mixtral 8x7B (arxiv:2401.04088). In particular, 2024-2025 works moved the frontier: Mixtral 8x22B (Jiang et al. 2024) beats GPT-3.5-turbo on MMLU (77.8 vs 70.0) using 39B active params over 141B total (Mixture of Experts top-2 routing). DeepSeek-V3 (DeepSeek-AI Dec 2024 arxiv:2412.19437) reaches 88.5 MMLU with MLA attention and Multi-Token Prediction loss, training cost USD 5.5M (10x cheaper than GPT-4). Claude 3.5 Sonnet (Anthropic Jun 2024) beats GPT-4o on HumanEval (92.0 vs 90.2) and becomes the reference model for agentic coding. Llama 3.3 70B (Meta Dec 2024) matches 405B using half the parameters thanks to iterative Knowledge Distillation.
Industry impact. Cloudflare R2 and Workers AI offer on-demand GPU inference at USD 0.01 per 1k neuron-second for public-domain models (LLaMA-3.1, Mistral, Gemma). For a principal-level portfolio engineer: tracking cost per 1k inferences, sustainable throughput and p99 SLO is mandatory. Standard tooling: Prometheus + Grafana for infra metrics, Langfuse or Helicone for LLM-specific observability, OpenTelemetry for distributed tracing. Typical cost optimisation: semantic cache (gptcache, Redis with embedding similarity) cuts 30-40% of calls; speculative decoding (Leviathan 2023 arxiv:2211.17192) doubles throughput at the same quality.
Standard performatives: 22 total
INFORM (assert belief), REQUEST (ask action), AGREE/REFUSE (commitment), PROPOSE/ACCEPT/REJECT (negotiation), QUERY-IF/QUERY-REF (info request), SUBSCRIBE/UNSUBSCRIBE (event), CALL-FOR-PROPOSAL (Contract Net), CFP-WHEN (conditional), PROPAGATE, PROXY, NOT-UNDERSTOOD, FAILURE.
// JADE ACLMessage constants
// ACLMessage.INFORM, REQUEST, AGREE, REFUSE,
// PROPOSE, ACCEPT_PROPOSAL, REJECT_PROPOSAL,
// CFP, QUERY_IF, QUERY_REF, SUBSCRIBE,
// NOT_UNDERSTOOD, FAILURE, CANCEL
Mathematical formalisation. We define the problem as empirical risk minimisation R(θ) = (1/n) Σ L(f_θ(x_i), y_i), where L is the appropriate loss (cross-entropy for classification, MSE for regression, KL divergence for density matching). The Adam optimiser (Kingma-Ba 2014 arxiv:1412.6980) applies updates θ_t+1 = θ_t − η m̂_t / (√v̂_t + ε) with first- and second-order bias-corrected moments. AdamW (Loshchilov-Hutter 2017 arxiv:1711.05101) decouples weight decay, improving generalisation by 1-2pp on ImageNet.
Step-by-step algorithm. (1) Initialisation: He init for ReLU (He et al. 2015 arxiv:1502.01852), Xavier for tanh (Glorot-Bengio 2010). (2) Forward pass: propagate inputs through layers, caching intermediate activations for the subsequent backward. (3) Loss computation: apply softmax+CE in log-stable mode (logsumexp trick). (4) Backward: compute gradients via autograd or manual backprop; clip-norm to 1.0 for stability (Pascanu et al. 2013). (5) Optimizer step: update weights with Adam/AdamW; learning rate scheduler cosine decay (Loshchilov 2016) or linear warmup + decay (typical 1k step warmup). (6) Validation: every N steps, snapshot the best checkpoint by validation metric.
Complexity analysis and cost profile. GPU memory profile: activations dominate in training (10-20x weights), KV cache dominates inference (proportional to batch · seq_len). FlashAttention-2 (Dao 2023 arxiv:2307.08691) reduces memory from O(n^2) to O(n) via SRAM tiling. Production throughput target: 1k req/s per node with vLLM PagedAttention (Kwon et al. SOSP 2023 arxiv:2309.06180), continuous batching and KV cache sharing across requests. As a practical heuristic, a Bayesian hyperparameter tuning run (Optuna or Ax) typically needs 30-100 trials × 2-6 hours each, totalling 100-500 GPU-hours for a competitive model on a medium problem. Memory budget must be estimated before training: rule of thumb is GPU memory = 16 × params for fp32 Adam training, dropping to 4 × params with fp16 mixed precision + activation checkpointing (Chen et al. 2016 arxiv:1604.06174).
Known limits and ablation studies. Known limit: mode collapse when loss converges to non-expressive local minima; Goodfellow et al. 2014 ablation shows Inception Score dropping from 8.1 to 3.2 when feature matching is disabled. Known limit: overconfidence in deep nets; Guo et al. ICML 2017 arxiv:1706.04599 reports ECE > 0.10 without temperature scaling. A third limit emerges in the Recht et al. ICML 2019 benchmark (arxiv:1902.10811): SOTA CIFAR-10 models lose 5-10pp accuracy on CIFAR-10.1 (an independent replica), indicating benchmark overfitting. Mitigation: use independent test sets generated post-training, avoid tuning hyperparameters on test, apply Bonferroni correction when comparing many models.
Recent SOTA-pushing paper. Yao et al. 2022 ReAct (arxiv:2210.03629), Lewis et al. 2020 Retrieval-Augmented Generation (arxiv:2005.11401), Brown et al. 2020 GPT-3 (arxiv:2005.14165). In particular, 2024-2025 works moved the frontier: Mixtral 8x22B (Jiang et al. 2024) beats GPT-3.5-turbo on MMLU (77.8 vs 70.0) using 39B active params over 141B total (Mixture of Experts top-2 routing). DeepSeek-V3 (DeepSeek-AI Dec 2024 arxiv:2412.19437) reaches 88.5 MMLU with MLA attention and Multi-Token Prediction loss, training cost USD 5.5M (10x cheaper than GPT-4). Claude 3.5 Sonnet (Anthropic Jun 2024) beats GPT-4o on HumanEval (92.0 vs 90.2) and becomes the reference model for agentic coding. Llama 3.3 70B (Meta Dec 2024) matches 405B using half the parameters thanks to iterative Knowledge Distillation.
Industry impact. MLPerf Inference Benchmark (Reddi et al. 2020 arxiv:1911.02549) is the de facto vendor-hardware standard: NVIDIA H100, AMD MI300X, Google TPU v5e, Intel Gaudi 3. For a principal-level portfolio engineer: tracking cost per 1k inferences, sustainable throughput and p99 SLO is mandatory. Standard tooling: Prometheus + Grafana for infra metrics, Langfuse or Helicone for LLM-specific observability, OpenTelemetry for distributed tracing. Typical cost optimisation: semantic cache (gptcache, Redis with embedding similarity) cuts 30-40% of calls; speculative decoding (Leviathan 2023 arxiv:2211.17192) doubles throughput at the same quality.
Conversation pattern: request-inform
Simple protocol: A→B REQUEST action; B→A AGREE; B executes; B→A INFORM result. Failure flow: B→A REFUSE or FAILURE. Timeout on REQUEST if no reply.
// JADE request pattern
ACLMessage req = new ACLMessage(ACLMessage.REQUEST);
req.addReceiver(serverAID);
req.setContent("compute(123)");
req.setConversationId("conv-1");
send(req);
MessageTemplate mt = MessageTemplate.MatchConversationId("conv-1");
ACLMessage reply = blockingReceive(mt, 5000); // timeout 5s
Mathematical formalisation. We define the problem as empirical risk minimisation R(θ) = (1/n) Σ L(f_θ(x_i), y_i), where L is the appropriate loss (cross-entropy for classification, MSE for regression, KL divergence for density matching). The Adam optimiser (Kingma-Ba 2014 arxiv:1412.6980) applies updates θ_t+1 = θ_t − η m̂_t / (√v̂_t + ε) with first- and second-order bias-corrected moments. AdamW (Loshchilov-Hutter 2017 arxiv:1711.05101) decouples weight decay, improving generalisation by 1-2pp on ImageNet.
Step-by-step algorithm. (1) Initialisation: He init for ReLU (He et al. 2015 arxiv:1502.01852), Xavier for tanh (Glorot-Bengio 2010). (2) Forward pass: propagate inputs through layers, caching intermediate activations for the subsequent backward. (3) Loss computation: apply softmax+CE in log-stable mode (logsumexp trick). (4) Backward: compute gradients via autograd or manual backprop; clip-norm to 1.0 for stability (Pascanu et al. 2013). (5) Optimizer step: update weights with Adam/AdamW; learning rate scheduler cosine decay (Loshchilov 2016) or linear warmup + decay (typical 1k step warmup). (6) Validation: every N steps, snapshot the best checkpoint by validation metric.
Complexity analysis and cost profile. GPU memory profile: activations dominate in training (10-20x weights), KV cache dominates inference (proportional to batch · seq_len). FlashAttention-2 (Dao 2023 arxiv:2307.08691) reduces memory from O(n^2) to O(n) via SRAM tiling. Latency p50 ~50ms / p99 ~250ms on a single T4 instance with batch 16 and an INT8-quantised 100M-parameter model. As a practical heuristic, a Bayesian hyperparameter tuning run (Optuna or Ax) typically needs 30-100 trials × 2-6 hours each, totalling 100-500 GPU-hours for a competitive model on a medium problem. Memory budget must be estimated before training: rule of thumb is GPU memory = 16 × params for fp32 Adam training, dropping to 4 × params with fp16 mixed precision + activation checkpointing (Chen et al. 2016 arxiv:1604.06174).
Known limits and ablation studies. Known limit: overconfidence in deep nets; Guo et al. ICML 2017 arxiv:1706.04599 reports ECE > 0.10 without temperature scaling. Known limit: catastrophic forgetting in sequential fine-tuning; Kirkpatrick et al. 2017 (EWC, arxiv:1612.00796) proposes Fisher regularisation to mitigate. A third limit emerges in the Recht et al. ICML 2019 benchmark (arxiv:1902.10811): SOTA CIFAR-10 models lose 5-10pp accuracy on CIFAR-10.1 (an independent replica), indicating benchmark overfitting. Mitigation: use independent test sets generated post-training, avoid tuning hyperparameters on test, apply Bonferroni correction when comparing many models.
Recent SOTA-pushing paper. Brown et al. 2020 GPT-3 (arxiv:2005.14165), Dao et al. 2022 FlashAttention (arxiv:2205.14135), Vaswani et al. 2017 Attention Is All You Need (arxiv:1706.03762). In particular, 2024-2025 works moved the frontier: Mixtral 8x22B (Jiang et al. 2024) beats GPT-3.5-turbo on MMLU (77.8 vs 70.0) using 39B active params over 141B total (Mixture of Experts top-2 routing). DeepSeek-V3 (DeepSeek-AI Dec 2024 arxiv:2412.19437) reaches 88.5 MMLU with MLA attention and Multi-Token Prediction loss, training cost USD 5.5M (10x cheaper than GPT-4). Claude 3.5 Sonnet (Anthropic Jun 2024) beats GPT-4o on HumanEval (92.0 vs 90.2) and becomes the reference model for agentic coding. Llama 3.3 70B (Meta Dec 2024) matches 405B using half the parameters thanks to iterative Knowledge Distillation.
Industry impact. Fortune 500 companies spend on average USD 4.2M/year on LLM APIs (Stanford HAI State of AI Report 2025); 38% are migrating to self-hosted open-weights models by 2026. For a principal-level portfolio engineer: tracking cost per 1k inferences, sustainable throughput and p99 SLO is mandatory. Standard tooling: Prometheus + Grafana for infra metrics, Langfuse or Helicone for LLM-specific observability, OpenTelemetry for distributed tracing. Typical cost optimisation: semantic cache (gptcache, Redis with embedding similarity) cuts 30-40% of calls; speculative decoding (Leviathan 2023 arxiv:2211.17192) doubles throughput at the same quality.
Subscribe-notify for events
Publish/subscribe pattern: A→B SUBSCRIBE(event-topic); B executes on event trigger: B→A INFORM(event). UNSUBSCRIBE to stop. Persistence: B maintains subscriber list.
// Subscribe
ACLMessage sub = new ACLMessage(ACLMessage.SUBSCRIBE);
sub.setContent("price-change(GOOG)");
send(sub);
// Server B sends notification when event fires:
ACLMessage notif = new ACLMessage(ACLMessage.INFORM);
notif.setContent("price(GOOG, 178.45)");
for (AID subscriber : subscribers) notif.addReceiver(subscriber);
send(notif);
Mathematical formalisation. We define the problem as empirical risk minimisation R(θ) = (1/n) Σ L(f_θ(x_i), y_i), where L is the appropriate loss (cross-entropy for classification, MSE for regression, KL divergence for density matching). The Adam optimiser (Kingma-Ba 2014 arxiv:1412.6980) applies updates θ_t+1 = θ_t − η m̂_t / (√v̂_t + ε) with first- and second-order bias-corrected moments. AdamW (Loshchilov-Hutter 2017 arxiv:1711.05101) decouples weight decay, improving generalisation by 1-2pp on ImageNet.
Step-by-step algorithm. (1) Initialisation: He init for ReLU (He et al. 2015 arxiv:1502.01852), Xavier for tanh (Glorot-Bengio 2010). (2) Forward pass: propagate inputs through layers, caching intermediate activations for the subsequent backward. (3) Loss computation: apply softmax+CE in log-stable mode (logsumexp trick). (4) Backward: compute gradients via autograd or manual backprop; clip-norm to 1.0 for stability (Pascanu et al. 2013). (5) Optimizer step: update weights with Adam/AdamW; learning rate scheduler cosine decay (Loshchilov 2016) or linear warmup + decay (typical 1k step warmup). (6) Validation: every N steps, snapshot the best checkpoint by validation metric.
Complexity analysis and cost profile. Latency p50 ~50ms / p99 ~250ms on a single T4 instance with batch 16 and an INT8-quantised 100M-parameter model. Compute cost: training a 7B model requires about 1.4e22 FLOPs (Chinchilla scaling law, Hoffmann et al. 2022 arxiv:2203.15556), i.e. ~8 weeks on 64 A100 GPUs at 312 TFLOPs. As a practical heuristic, a Bayesian hyperparameter tuning run (Optuna or Ax) typically needs 30-100 trials × 2-6 hours each, totalling 100-500 GPU-hours for a competitive model on a medium problem. Memory budget must be estimated before training: rule of thumb is GPU memory = 16 × params for fp32 Adam training, dropping to 4 × params with fp16 mixed precision + activation checkpointing (Chen et al. 2016 arxiv:1604.06174).
Known limits and ablation studies. Known limit: learning rate sensitivity; Smith 2017 ablation (arxiv:1708.07120) shows 1cycle policy cuts convergence time by 3-5x compared to fixed LR. Known limit: overconfidence in deep nets; Guo et al. ICML 2017 arxiv:1706.04599 reports ECE > 0.10 without temperature scaling. A third limit emerges in the Recht et al. ICML 2019 benchmark (arxiv:1902.10811): SOTA CIFAR-10 models lose 5-10pp accuracy on CIFAR-10.1 (an independent replica), indicating benchmark overfitting. Mitigation: use independent test sets generated post-training, avoid tuning hyperparameters on test, apply Bonferroni correction when comparing many models.
Recent SOTA-pushing paper. Devlin et al. 2018 BERT (arxiv:1810.04805), Rafailov et al. 2023 DPO (arxiv:2305.18290), Jiang et al. 2024 Mixtral 8x7B (arxiv:2401.04088). In particular, 2024-2025 works moved the frontier: Mixtral 8x22B (Jiang et al. 2024) beats GPT-3.5-turbo on MMLU (77.8 vs 70.0) using 39B active params over 141B total (Mixture of Experts top-2 routing). DeepSeek-V3 (DeepSeek-AI Dec 2024 arxiv:2412.19437) reaches 88.5 MMLU with MLA attention and Multi-Token Prediction loss, training cost USD 5.5M (10x cheaper than GPT-4). Claude 3.5 Sonnet (Anthropic Jun 2024) beats GPT-4o on HumanEval (92.0 vs 90.2) and becomes the reference model for agentic coding. Llama 3.3 70B (Meta Dec 2024) matches 405B using half the parameters thanks to iterative Knowledge Distillation.
Industry impact. MLPerf Inference Benchmark (Reddi et al. 2020 arxiv:1911.02549) is the de facto vendor-hardware standard: NVIDIA H100, AMD MI300X, Google TPU v5e, Intel Gaudi 3. For a principal-level portfolio engineer: tracking cost per 1k inferences, sustainable throughput and p99 SLO is mandatory. Standard tooling: Prometheus + Grafana for infra metrics, Langfuse or Helicone for LLM-specific observability, OpenTelemetry for distributed tracing. Typical cost optimisation: semantic cache (gptcache, Redis with embedding similarity) cuts 30-40% of calls; speculative decoding (Leviathan 2023 arxiv:2211.17192) doubles throughput at the same quality.
Content language: SL, JSON, JSON-LD
FIPA SL (Semantic Language) is KIF-like first-order logic: (inform :sender A :receiver B :content (= (price GOOG) 178.45)). Modern: JSON or JSON-LD for content. Ontology slot points to OWL ontology for shared semantics.
msg.setLanguage("JSON");
msg.setOntology("FinancialMarket");
msg.setContent("{\"action\":\"buy\",\"symbol\":\"GOOG\",\"qty\":100}");
Mathematical formalisation. We define the problem as empirical risk minimisation R(θ) = (1/n) Σ L(f_θ(x_i), y_i), where L is the appropriate loss (cross-entropy for classification, MSE for regression, KL divergence for density matching). The Adam optimiser (Kingma-Ba 2014 arxiv:1412.6980) applies updates θ_t+1 = θ_t − η m̂_t / (√v̂_t + ε) with first- and second-order bias-corrected moments. AdamW (Loshchilov-Hutter 2017 arxiv:1711.05101) decouples weight decay, improving generalisation by 1-2pp on ImageNet.
Step-by-step algorithm. (1) Initialisation: He init for ReLU (He et al. 2015 arxiv:1502.01852), Xavier for tanh (Glorot-Bengio 2010). (2) Forward pass: propagate inputs through layers, caching intermediate activations for the subsequent backward. (3) Loss computation: apply softmax+CE in log-stable mode (logsumexp trick). (4) Backward: compute gradients via autograd or manual backprop; clip-norm to 1.0 for stability (Pascanu et al. 2013). (5) Optimizer step: update weights with Adam/AdamW; learning rate scheduler cosine decay (Loshchilov 2016) or linear warmup + decay (typical 1k step warmup). (6) Validation: every N steps, snapshot the best checkpoint by validation metric.
Complexity analysis and cost profile. Latency p50 ~50ms / p99 ~250ms on a single T4 instance with batch 16 and an INT8-quantised 100M-parameter model. Compute cost: training a 7B model requires about 1.4e22 FLOPs (Chinchilla scaling law, Hoffmann et al. 2022 arxiv:2203.15556), i.e. ~8 weeks on 64 A100 GPUs at 312 TFLOPs. As a practical heuristic, a Bayesian hyperparameter tuning run (Optuna or Ax) typically needs 30-100 trials × 2-6 hours each, totalling 100-500 GPU-hours for a competitive model on a medium problem. Memory budget must be estimated before training: rule of thumb is GPU memory = 16 × params for fp32 Adam training, dropping to 4 × params with fp16 mixed precision + activation checkpointing (Chen et al. 2016 arxiv:1604.06174).
Known limits and ablation studies. Known limit: catastrophic forgetting in sequential fine-tuning; Kirkpatrick et al. 2017 (EWC, arxiv:1612.00796) proposes Fisher regularisation to mitigate. Known limit: distribution shift between train and production; Quinonero-Candela et al. Dataset Shift in Machine Learning (MIT Press 2009) taxonomises covariate, label and concept shift. A third limit emerges in the Recht et al. ICML 2019 benchmark (arxiv:1902.10811): SOTA CIFAR-10 models lose 5-10pp accuracy on CIFAR-10.1 (an independent replica), indicating benchmark overfitting. Mitigation: use independent test sets generated post-training, avoid tuning hyperparameters on test, apply Bonferroni correction when comparing many models.
Recent SOTA-pushing paper. Devlin et al. 2018 BERT (arxiv:1810.04805), Yao et al. 2022 ReAct (arxiv:2210.03629), Dao et al. 2022 FlashAttention (arxiv:2205.14135). In particular, 2024-2025 works moved the frontier: Mixtral 8x22B (Jiang et al. 2024) beats GPT-3.5-turbo on MMLU (77.8 vs 70.0) using 39B active params over 141B total (Mixture of Experts top-2 routing). DeepSeek-V3 (DeepSeek-AI Dec 2024 arxiv:2412.19437) reaches 88.5 MMLU with MLA attention and Multi-Token Prediction loss, training cost USD 5.5M (10x cheaper than GPT-4). Claude 3.5 Sonnet (Anthropic Jun 2024) beats GPT-4o on HumanEval (92.0 vs 90.2) and becomes the reference model for agentic coding. Llama 3.3 70B (Meta Dec 2024) matches 405B using half the parameters thanks to iterative Knowledge Distillation.
Industry impact. MLPerf Inference Benchmark (Reddi et al. 2020 arxiv:1911.02549) is the de facto vendor-hardware standard: NVIDIA H100, AMD MI300X, Google TPU v5e, Intel Gaudi 3. For a principal-level portfolio engineer: tracking cost per 1k inferences, sustainable throughput and p99 SLO is mandatory. Standard tooling: Prometheus + Grafana for infra metrics, Langfuse or Helicone for LLM-specific observability, OpenTelemetry for distributed tracing. Typical cost optimisation: semantic cache (gptcache, Redis with embedding similarity) cuts 30-40% of calls; speculative decoding (Leviathan 2023 arxiv:2211.17192) doubles throughput at the same quality.
Python implementation: spadeAgent
spadeAgent (UPV Spain) is Python alternative to JADE: XMPP transport, async/await. FIPA performative subset. For rapid dev or ML integration. Tradeoff: less standard-compliant, but 100x faster development.
from spade.agent import Agent
from spade.message import Message
from spade.behaviour import CyclicBehaviour
class MyAgent(Agent):
class Recv(CyclicBehaviour):
async def run(self):
msg = await self.receive(timeout=10)
if msg:
print(f'Got: {msg.body}')
async def setup(self):
self.add_behaviour(self.Recv())
agent = MyAgent('alice@xmpp.org', 'pwd')
await agent.start()
Mathematical formalisation. We define the problem as empirical risk minimisation R(θ) = (1/n) Σ L(f_θ(x_i), y_i), where L is the appropriate loss (cross-entropy for classification, MSE for regression, KL divergence for density matching). The Adam optimiser (Kingma-Ba 2014 arxiv:1412.6980) applies updates θ_t+1 = θ_t − η m̂_t / (√v̂_t + ε) with first- and second-order bias-corrected moments. AdamW (Loshchilov-Hutter 2017 arxiv:1711.05101) decouples weight decay, improving generalisation by 1-2pp on ImageNet.
Step-by-step algorithm. (1) Initialisation: He init for ReLU (He et al. 2015 arxiv:1502.01852), Xavier for tanh (Glorot-Bengio 2010). (2) Forward pass: propagate inputs through layers, caching intermediate activations for the subsequent backward. (3) Loss computation: apply softmax+CE in log-stable mode (logsumexp trick). (4) Backward: compute gradients via autograd or manual backprop; clip-norm to 1.0 for stability (Pascanu et al. 2013). (5) Optimizer step: update weights with Adam/AdamW; learning rate scheduler cosine decay (Loshchilov 2016) or linear warmup + decay (typical 1k step warmup). (6) Validation: every N steps, snapshot the best checkpoint by validation metric.
Complexity analysis and cost profile. Asymptotic complexity: forward pass O(n · d^2) per dense layer, O(n^2 · d) for quadratic attention; typical memory O(n · d) with activation checkpointing. Production throughput target: 1k req/s per node with vLLM PagedAttention (Kwon et al. SOSP 2023 arxiv:2309.06180), continuous batching and KV cache sharing across requests. As a practical heuristic, a Bayesian hyperparameter tuning run (Optuna or Ax) typically needs 30-100 trials × 2-6 hours each, totalling 100-500 GPU-hours for a competitive model on a medium problem. Memory budget must be estimated before training: rule of thumb is GPU memory = 16 × params for fp32 Adam training, dropping to 4 × params with fp16 mixed precision + activation checkpointing (Chen et al. 2016 arxiv:1604.06174).
Known limits and ablation studies. Known limit: catastrophic forgetting in sequential fine-tuning; Kirkpatrick et al. 2017 (EWC, arxiv:1612.00796) proposes Fisher regularisation to mitigate. Known limit: learning rate sensitivity; Smith 2017 ablation (arxiv:1708.07120) shows 1cycle policy cuts convergence time by 3-5x compared to fixed LR. A third limit emerges in the Recht et al. ICML 2019 benchmark (arxiv:1902.10811): SOTA CIFAR-10 models lose 5-10pp accuracy on CIFAR-10.1 (an independent replica), indicating benchmark overfitting. Mitigation: use independent test sets generated post-training, avoid tuning hyperparameters on test, apply Bonferroni correction when comparing many models.
Recent SOTA-pushing paper. Devlin et al. 2018 BERT (arxiv:1810.04805), Rafailov et al. 2023 DPO (arxiv:2305.18290), Yao et al. 2022 ReAct (arxiv:2210.03629). In particular, 2024-2025 works moved the frontier: Mixtral 8x22B (Jiang et al. 2024) beats GPT-3.5-turbo on MMLU (77.8 vs 70.0) using 39B active params over 141B total (Mixture of Experts top-2 routing). DeepSeek-V3 (DeepSeek-AI Dec 2024 arxiv:2412.19437) reaches 88.5 MMLU with MLA attention and Multi-Token Prediction loss, training cost USD 5.5M (10x cheaper than GPT-4). Claude 3.5 Sonnet (Anthropic Jun 2024) beats GPT-4o on HumanEval (92.0 vs 90.2) and becomes the reference model for agentic coding. Llama 3.3 70B (Meta Dec 2024) matches 405B using half the parameters thanks to iterative Knowledge Distillation.
Industry impact. MLPerf Inference Benchmark (Reddi et al. 2020 arxiv:1911.02549) is the de facto vendor-hardware standard: NVIDIA H100, AMD MI300X, Google TPU v5e, Intel Gaudi 3. For a principal-level portfolio engineer: tracking cost per 1k inferences, sustainable throughput and p99 SLO is mandatory. Standard tooling: Prometheus + Grafana for infra metrics, Langfuse or Helicone for LLM-specific observability, OpenTelemetry for distributed tracing. Typical cost optimisation: semantic cache (gptcache, Redis with embedding similarity) cuts 30-40% of calls; speculative decoding (Leviathan 2023 arxiv:2211.17192) doubles throughput at the same quality.
Benchmark and current SOTA
Reference benchmarks and SOTA for this topic:
- FIPA-ACL adoption
- Telecom, smart grid, academia
- Performatives standardised
- 22 official, 30+ proposed extensions
- Speech act theory
- Searle 1969 still foundational
- Message overhead
- 1-5 KB envelope vs 100B JSON
- Conversation tracking
- reply-with + in-reply-to + conv-id
- Modern alternatives
- Pub/Sub Kafka/MQTT, gRPC for new systems
Production deployment
Production: FIPA-ACL when standard compliance required (telecom, supply chain enterprise). MQTT/Kafka/gRPC modern for new systems (simpler). Monitoring: conversation tracking via conv-id, p99 message latency, dead letter queue. Ontology mismatch is the #1 source of inter-agent errors: define Common ontology (OWL, SKOS).
Production case studies
Three real-world case studies illustrate applying the techniques above to industrial problems with latency, cost and compliance constraints.
Case study 1 - Anthropic Claude on AWS Trainium
Anthropic announced (Sep 2024 blog) porting Claude 3 to AWS Trainium2: 50% higher training throughput vs H100 at the same cost, thanks to Neuron SDK compiler optimised for attention patterns and BF16 mixed precision. Trade-off: less mature software ecosystem, porting PyTorch libraries takes 2-4 weeks of engineering. Operational lesson: GPU is not the only option; TPU v5 and Trainium2 are competitive for specific workloads if the team has the skills.
Case study 2 - Spotify retrieval with Annoy + ScaNN
Spotify published (KDD 2024) the retrieval pipeline for 100M+ tracks: 128-dim embeddings, Annoy index (Bernhardsson) for billion-scale, search with ScaNN (Guo et al. 2020 arxiv:1908.10396) for low latency. Throughput 50k QPS per node, p99 latency 8ms. Embeddings obtained via two-tower co-training on 30M interactions/hour. Embedding re-train every 24h; A/B test shows +12% NDCG@10 vs collaborative-filtering baseline.
Case study 3 - Stripe fraud detection with XGBoost + drift
Stripe (StripeCon 2024) runs an XGBoost + DeepFM ensemble for real-time fraud scoring. 500+ engineered features (velocity, network features, geo). Target latency p99 50ms. Drift detection with Evidently AI: alert if PSI > 0.2 on top-20 features; weekly shadow auto-retraining + manual approval before promotion. USD 200M+ annual fraud-loss savings.
Advanced patterns and optimisation
To go beyond the baseline you need non-standard patterns. We list eight production-grade patterns used by Anthropic, OpenAI, Google DeepMind and Meta AI.
- Continuous batching (vLLM, Orca)
- Schedules completed and new requests at the token level, not the request level. +5-10x throughput vs naive batching (Yu et al. OSDI 2022).
- Speculative decoding
- A small draft model proposes n tokens, the target model accepts/rejects; 2-3x throughput (Leviathan ICML 2023 arxiv:2211.17192).
- int4 / GPTQ / AWQ quantisation
- 4-bit compression with <1pp accuracy loss; 4x less memory (Frantar et al. ICLR 2023 arxiv:2210.17323).
- FlashAttention-2
- O(n) memory instead of O(n^2); 2-4x forward+backward speedup (Dao 2023 arxiv:2307.08691).
- Tensor + Pipeline parallelism
- Megatron-LM (Shoeybi et al. 2019); shard weights and activations across 8-128 GPUs.
- Top-2 routing Mixture of Experts
- Switch Transformer (Fedus 2021); activate 2/E experts per token, +10x params at constant cost.
- LoRA / QLoRA adapters
- Fine-tune 0.1% of params; QLoRA (Dettmers NeurIPS 2023 arxiv:2305.14314) uses a 4-bit base.
- KV cache compression (H2O, Scissorhands)
- Heavy-hitter oracle shrinks the cache 80% with no quality loss (Zhang NeurIPS 2023).
End-to-end MLOps operations
A production-grade pipeline has seven stages: ingestion, validation, training, evaluation, registry, serving, monitoring. Each stage has automatic quality gating.
1. Ingestion. Kafka or Pub/Sub for stream; Airflow or Dagster for batch. Schema validated with GE or Pandera. Lineage tracked with OpenLineage. Typical volume: 10-100 GB/day for a mid-size model, 10+ TB/day for foundation training.
2. Validation. Schema check, distribution drift (KS test, PSI), business rules (no NaN on critical features, values in plausible range). Block ingestion if violations > threshold.
3. Training. PyTorch Lightning + Hydra config; MLflow / W&B tracking. Reproducible experiment: seed + version pinning + Docker image. Cost guardrail: max GPU-hour per run, alert if > 80% budget.
4. Evaluation. Fixed test set + rolling canary set; primary metric (e.g. ROC-AUC) + secondary (fairness, calibration, robustness). Champion-challenger: a new model must beat the champion by 1-2% statistically.
5. Registry. MLflow Model Registry or BentoML; semantic versioning, lineage data → code → model, approval workflow (4-eyes for high-risk models).
6. Serving. FastAPI / TorchServe / Triton / vLLM / SageMaker. Latency target: p50 < 50ms, p99 < 200ms. KEDA auto-scaling on queue length or latency. Blue-green or canary deploy 1% → 10% → 50% → 100%.
7. Monitoring. Prometheus + Grafana + Loki. Data drift (Evidently AI), prediction drift, performance drift (labels arrive with delay). PagerDuty alert on SLO violation.
Known pitfalls and ablation studies
- Wrong performative: semantic confusion.
- Unparseable content: use structured language.
- No conversation-id: thread lost.
- Missing timeout: agent hangs.
- Ontology mismatch: semantic interop fails.
- Subscribe without unsubscribe: subscriber list memory leak.
- FIPA-ACL overhead for high-freq: use binary protocol.
- Multi-platform interop: FIPA implementation drift.
Advanced exercises
- Implement request-inform protocol in JADE; conv-id tracking.
- Subscribe-notify for stock price; 5 subscribers, 1 broker.
- Content JSON vs FIPA SL: parse speed benchmark.
- spadeAgent Python: 3-agent conversation with XMPP.
- OWL ontology for FinancialMarket; 2-agent interop.
- Migration FIPA → Kafka: comparison effort + latency.
Frequently asked questions
- How much does training a competitive model cost in 2026?
- For a 7B model competitive on MMLU > 65, a realistic budget is USD 80-150k on 8-16 H100 for 14-21 days, excluding data curation. Most of the cost is data engineering (~60%), not compute.
- Which consumer GPU makes sense today?
- RTX 4090 (24GB) for 7B QLoRA fine-tuning; RTX 6000 Ada (48GB) for int4 70B inference. For serious training, A100 80GB remains the workhorse.
- How to estimate tokens in a dataset?
- Rule of thumb: 1 token ≈ 4 chars EN or 3 chars IT. Use tiktoken with the target model's tokenizer. Hugging Face datasets exposes
num_tokens()natively. - RAG or fine-tuning?
- RAG when knowledge changes (news, updated docs) or is private; fine-tune for style adaptation, custom function calling, latency reduction. Often combined.
- When does ColBERT beat BGE?
- Domains with narrow vocabulary and long queries (legal, medical); late interaction recovers rarely co-occurring concepts. BGE-M3 with multi-vector is competitive at 10x less storage.
- How to handle dataset bias?
- Fairlearn, AIF360 for metrics (equal opportunity, demographic parity); resampling, reweighting, adversarial debiasing for mitigation; documentation via DataCard (Pushkarna et al. 2022).
Extended technical glossary
- SGD
- Stochastic Gradient Descent: base optimiser with momentum, Polyak (1964) and Nesterov (1983) variants.
- Adam
- Adaptive Moment Estimation (Kingma-Ba 2014 arxiv:1412.6980); default for most deep learning tasks.
- KL
- Kullback-Leibler divergence: asymmetric distance measure between probability distributions, basis of ELBO and VAE.
- VAE
- Variational Autoencoder (Kingma-Welling 2013 arxiv:1312.6114); encoder produces μ, σ; reparametrisation trick z = μ + σε.
- GAN
- Generative Adversarial Network (Goodfellow 2014); generator + discriminator min-max.
- RLHF
- (Christiano 2017, Ouyang InstructGPT 2022 arxiv:2203.02155); reward model + PPO.
- DPO
- Direct Preference Optimization (Rafailov 2023 arxiv:2305.18290); RLHF alternative without explicit reward model.
- MCMC
- Markov Chain Monte Carlo; HMC (Neal 2011), NUTS (Hoffman-Gelman 2014) for complex posteriors.
- VI
- Approximates posterior with variational family q(z); optimises ELBO.
- MoE
- Mixture of Experts (Shazeer 2017); top-k router activates a subset of experts per token.
Essential bibliography
- Searle - Speech Acts (Cambridge 1969)
- Austin - How to Do Things with Words (Harvard 1962)
- FIPA ACL Message Structure SC00061G
- FIPA Performative Library SC00037J 2002
- Cohen, Levesque - Persistence, Intention, and Commitment (AI 1990)
- Wooldridge - MultiAgent Systems 2nd ed.
- spadeAgent docs (UPV)
- Bellifemine et al. JADE 2007
Technical prerequisites
- FIPA-ACL specification basics
- JADE Java or spadeAgent Python
- Speech act theory
- OWL ontology basics
Related resources
- Multi-Agent Systems series index
- HuggingFace Papers
- Papers With Code
- arXiv cs.LG
- scikit-learn User Guide
- distill.pub
- JADE framework
- Contract Net
- LLM agents
Article updated 2026-05-16, research engineer level.
Commenti
Caricamento commenti...
Sign in to comment