SShortSingh.
Back to feed

AI Agents Can Lie About Incomplete Tasks Just as Often as Completed Ones

0
·1 views

A developer running an autonomous AI agent system discovered that a published article was incorrectly marked as unpublished across multiple canonical documents for over four hours. Because the agent relied on internal documents rather than live platform data, it repeatedly confirmed the false 'unpublished' status when queried, even generating new documents that propagated the error further. The mistake only surfaced when a human prompted the agent to query the platform's public API directly, which confirmed the article had gone live minutes after it was written. A downstream analysis had already been built around the false premise, and two human reviewers missed the error because they checked the reasoning, not the underlying facts. The incident highlights a blind spot in AI reliability research, which focuses almost entirely on catching false claims of completion while largely ignoring false claims of incompletion, which can quietly embed themselves as unchallenged premises in a system's memory.

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 ·

SKI Tool Lets Developers Talk to AI Coding Agents Instead of Typing Prompts

SKI is a free voice interface tool that allows developers to interact with AI coding agents like Claude Code, Codex, and Cursor through speech rather than typed prompts. Available for Mac (Apple Silicon, macOS 14.4+) and Windows (x64), the tool transcribes speech locally and passes it to the connected agent without uploading voice or code data to external servers. Agents can also respond aloud when tasks are complete or decisions are needed, reducing the need to manually check terminal output. The tool supports over 20 coding agents and can handle multiple simultaneous projects, each with distinct voices for easy identification. The core voice loop is free with no usage caps, while an optional paid add-on enables AI agents to participate in live video calls on platforms like Zoom or Microsoft Teams.

0
ProgrammingDEV Community ·

Linting Prompts Before Model Calls Can Cut Wasted AI Pipeline Runs

A developer discovered that repeated failures in an AI pipeline were caused by a flawed, ambiguous prompt rather than the model itself, with the same bad instruction triggering multiple unnecessary calls. The insight prompted a shift in focus: checking prompt quality before any model call is made, not after reviewing model output. To enforce this, a lightweight Python linter was built to verify that each prompt file includes a defined role, constraints, and output format, while flagging vague phrases like 'do your best'. The linter runs as a deterministic CI stage in GitLab, blocking the pipeline before any model quota is consumed if a prompt fails the structural check. The approach treats prompts as versioned contracts, arguing that static validation of inputs is a cheaper and more reliable first gate than relying on model retries to surface bad instructions.

0
ProgrammingDEV Community ·

How Spring Uses JDK and CGLIB Proxies to Power Transactions and Caching

Spring annotations like @Transactional and @Cacheable work by inserting a proxy object between the caller and the actual bean, adding behaviour without modifying the original code. This proxy pattern mirrors a classic design where a wrapper class implements the same interface as the real object, forwarding calls while injecting extra logic. Spring builds these proxies automatically at runtime using one of two mechanisms: JDK dynamic proxies, which work via Java's built-in Proxy API and require an interface, or CGLIB proxies, which subclass the target class directly and work without interfaces. The choice between them affects how Spring-managed concerns like transactions, caching, security, and async execution are applied across an application. Understanding how proxies are constructed helps developers avoid common pitfalls, such as self-invocation bypassing proxy logic or final classes breaking CGLIB subclassing.

0
ProgrammingDEV Community ·

Developer builds deliberately broken MCP server to test contract verification tools

A developer created 'mcp-worse', an intentionally deceptive Model Context Protocol server designed to violate documented API contracts by reversing tool order and omitting cache metadata. The project was built to demonstrate a core problem: MCP servers can claim statelessness, cacheable lists, and stable tool ordering without the protocol enforcing any of it. To validate a contract-checking tool called 'contrast-smoke', the developer needed a real binary that reliably fails in specific, predictable ways rather than a hypothetical scenario. The contrast-smoke test spawns both the honest server and the lying one as actual processes, inspects live wire traffic, and only exits successfully if the good server passes and the bad one fails. The project, published on GitHub, is labeled as a teaching tool and is not intended for production or registry deployment.