[{"data":1,"prerenderedAt":177},["ShallowReactive",2],{"blogs-category-detail-ai-agents-en":3},{"status":4,"category":5,"items":14,"total":13,"page":116,"totalPages":116,"limit":117,"lang":19,"otherCategories":118,"hotTags":153},"success",{"name":6,"slug":7,"description":8,"icon":9,"image":10,"color":11,"bgGradient":12,"totalCount":13},"AI Agents","ai-agents","Ứng dụng AI Agentic Era 2026, RAG Vector Database (Qdrant\u002FPgvector), Multi-Agent Systems và tối ưu vLLM Inference.","bot","\u002Fimages\u002Flumina_it_ai.webp","#F59E0B","from-amber-500\u002F20 to-orange-500\u002F5",7,[15,33,48,63,77,91,103],{"id":16,"title":17,"slug":18,"lang":19,"category":6,"categorySlug":7,"summary":20,"excerpt":20,"author":21,"date":22,"readTime":23,"image":24,"tags":25,"publishedAt":30,"createdAt":30,"updatedAt":30,"filePath":31,"sourceUrl":32},"cron-1786954563310","FastMCP Agent Mail: RBAC Tokens vs Anonymous Access, and the 403 Errors in Between","fastmcp-agent-mail-rbac-tokens-vs-anonymous-access-and-the-403-errors-in-between-ef0p","en","Why a FastMCP agent mail server that works anonymously in dev returns 403 behind TLS ingress, and how to wire bearer tokens without leaking them.","Guatu","17\u002F8\u002F2026","6 phút","https:\u002F\u002Fmedia2.dev.to\u002Fdynamic\u002Fimage\u002Fwidth=1000,height=420,fit=cover,gravity=auto,format=auto\u002Fhttps%3A%2F%2Fguatulabs.dev%2Fog%2Ffastmcp-agent-mail-rbac-token-vs-anonymous-lessons-from-403-errors.png",[6,26,27,28,29],"fastmcp","mcpservers","aiagents","authentication","2026-08-17T08:16:03.310Z","\u002FUsers\u002Fnguyenanhtuan\u002FCode\u002FNuxtjs\u002Fnextpress\u002Fintlight\u002Fpublic\u002Fcontents\u002Fai-agents\u002Ffastmcp-agent-mail-rbac-tokens-vs-anonymous-access-and-the-403-errors-in-between-ef0p.md","https:\u002F\u002Fdev.to\u002Ffuthgar\u002Ffastmcp-agent-mail-rbac-tokens-vs-anonymous-access-and-the-403-errors-in-between-22pk",{"id":34,"title":35,"slug":36,"lang":19,"category":6,"categorySlug":7,"summary":37,"excerpt":37,"author":38,"date":39,"readTime":23,"image":40,"tags":41,"publishedAt":45,"createdAt":45,"updatedAt":45,"filePath":46,"sourceUrl":47},"cron-1786955347611","I Changed How I Think About AI Memory","i-changed-how-i-think-about-ai-memory-fnpm","I Changed How I Think About AI Memory   When I first built Lean AI Memory, I focused too...","Phúc Phùng","8\u002F17\u002F2026","https:\u002F\u002Fmedia2.dev.to\u002Fdynamic\u002Fimage\u002Fwidth=1200,height=627,fit=cover,gravity=auto,format=auto\u002Fhttps%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0oqod5zshdan74573bau.png",[6,42,28,43,44],"ai","opensource","git","2026-08-17T08:29:07.610Z","\u002FUsers\u002Fnguyenanhtuan\u002FCode\u002FNuxtjs\u002Fnextpress\u002Fintlight\u002Fpublic\u002Fcontents\u002Fai-agents\u002Fi-changed-how-i-think-about-ai-memory-fnpm.md","https:\u002F\u002Fdev.to\u002Fphucphungbk\u002Fi-changed-how-i-think-about-ai-memory-4mkd",{"id":49,"title":50,"slug":51,"lang":19,"category":6,"categorySlug":7,"summary":52,"excerpt":52,"author":53,"date":39,"readTime":54,"image":55,"tags":56,"publishedAt":60,"createdAt":60,"updatedAt":60,"filePath":61,"sourceUrl":62},"cron-1786956218725-en","I Thought I'd Lost the Plot. I Was Writing It.","i-thought-id-lost-the-plot-i-was-writing-it-wjvz","I Thought I'd Lost the Plot. I Was Writing It.            I set out to build autonomous...","Joe Black","6 min read","https:\u002F\u002Fmedia2.dev.to\u002Fdynamic\u002Fimage\u002Fwidth=1200,height=627,fit=cover,gravity=auto,format=auto\u002Fhttps%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fa3l9h76kr920p8bm2mjp.png",[6,57,28,58,59],"claudecode","developmenttools","autonomousagents","2026-08-17T08:43:38.725Z","\u002FUsers\u002Fnguyenanhtuan\u002FCode\u002FNuxtjs\u002Fnextpress\u002Fintlight\u002Fpublic\u002Fcontents\u002Fai-agents\u002Fi-thought-id-lost-the-plot-i-was-writing-it-wjvz.md","https:\u002F\u002Fdev.to\u002Fjoeblackwaslike\u002Fi-thought-id-lost-the-plot-i-was-writing-it-5fil",{"id":64,"title":65,"slug":66,"lang":19,"category":6,"categorySlug":7,"summary":67,"excerpt":67,"author":68,"date":22,"readTime":23,"image":69,"tags":70,"publishedAt":74,"createdAt":74,"updatedAt":74,"filePath":75,"sourceUrl":76},"cron-1786954321408","Test Deletion Is a Privileged Operation","test-deletion-is-a-privileged-operation-2pfz","The cheapest way for an agent to make a failing test pass is to delete it. That is logical for the agent and catastrophic for the codebase. Tests are append-only by default. Deletion needs a human author, a separate commit, and a separate review.","Travis Frisinger","https:\u002F\u002Fmedia2.dev.to\u002Fdynamic\u002Fimage\u002Fwidth=1000,height=420,fit=cover,gravity=auto,format=auto\u002Fhttps%3A%2F%2Fwww.tddbuddy.com%2Fimages%2Fcovers%2Ftest-deletion-is-a-privileged-operation.png",[6,71,28,72,73],"tdd","testdesign","codereview","2026-08-17T08:12:01.408Z","\u002FUsers\u002Fnguyenanhtuan\u002FCode\u002FNuxtjs\u002Fnextpress\u002Fintlight\u002Fpublic\u002Fcontents\u002Fai-agents\u002Ftest-deletion-is-a-privileged-operation-2pfz.md","https:\u002F\u002Fdev.to\u002Ftmfrisinger\u002Ftest-deletion-is-a-privileged-operation-264a",{"id":78,"title":79,"slug":80,"lang":19,"category":6,"categorySlug":7,"summary":81,"excerpt":81,"author":82,"date":39,"readTime":23,"image":83,"tags":84,"publishedAt":88,"createdAt":88,"updatedAt":88,"filePath":89,"sourceUrl":90},"cron-1786954879160","Test What Your AI Agents Must Not Do","test-what-your-ai-agents-must-not-do-fj6y","A Guardrail Without A Negative Test Is Still An Assumption   Most AI agent governance starts...","Bobai Kato","https:\u002F\u002Fmedia2.dev.to\u002Fdynamic\u002Fimage\u002Fwidth=1000,height=420,fit=cover,gravity=auto,format=auto\u002Fhttps%3A%2F%2Fres.cloudinary.com%2Fota-run%2Fimage%2Fupload%2Fq_auto%2Ftest-what-your-ai-agents-must-not-do.png",[6,28,85,86,87],"agentsafety","negativetesting","executiongovernance","2026-08-17T08:21:19.160Z","\u002FUsers\u002Fnguyenanhtuan\u002FCode\u002FNuxtjs\u002Fnextpress\u002Fintlight\u002Fpublic\u002Fcontents\u002Fai-agents\u002Ftest-what-your-ai-agents-must-not-do-fj6y.md","https:\u002F\u002Fdev.to\u002Fotaready\u002Ftest-what-your-ai-agents-must-not-do-3e1a",{"id":92,"title":93,"slug":94,"lang":19,"category":6,"categorySlug":7,"summary":95,"excerpt":95,"author":68,"date":22,"readTime":23,"image":96,"tags":97,"publishedAt":100,"createdAt":100,"updatedAt":100,"filePath":101,"sourceUrl":102},"cron-1786954558132","The Coordinated Rename Is the Agent's Most Dangerous Refactor","the-coordinated-rename-is-the-agents-most-dangerous-refactor-iazu","Multi-agent rename tooling rewrites two hundred files in ten seconds because it noticed the drift. Half the time the drift was a load-bearing distinction the team encoded on purpose. Vocabulary curation is a real-time review surface now, and senior includes refusing changes that would be technically more consistent because the domain has two concepts the agent has no way to see.","https:\u002F\u002Fmedia2.dev.to\u002Fdynamic\u002Fimage\u002Fwidth=1000,height=420,fit=cover,gravity=auto,format=auto\u002Fhttps%3A%2F%2Fwww.tddbuddy.com%2Fimages%2Fcovers%2Fthe-coordinated-rename-is-the-dangerous-refactor.png",[6,98,28,99,73],"vocabulary","domainmodeling","2026-08-17T08:15:58.132Z","\u002FUsers\u002Fnguyenanhtuan\u002FCode\u002FNuxtjs\u002Fnextpress\u002Fintlight\u002Fpublic\u002Fcontents\u002Fai-agents\u002Fthe-coordinated-rename-is-the-agents-most-dangerous-refactor-iazu.md","https:\u002F\u002Fdev.to\u002Ftmfrisinger\u002Fthe-coordinated-rename-is-the-agents-most-dangerous-refactor-6a",{"id":104,"title":105,"slug":106,"lang":19,"category":6,"categorySlug":7,"summary":107,"excerpt":107,"author":21,"date":39,"readTime":54,"image":108,"tags":109,"publishedAt":113,"createdAt":113,"updatedAt":113,"filePath":114,"sourceUrl":115},"cron-1786956117904-en","The Write Policy Is the Hard Part: Promotion Pipelines for Agent Memory","the-write-policy-is-the-hard-part-promotion-pipelines-for-agent-memory-4qv9","Storing agent memory is easy. Deciding what earns a permanent write, and keeping the write-path alive through RBAC and network policy, is the real work.","https:\u002F\u002Fmedia2.dev.to\u002Fdynamic\u002Fimage\u002Fwidth=1000,height=420,fit=cover,gravity=auto,format=auto\u002Fhttps%3A%2F%2Fguatulabs.dev%2Fog%2Fthe-write-policy-is-the-hard-part-promotion-pipelines-for-agent-memory.png",[6,28,110,111,112],"agentmemory","rbac","networkpolicies","2026-08-17T08:41:57.903Z","\u002FUsers\u002Fnguyenanhtuan\u002FCode\u002FNuxtjs\u002Fnextpress\u002Fintlight\u002Fpublic\u002Fcontents\u002Fai-agents\u002Fthe-write-policy-is-the-hard-part-promotion-pipelines-for-agent-memory-4qv9.md","https:\u002F\u002Fdev.to\u002Ffuthgar\u002Fthe-write-policy-is-the-hard-part-promotion-pipelines-for-agent-memory-5mc",1,50,[119,128,137,145],{"name":120,"slug":121,"description":122,"icon":123,"image":124,"color":125,"bgGradient":126,"count":127},"Nuxt 4","nuxt-4","Kỹ thuật tối ưu hóa SSR sub-40ms, Nitro Server Cache L1\u002FL2, Pinia State Management và kiến trúc Micro-Frontend trên Nuxt 4.","code-2","\u002Fimages\u002Fhero_dashboard.webp","#00DC82","from-emerald-500\u002F20 to-teal-500\u002F5",0,{"name":129,"slug":130,"description":131,"icon":132,"image":133,"color":134,"bgGradient":135,"count":136},"Kubernetes","kubernetes","Khám phá kiến trúc Multi-Region Active-Active, Auto-scaling KEDA, Istio Service Mesh, GitOps ArgoCD và giám sát Prometheus\u002FGrafana.","server","\u002Fimages\u002Fcloud_nodes.webp","#326CE5","from-blue-500\u002F20 to-indigo-500\u002F5",6,{"name":138,"slug":139,"description":140,"icon":141,"image":142,"color":143,"bgGradient":144,"count":136},"Security","security","Chiến lược phòng thủ Zero-Trust, WAF Anti-DDoS, OAuth 2.1 PKCE, mã hóa 256-bit và tiêu chuẩn bảo mật OWASP Top 10.","shield-check","\u002Fimages\u002Flumina_it_shield.webp","#E11D48","from-rose-500\u002F20 to-red-500\u002F5",{"name":146,"slug":147,"description":148,"icon":149,"image":150,"color":151,"bgGradient":152,"count":136},"Microservices","microservices","Xây dựng hệ thống phân tán với Event-Driven Kafka, gRPC HTTP\u002F2 nhị phân, CQRS \u002F Saga Pattern và API Gateway Kong.","cpu","\u002Fimages\u002Fai_mesh.webp","#8B5CF6","from-purple-500\u002F20 to-violet-500\u002F5",[154,155,156,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176],{"name":6,"slug":7,"count":13},{"name":28,"slug":28,"count":13},{"name":73,"slug":73,"count":157},2,{"name":57,"slug":57,"count":116},{"name":58,"slug":58,"count":116},{"name":59,"slug":59,"count":116},{"name":110,"slug":110,"count":116},{"name":111,"slug":111,"count":116},{"name":112,"slug":112,"count":116},{"name":42,"slug":42,"count":116},{"name":43,"slug":43,"count":116},{"name":44,"slug":44,"count":116},{"name":85,"slug":85,"count":116},{"name":86,"slug":86,"count":116},{"name":87,"slug":87,"count":116},{"name":26,"slug":26,"count":116},{"name":27,"slug":27,"count":116},{"name":29,"slug":29,"count":116},{"name":98,"slug":98,"count":116},{"name":99,"slug":99,"count":116},{"name":71,"slug":71,"count":116},{"name":72,"slug":72,"count":116},1786961340978]