Skip to main content

21 posts tagged with "DeepSeek"

Using DeepSeek models for agentic workloads, plus benchmarking, data-contamination analysis, and cost-efficient inference.

View All Tags

Design-Thinking Multi-Agent Panels for Campaign Strategy

· 25 min read
Vadim Nicolai
Senior Software Engineer

Design-thinking multi-agent campaign strategy is what you get when you let an agent fleet own the plan step that a human normally improvises in their head. Instead of a hard-coded six-touch weekly drip, one LangGraph graph simulates a room of human experts — a strategist, a skeptic, a brand-voice lens — arguing over how a multi-touch outreach sequence should be shaped before the first email is ever drafted. On the fleet's autonomy ladder this capability sits medium: it automates the deliberation over what a campaign's touch sequence should be, then hands the resulting plan to the durable engine, which still holds every individual email for human approval before it acts. Autonomy is earned, not asserted — the panel's output is only a seed (cadence and per-touch angles), never a send.

Deadlock & Infinite-Loop Prevention in Multi-Agent Sales

· 22 min read
Vadim Nicolai
Senior Software Engineer

How to Prevent Deadlocks and Infinite Loops in Multi-Agent Sales Workflows

Deadlock and infinite-loop prevention in multi-agent sales workflows starts with one ugly trace: a sales agent sits idle while a competitor closes the deal. Two nodes trade the same lead back and forth — rechecking CRM fields, re-requesting approval, re-updating scores — until the opportunity ages out. No cancellation, no escalation, no crash. Just an infinite loop that burns credits, writes no value, and slips past every per-message quality gate, because each individual draft looks fine.

This is article #8 of The Autonomous Sales Fleet — one production LangGraph + DeepSeek + Cloudflare-D1 + LangSmith system where each article realizes one 2026 reliability paper as one real graph node. The constraints stay constant across the series. A three-plane architecture splits the work: a LangGraph control plane, a Cloudflare data plane, and a LangSmith observability plane. DeepSeek-only egress runs through a single AI Gateway. A 0.80 eval gate sits on every prompt path. Grounding-First provenance tags every persisted decision, and every send waits on draft-first human approval. This piece adds the liveness layer: structural deadlock and infinite-loop prevention that runs before any model judges anything.

This is a guardrail, not a rung on the autonomy ladder. It is one of the constraints that earns the autonomy the higher rungs exercise — the CRM orchestrator, the coach→worker teams, the lead-to-proposal pipeline. Every plan→act→verify loop that runs unattended needs a deterministic floor under it. That floor proves the loop will actually terminate; without it, the act step has no safe upper bound. This guard is the thing that lets the fleet trust a self-directed loop at all.

Autonomous CRM Orchestrator on LangGraph (RDAV)

· 27 min read
Vadim Nicolai
Senior Software Engineer

An autonomous CRM orchestrator is what production sales reaches for when a hardcoded workflow engine stops being enough. Every CRM workflow engine — Salesforce Flow, HubSpot automation, a homegrown Python script — executes a pre-written script. A lead enters, a condition fires, an action runs: deterministic, safe, and brittle. Deviate from the expected path and the script breaks, or worse, silently does the wrong thing — an ambiguous email, a flaky enrichment API, a customer who replies mid-automation. The industry's reflex answer is to "throw an LLM at it," which buys flexibility but also buys hallucinations, prompt injection, and an audit trail that reads like a black box.

The middle ground is an autonomous CRM orchestrator that reasons about a goal, decomposes it into verifiable steps, executes only the steps that pass a governance gate, and proves every decision. That is the reason-decompose-act-verify (RDAV) pattern. It is the foundation of the autonomous CRM orchestrator described here — the first capability in a connected ten-part series, The Autonomous Sales Fleet. On the fleet's autonomy ladder this is the highest rung: RDAV is what automates the human plan step — deciding which actions a contact needs and in what order — while still earning the act step through a confidence gate and keeping a human on verify for anything below threshold. Every other capability in the series either feeds this orchestrator or constrains how much of plan→act→verify it is allowed to run unattended.

Detecting Agent Defects & Drift in Production

· 21 min read
Vadim Nicolai
Senior Software Engineer

Your production sales agent has not crashed. There are no error logs and no timeouts. Yet something is off. The agent still sounds fluent and still follows the script, but its trajectories have grown longer and its tool calls more repetitive. This is where agent defect detection and drift monitoring in production begin to matter, because agent defects are not classical code bugs. They are behavioral discrepancies between what the developer's control logic expects and what the model actually produces. The 2026 study "Characterizing Faults in Agentic AI: A Taxonomy of Types, Symptoms, and Root Causes" (arXiv:2603.06847) makes the scale concrete. It mined 13,602 issues from 40 repositories, sampled 385 faults, and validated its taxonomy with 145 developers.

Autonomy is the whole subject here. This article is the capstone of a series — The Autonomous Sales Fleet — that built one production system across ten installments, adding exactly one capability per article as one real graph, each step climbing an autonomy ladder that runs from rep-assist up to self-directed plan→act→verify loops. Every rung of that ladder is a grant of trust, and every grant can decay. Defect and drift detection is the guardrail that makes autonomy durable rather than a one-time gift: it is the continuous check that an agent promoted up the ladder has not quietly slid back down it in production.

That durability is the point a per-run pass/fail can never deliver on its own. An agent that earns the right to act without a human in the loop only keeps that right if something watches for the slow degradation no single run reveals. The monitor in this article is that watcher — it reads finished traces, flags the wandering tool loops and drifted personas that keep an agent looking fluent while it stops doing its job, and routes the failures back to the human gate that granted the autonomy in the first place. Catch the defect per run, catch the drift across runs, and the fleet can hold its autonomy instead of silently forfeiting it.

Multi-Modal Evaluation for AI-Generated LEGO Parts: A Production DeepEval Pipeline

· 19 min read
Vadim Nicolai
Senior Software Engineer

Your AI pipeline generates a parts list for a LEGO castle MOC. It says you need 12x "Brick 2 x 4" in Light Bluish Gray, 8x "Arch 1 x 4" in Dark Tan, and 4x "Slope 45 2 x 1" in Sand Green. The text looks plausible. But does the part image next to "Arch 1 x 4" actually show an arch? Does the quantity make sense for a castle build? Would this list genuinely help someone source bricks for the build?

These are multi-modal evaluation questions — they span text accuracy, image-text coherence, and practical usefulness. Standard unit tests cannot answer them. This article walks through a production evaluation pipeline built with DeepEval that evaluates AI-generated LEGO parts lists across five axes, using image metrics that most teams haven't touched yet.

The system is real. It runs in Bricks, a LEGO MOC discovery platform built with Next.js 19, LangGraph, and Neon PostgreSQL. The evaluation judge is DeepSeek — not GPT-4o — because you don't need a frontier model to grade your outputs.

Two Paradigms of Multi-Agent AI: Rust Parallel Agents vs Claude Code Agent Teams

· 28 min read
Vadim Nicolai
Senior Software Engineer
TL;DR

Three multi-agent coordination positions, one codebase. A static Rust/Tokio fan-out assigns 20 agents at compile time with zero coordination overhead. A team.rs library implements the full Claude Code agent-teams model in pure Rust — TaskQueue, Mailbox, PlanGate, ShutdownToken — and the study pipeline now uses it to run a 2-step search→write flow with inter-worker messaging. Claude Code agent teams invert every assumption of static fan-out: dynamic task claiming, file-locked concurrency, full bidirectional messaging. The decision rule is one question: do your agents need to talk to each other? If no, tokio::spawn + Arc<T>. If yes: build team.rs, or use TeamCreate.

Multi-agent AI engineering has become a core discipline in production software development. The interesting question is no longer whether to build multi-agent systems. It is how — and specifically, which architectural pattern to reach for given the nature of the work. The clearest demonstration is that multiple fundamentally different paradigms live inside the same codebase.