SShortSingh.
Back to feed

Treat AI Agent Tools Like Public APIs to Prevent Duplicate Actions

0
·7 views

A developer's first production AI agent issued the same refund three times after a payment API returned a 502 error and the model retried the call. The root cause was a missing idempotency key, a bug familiar from standard HTTP client code rather than a language model problem. The article argues that the model should be treated as an unpredictable API caller, so tools need the same safeguards as public APIs, including versioning, timeouts, idempotency, scoped credentials, and rate limits. It recommends classifying every tool as read, write, or destructive, with that classification enforced in code rather than documentation. The author also advises generating idempotency keys in the application, since models will retry calls for many reasons.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Guide to Building a Python AI Call Agent with Speech-to-Text, Groq LLM and TTS

A developer explains how to build an AI calling agent in Python by chaining speech-to-text, a language model, and text-to-speech in a continuous loop. The approach is illustrated through the author's Google Voice Dispatch Agent, a tool built for trucking dispatch outreach. The system waits for confirmed call connection before speaking, using a conservative gate on ringing states and a minimum ring window. Caller audio is transcribed with Groq-hosted Whisper, replies are generated by a Groq chat model with short responses, and speech is produced with Edge TTS, with pre-generated opening and voicemail lines to reduce delay. Voicemail detection runs after connection and switches the agent to a prerecorded message when triggered.

0
ProgrammingDEV Community ·

A local-first routine for weekly lead research and personalized outreach

The article describes a calm weekly outreach routine built on a clear ideal customer profile, with prospects excluded if they don't match it. It recommends collecting leads from multiple public sources, recording each one's source for later checking, and removing duplicates and recent contacts. Each message should reference one specific detail about the prospect and ask only one small question, with batched sending and a single polite follow-up. The author, from the aiFetchly team, notes the steps also work with a spreadsheet and an existing email tool, and that the product is an open-source desktop AI agent offered in free and paid tiers.

0
ProgrammingDEV Community ·

Making JavaScript-Heavy Sites Crawlable: A Practical SEO Guide

Developers building JavaScript-heavy sites with frameworks like React, Vue, or Next.js often face the problem that search engines may see little content while users get a rich interactive experience. The guide compares options including server-side rendering, static site generation, and dynamic rendering, noting that SSR or SSG are the cleanest choices when infrastructure allows. It provides an Express middleware example that serves pre-rendered snapshots to known crawlers such as Googlebot and Bingbot while regular users receive the single-page app. The article also recommends a permissive robots.txt, an up-to-date sitemap, JSON-LD structured data, and placing key content above the fold in server-rendered markup. It closes by suggesting testing tools such as Search Console's URL Inspection and mobile-friendly checks to verify indexing.

0
ProgrammingDEV Community ·

Chroma vector database discovery counts overstate exposure; owned-asset checks matter more

A ZoomEye measurement on October 31, 2026 found zero matches for the app fingerprint "Chroma" but 1,215 results for the title query, and the article argues these counts do not show reachable or readable deployments. The title results can include documentation and unrelated pages, while a zero app result only means the exact signature was absent from the selected scope. The article recommends resolving candidates through owned asset records and safe public response checks rather than querying unowned collections. For owned self-hosted servers, it advises enabling and documenting authentication, placing the server behind TLS and network controls or a gateway, and separating and rotating static tokens. It also stresses that collections, metadata, and backups can contain sensitive business or personal data and need matching access controls and restore testing.