{"schemaVersion":1,"locale":"en","query":"agent","version":"ff4b83d74da008f36b454ababf8b335c3cbc21d5a09f56beae7f62b86253b756","total":453,"matched":14,"method":"BM25 passage retrieval with title weighting; lexical relevance, not a confidence or authority score","offset":0,"items":[{"url":"https://lucioduran.com/blog/agentic-ai-architecture-patterns","citationUrl":"https://lucioduran.com/blog/agentic-ai-architecture-patterns#real-world-example","title":"Agentic AI Architecture Patterns: Tool-Use Orchestration and Multi-Agent Coordination","heading":"Real-world example","kind":"blog","contentLanguage":"en","excerpt":"In an e-commerce context, a multi-agent system might include:\n\n- **Product Agent**: Searches catalogs, compares specifications\n- **Pricing Agent**: Analyzes competitor pricing, applies dynamic rules\n- **Inventory Agent**: Checks stock levels, handles supplier queries\n- **Customer Agent**: Manages communication and personalization\n\nEach agent has its own tool set, system prompt, and context window, but they coordinate through a shared orchestration layer.","contentHash":"209668793d211634930cfd22176922e6f9f19abc023c815e2fe77b3e814a8bda","datePublished":"2026-03-16","dateModified":"2026-10-21","readUrl":"https://lucioduran.com/api/content?path=%2Fblog%2Fagentic-ai-architecture-patterns&section=real-world-example&format=json","score":7.37747,"representations":{"markdown":"https://lucioduran.com/blog/agentic-ai-architecture-patterns.md","json":"https://lucioduran.com/blog/agentic-ai-architecture-patterns.json"}},{"url":"https://lucioduran.com/blog/agentic-ai-autonomous-systems-at-scale","citationUrl":"https://lucioduran.com/blog/agentic-ai-autonomous-systems-at-scale#multi-agent-orchestration","title":"Agentic AI Architecture Patterns: Building Autonomous Systems That Scale","heading":"Pattern 2: Multi-Agent Orchestration","kind":"blog","contentLanguage":"en","excerpt":"When a single agent can't handle the complexity of a task, you split responsibilities across specialized agents. This is where architecture gets interesting, and where most teams over-engineer.\n\nThe three production-proven orchestration patterns are:\n\n**Sequential Pipeline**: Agent A processes input → passes output to Agent B → Agent B refines → Agent C validates. Think of it as a manufacturing assembly line. Each agent has a narrow specialization and a well-defined interface.\n\n**Router Pattern**: A lightweight \"supervisor\" agent analyzes the incoming task and routes it to the appropriate specialist agent. The supervisor doesn't do the work,…","contentHash":"1ac3d36ab18ec8a5bda8a1d05b8ec7277133cf493b6b7808789ac5851f80d5f9","datePublished":"2026-03-18","dateModified":null,"readUrl":"https://lucioduran.com/api/content?path=%2Fblog%2Fagentic-ai-autonomous-systems-at-scale&section=multi-agent-orchestration&format=json","score":6.91284,"representations":{"markdown":"https://lucioduran.com/blog/agentic-ai-autonomous-systems-at-scale.md","json":"https://lucioduran.com/blog/agentic-ai-autonomous-systems-at-scale.json"}},{"url":"https://lucioduran.com/blog/recursive-agent-harnesses-context-budgets-provenance","citationUrl":"https://lucioduran.com/blog/recursive-agent-harnesses-context-budgets-provenance#question-1","title":"Recursive agents: external context, budgets, and evidence that survives delegation","heading":"How does an RLM differ from a Recursive Agent Harness?","kind":"blog","contentLanguage":"en","excerpt":"An RLM inspects external context through code and model calls. A Recursive Agent Harness applies recursion to a complete agent environment with tools and execution. This expands both capability and the state that needs control.","contentHash":"dab01cab15d43ff9a32f9a7f7454a4dfb4d892f854f767b07299101a94f76ef2","datePublished":"2026-10-07","dateModified":null,"readUrl":"https://lucioduran.com/api/content?path=%2Fblog%2Frecursive-agent-harnesses-context-budgets-provenance&section=question-1&format=json","score":6.74522,"representations":{"markdown":"https://lucioduran.com/blog/recursive-agent-harnesses-context-budgets-provenance.md","json":"https://lucioduran.com/blog/recursive-agent-harnesses-context-budgets-provenance.json"}},{"url":"https://lucioduran.com/blog/agent-evaluation-harness-contamination-cost-per-success","citationUrl":"https://lucioduran.com/blog/agent-evaluation-harness-contamination-cost-per-success#question-3","title":"Evaluating agents without self-deception: harnesses, contamination, and cost per success","heading":"Which economic metric is useful for an agent?","kind":"blog","contentLanguage":"en","excerpt":"Total cost of the evaluated workload divided by accepted executions, accompanied by acceptance rate, latency, and interventions. Include retries, tools, infrastructure, and failures.","contentHash":"02b8755469e811bee9ea52b91332b27dc2aa27c8f4a43e7b7d8902c13a2e85ab","datePublished":"2026-10-21","dateModified":null,"readUrl":"https://lucioduran.com/api/content?path=%2Fblog%2Fagent-evaluation-harness-contamination-cost-per-success&section=question-3&format=json","score":5.40432,"representations":{"markdown":"https://lucioduran.com/blog/agent-evaluation-harness-contamination-cost-per-success.md","json":"https://lucioduran.com/blog/agent-evaluation-harness-contamination-cost-per-success.json"}},{"url":"https://lucioduran.com/blog/graalvm-native-image-spring-boot-startup","citationUrl":"https://lucioduran.com/blog/graalvm-native-image-spring-boot-startup#the-reflection-configuration-nightmare","title":"GraalVM Native Image: From 8-Second Spring Boot Startup to 50ms","heading":"The reflection configuration nightmare","kind":"blog","contentLanguage":"en","excerpt":"…'t see through reflection, so every reflective access must be declared upfront.\n\nThe ` native-image-agent ` is your best friend here. It's a JVM agent that records all reflective access, JNI calls, proxy creation, and resource loading during runtime:\n\n```bash\n# Run your app with the tracing agent\njava -agentlib:native-image-agent=config-output-dir=src/main/resources/META-INF/native-image \\\n -jar target/auth-service.jar\n\n# Now exercise every code path, run your full test suite\n./run-integration-tests.sh\n\n# The agent generates these files:\n# reflect-config.json\n# jni-config.json\n# proxy-config.json\n# resource-config.json\n# serialization-config.…","contentHash":"528b53355cf88aa070d8b916bfff1860b85a1705f7ab19108777493b9d505f5f","datePublished":"2025-10-16","dateModified":null,"readUrl":"https://lucioduran.com/api/content?path=%2Fblog%2Fgraalvm-native-image-spring-boot-startup&section=the-reflection-configuration-nightmare&format=json","score":4.69981,"representations":{"markdown":"https://lucioduran.com/blog/graalvm-native-image-spring-boot-startup.md","json":"https://lucioduran.com/blog/graalvm-native-image-spring-boot-startup.json"}},{"url":"https://lucioduran.com/blog/agent-tool-execution-authorization-idempotency-reconciliation","citationUrl":"https://lucioduran.com/blog/agent-tool-execution-authorization-idempotency-reconciliation#the-timeout-did-not-read-your-system-prompt","title":"Agents that write to production: authorization, idempotency, and reconciliation","heading":"The timeout did not read your system prompt","kind":"blog","contentLanguage":"en","excerpt":"An agent proposes updating a record. The API applies the change, and the connection breaks before returning a response. The agent sees an error and tries again. The dashboard shows two successful calls. The business receives two effects.\n\nThe probabilistic component selected an action. The deterministic component failed to execute it correctly. Switching models may produce a more elegant explanation of the same incident.\n\n**A write tool needs an execution protocol that survives retries, concurrency, and lost responses.** Here I propose one for an agent modifying operational configuration. The examples are illustrative designs, with no product…","contentHash":"18c97c3b849bf2fdfe5e6b3b6d95777dfde52998cecfaedf57dcf45e71c2329f","datePublished":"2026-10-14","dateModified":null,"readUrl":"https://lucioduran.com/api/content?path=%2Fblog%2Fagent-tool-execution-authorization-idempotency-reconciliation&section=the-timeout-did-not-read-your-system-prompt&format=json","score":4.46849,"representations":{"markdown":"https://lucioduran.com/blog/agent-tool-execution-authorization-idempotency-reconciliation.md","json":"https://lucioduran.com/blog/agent-tool-execution-authorization-idempotency-reconciliation.json"}},{"url":"https://lucioduran.com/blog/wireguard-mesh-networking-tailscale-internals","citationUrl":"https://lucioduran.com/blog/wireguard-mesh-networking-tailscale-internals#tailscales-architecture","title":"WireGuard Mesh Networking: Tailscale and Headscale Internals Explained","heading":"Tailscale's Architecture","kind":"blog","contentLanguage":"en","excerpt":"…──────┐ ┌────────┐ ┌────────┐\n│ Node A │ │ Node B │ │ Node C │\n│tailsca-│ │tailsca-│ │tailsca-│\n│le agent│ │le agent│ │le agent│\n└───┬────┘ └───┬────┘ └───┬────┘\n │ │ │\n └──────────┼──────────┘\n WireGuard tunnels\n (direct, peer-to-peer)\n```\n\nThe coordination server never sees your data traffic. It only handles:\n\n1. Registering nodes and their public keys\n2. Distributing endpoint information (IP addresses, ports)\n3. Evaluating ACL policies\n4. Coordinating NAT traversal\n\nAll actual data flows directly between nodes over WireGuard. The coordination server is a control plane, not a data plane.","contentHash":"525c4e480f77fe00d4387dfbd575bacbc2c111bfa9e8e6502edc3f0cea7cf56f","datePublished":"2026-01-28","dateModified":null,"readUrl":"https://lucioduran.com/api/content?path=%2Fblog%2Fwireguard-mesh-networking-tailscale-internals&section=tailscales-architecture&format=json","score":4.36767,"representations":{"markdown":"https://lucioduran.com/blog/wireguard-mesh-networking-tailscale-internals.md","json":"https://lucioduran.com/blog/wireguard-mesh-networking-tailscale-internals.json"}},{"url":"https://lucioduran.com/blog/llm-function-calling-tool-use-patterns","citationUrl":"https://lucioduran.com/blog/llm-function-calling-tool-use-patterns#reproducible-evaluation-hostile-instructions-and-permissions","title":"LLM Function Calling Patterns for Reliable Tool Use in AI Agents","heading":"Reproducible evaluation: hostile instructions and permissions","kind":"blog","contentLanguage":"en","excerpt":"[Agent Injection Evals](<https://lucioduran.com/projects/agent-injection-evals>) crosses plain or instruction-isolated prompts with permissive or task-scoped tool policies. It uses the same pinned local model and preserves all 120 evaluation generations, including malformed outputs and failed legitimate tasks.\n\nIsolation allowed five unauthorized writes; combined protection attempted the same five and policy blocked them. No strategy completed any of the six clean tasks. Calling that zero attack rate a winning defense would hide the problem: the agent was not doing its job either. The project page separates capability, attempts, effects, bloc…","contentHash":"8b9254d42d4c7fdb9f5066b406985bfcadb111db3c4092f5993cdcf142cec629","datePublished":"2026-01-17","dateModified":"2026-10-21","readUrl":"https://lucioduran.com/api/content?path=%2Fblog%2Fllm-function-calling-tool-use-patterns&section=reproducible-evaluation-hostile-instructions-and-permissions&format=json","score":4.3286,"representations":{"markdown":"https://lucioduran.com/blog/llm-function-calling-tool-use-patterns.md","json":"https://lucioduran.com/blog/llm-function-calling-tool-use-patterns.json"}},{"url":"https://lucioduran.com/blog/model-context-protocol-mcp-ai-integration","citationUrl":"https://lucioduran.com/blog/model-context-protocol-mcp-ai-integration#where-this-is-all-going","title":"Model Context Protocol (MCP): The Missing Standardization Layer for AI-Tool Integration","heading":"Where This Is All Going","kind":"blog","contentLanguage":"en","excerpt":"…s still young, but the trajectory is clear. The protocol already has buy-in from major IDE vendors, agent frameworks, and model providers. The spec is moving toward OAuth 2.1 for authentication, which will make multi-tenant MCP servers viable for SaaS products.\n\nThe most promising aspect is the ` listChanged ` notification pattern. Imagine an MCP server that dynamically exposes tools based on the user's permissions, the current project context, or even the model's demonstrated competence. The protocol supports this today, most implementations just haven't caught up yet.\n\nFor any AI agent system, building MCP servers is preferable to writing c…","contentHash":"807f9334fafd26b17aaf886f6f2c9bffe32cbe0624814ff976d5d131dc0a22bb","datePublished":"2026-03-08","dateModified":"2026-10-21","readUrl":"https://lucioduran.com/api/content?path=%2Fblog%2Fmodel-context-protocol-mcp-ai-integration&section=where-this-is-all-going&format=json","score":3.61102,"representations":{"markdown":"https://lucioduran.com/blog/model-context-protocol-mcp-ai-integration.md","json":"https://lucioduran.com/blog/model-context-protocol-mcp-ai-integration.json"}},{"url":"https://lucioduran.com/blog/opentelemetry-distributed-tracing-microservices","citationUrl":"https://lucioduran.com/blog/opentelemetry-distributed-tracing-microservices#the-collector-topology-that-scales","title":"OpenTelemetry in Production: Distributed Tracing Implementation and Cost Control","heading":"The collector topology that scales","kind":"blog","contentLanguage":"en","excerpt":"Running a single collector is inadvisable. Here is a proven topology:\n\n```\nServices → Agent Collectors (DaemonSet) → Gateway Collectors (Deployment) → Tempo\n (local buffering) (sampling, processing) (storage)\n```\n\nThe agent collectors run as a DaemonSet in Kubernetes. They receive spans over localhost (no network hop), do basic batching, and forward to the gateway. The gateway collectors do the heavy processing: tail-based sampling, attribute manipulation, and export to the backend.\n\n```yaml\n# Agent collector config (lightweight)\nreceivers:\n otlp:\n protocols:\n grpc:\n endpoint: 0.0.0.0:4317\nexporters:\n otlp:\n endpoint: otel-gateway:4317\n compr…","contentHash":"058978f76057f00407052a7c9c91adcdc2d2bfbd13c0882dd70bdeab85798262","datePublished":"2025-12-11","dateModified":null,"readUrl":"https://lucioduran.com/api/content?path=%2Fblog%2Fopentelemetry-distributed-tracing-microservices&section=the-collector-topology-that-scales&format=json","score":3.57682,"representations":{"markdown":"https://lucioduran.com/blog/opentelemetry-distributed-tracing-microservices.md","json":"https://lucioduran.com/blog/opentelemetry-distributed-tracing-microservices.json"}}],"next":"/api/search?q=agent&locale=en&kind=blog&limit=10&offset=10"}