AI, Cybersecurity, Software Engineering and Beyond.
The goal of this post is to briefly present how multi-agent systems emerged by looking at some of the history and the cognitive backbone of AI or LLM-powered agents. An autoregressive language model, which will be denoted as \(p_\theta\) (or \(\pi_\theta\) in RL terminology), is a
Deep learning has reshaped the landscape of machine learning. It achieved overwhelming advantages across diverse domains, from image classification, video and text generation, to enabling multi-agent development (agents use foundation autoregressive models trained with SGD as their brains). In order to reduce the cognitive burden on practitioners, the inner
The goal of this post is to provide an in-depth look at standardizing how heterogeneous agents discover, authenticate, and communicate with one another by examining the Google's Agent-to-Agent (A2A) protocol [1] (covering both theory, practical deployment and security). The post will present the foundations of
The goal of this post is to explain how vector similarity search works internally. Why is this interesting? Because Retrieval-Augmented Generation or RAG is typically implemented using vector search over text embeddings. Embeddings are basically a bottleneck that compresses the semantics of a paragraph or chunk into a continuous
This post summarizes the main implementation patterns used by modern multi-agent frameworks including agents-as-tools, handoffs, routing, reflection, group chat, debate, Magentic-style ledger orchestration, dynamic subagent spawning, and mixture-of-agents architectures. The Brain: Foundation Models Well, the first thing we need to build an agent is
Introduction A straightforward approach to augment large language models or LLMs with new capabilities is through in-context learning. The model is provided with a small number of examples that demonstrate how to solve a task, after which it generates a response using its inherent capabilities combined with the knowledge
Implementing highly efficient matrix multiplication routines that approach peak performance demands significant effort, strong linear algebra knowledge, and a deep understanding of the underlying hardware architecture (even down to the microarchitectural level[23]). This is why vendors provide highly optimized implementations of the Basic Linear Algebra Subprograms (BLAS)[1], including
This post is devoted to the study of the mechanisms employed by python ( CPython (3.14) ) to prevent memory-safety violations, including spatial defects such as buffer overflows and temporal errors like use-after and double-free. Additionally, we also cover why python integers can never overflow; this is basically
In my previous post, I provided an extensive analysis of the memory allocator used by the GNU C library. In this post, I’ll show how weaknesses in the glibc heap allocator design can be abused to turn memory errors like buffer overflows (spatial defects) or use-after-free bugs