今日已更新 450 条资讯 | 累计 28762 条内容
关于我们

今日精选

HOT

最新资讯

共 28762 篇
第 139/1439 页
AI 资讯 Dev.to

Not All Repair Helps: What I Learned Trying to Fix a Failing AI Agent

Picture a moment every person who runs an AI agent knows. A task is halfway done and starting to go wrong. The agent took a weird turn a few steps back and now it is confidently heading somewhere bad. You have to decide fast on this. Do you step in? And if you do a quick "wait, check your work" nudge will that actually fix it? Or do nothing? Or worse knock a run that was about to recover on its own off the rails? That question is the whole project. Here is the honest short version of what I found. Detecting a failure is not fixing it A lot of recent agent research is about failure attribution — figuring out which step in a long run broke everything. Useful but it stops one step short of what you need when you are on call. Knowing where it broke is not the same as knowing what to do about it . So I asked a blunter question: given a failure, which fix actually recovers the run and which ones quietly make it worse? To answer it without fooling myself I rewind each failing run to the exact step where it went wrong, apply one fix, let it play forward and check the real answer against a hard ground truth no LLM grading another LLM. And I always compare against a "do nothing" control, because some runs recover on their own, and I did not want to give my fixes credit for that (or miss a "fix" that's actually worse than leaving the agent alone). What a capable agent actually gets wrong First surprise: a decent agent mostly doesn't fail in the dramatic ways people worry about. It rarely loops, rarely forgets to answer, rarely fumbles a tool that throws an error in its face. It fails in two quieter ways and both are the same underlying mistake: acting on the surface of the situation instead of the real thing underneath. It makes up an answer it could have looked up. The fact it needs is sitting right there behind a tool call it just never makes, so it fills the gap with something plausible. Reads "manager: #202," never looks up who #202 is, asserts a name anyway. It trusts a t

Ayush Singh 2026-07-30 14:35 5 原文
AI 资讯 Dev.to

C# Crash Course for Beginners

Hey everyone, I'm excited to share my brand-new C# Crash Course for Beginners on YouTube! 🎉 For those of you who are new here, I'm Amir, a software developer who enjoys learning new technologies and creating programming tutorials that are practical, beginner-friendly, and straight to the point. If you've been thinking about learning C#, this course is the perfect place to start. C# is one of the most popular programming languages in the world and is widely used for desktop applications, web development with ASP.NET, cloud services, game development with Unity, and enterprise software. Combined with the power of the .NET ecosystem, it provides an excellent foundation for building modern applications. In this one-hour crash course, we'll start from the very beginning by setting up the .NET development environment and learning the essential command-line tools. From there, we'll gradually build our understanding of the language through practical demonstrations and live coding examples. Throughout the course, you'll learn: How to install and configure the .NET SDK Using the .NET CLI and .NET Script Variables and data types String interpolation Arithmetic, comparison, and logical operators Conditional statements Loops Methods and functions Arrays and collections Lists, Dictionaries, and HashSets LINQ fundamentals Classes, objects, and Object-Oriented Programming (OOP) Records and modern C# features Pattern Matching You'll also get a preview of a real-world application that we'll build together in a future tutorial series, showing how these concepts come together in an actual project. This course focuses on building a strong understanding of C# fundamentals. Topics such as asynchronous programming with async and await are intentionally left for a dedicated tutorial, where we can explore them properly with practical examples. Whether you're completely new to programming or coming from another language like Java, Python, JavaScript, Go, or Rust, I hope this course helps make

Bek Brace 2026-07-30 14:32 4 原文
AI 资讯 Dev.to

Data, Context & RAG Lineage Governance for Enterprise AI Agents

The RAG Security Gap Retrieval-Augmented Generation (RAG) has rapidly emerged as the foundational architecture for grounding enterprise AI agents in proprietary corporate knowledge. By pairing Large Language Models (LLMs) with high-density vector databases and knowledge graphs, organizations enable agents to answer complex queries, analyze financial records, and automate customer support workflows using live operational context. However, as agentic workflows transition from prototype sidecars to core infrastructure, exposing unstructured enterprise data to vector search pipelines introduces severe, unmonitored security surfaces. When an LLM retrieves document chunks from vector stores, traditional identity management frameworks break down. Role-Based Access Control (RBAC) configured in legacy SQL databases or cloud storage buckets does not natively translate into vector embedding spaces. If a vector store ingests documents without preserving fine-grained document-level Access Control Lists (ACLs) or cryptographic data lineage, autonomous agents operate in an over-permissioned context. The consequences of ungoverned RAG architectures are severe: Privilege Escalation via Context Injection: An employee with basic read access asks an agent a high-level query. The agent’s vector search retrieves chunked financial projections or executive emails that lack query-time authorization filtering, exposing confidential data in the generated response. Indirect Prompt Injection: Malicious actors embed hidden instruction payloads inside public or shared enterprise documents (e.g., hidden white text in a PDF invoice). When the RAG engine ingests and retrieves this chunk, the LLM executes the injected commands, hijacking the agent’s execution loop. Stale Context & Hallucination Loops: Vector databases retain outdated document embeddings indefinitely unless bound to stateful lifecycle policies. Agents grounding decisions on stale operational procedures generate hallucinated or legally

Jitendra Gupta 2026-07-30 14:19 4 原文
AI 资讯 Dev.to

Building a Slack Approval Workflow That Deletes Cloud Infrastructure

Block Kit, signature verification, and the design decisions that stop a button click from becoming an incident. That screenshot is a bot asking permission to delete an EBS volume. Clicking Approve Remediation snapshots the volume, waits for the snapshot to complete, deletes the volume, and edits the message to say what happened. Getting that to work is mostly plumbing. Getting it to work safely , so that a stale click, a replayed request, or a resource someone protected in the meantime cannot cause damage, is the interesting part. This walks through both, using the Slack adapter from FinOps Sentinel . The shape of the problem Slack interactivity is two separate channels that only look like a conversation: Your app ──── incoming webhook ────▶ Slack channel │ user clicks │ Your app ◀─── HTTP POST ──────────────────┘ (a completely new request, from Slack's servers) The click arrives as an unauthenticated POST from the public internet to whatever URL you registered. Nothing about the request proves it came from Slack, or that a human clicked anything. That is the security problem in one sentence, and everything below follows from it. Part 1: Setting up the Slack app Create the app and get a webhook api.slack.com/apps → Create New App → From scratch Name it, pick your workspace Incoming Webhooks → toggle On → Add New Webhook to Workspace Choose a channel, click Allow , copy the URL SLACK_WEBHOOK_URL = https://hooks.slack.com/services/TXXXXX/BXXXXX/XXXXXXXX Webhooks post to exactly one channel and cannot read anything. For a notification bot that is the right amount of privilege: no OAuth flow, no bot token, no scopes to review. Enable interactivity Interactivity & Shortcuts → toggle On → set the Request URL: https://your-domain.example/callbacks/slack Locally you need a tunnel: ngrok http 8000 # → https://a1b2c3d4.ngrok.app # Request URL: https://a1b2c3d4.ngrok.app/callbacks/slack The free ngrok URL changes on every restart, and you must update Slack each time. Save your

Boaz Leleina 2026-07-30 14:17 4 原文
AI 资讯 Dev.to

[Advanced Rust] 1.14. Memory Types Pt.2 - Dynamically Sized Types and Wide Pointers, Packed Layouts, Larger Alignment for Speci…

Full title: [Advanced Rust] 1.14. Memory Types Pt.2 - Dynamically Sized Types and Wide Pointers, Packed Layouts, Larger Alignment for Specific Fields or Types, Memory Representation of Complex Types, and Repr Rust 1.14.1. repr(Rust) Remember the example in the previous article? That example used repr(C) , and the limitation of the C representation is that all fields must be placed in the same order as they are defined in the original struct. repr(Rust) is the default representation. It intentionally provides fewer layout guarantees than repr(C) : the compiler may reorder fields, and two types with the same fields in the same order are still not guaranteed to share a layout. Because the compiler may reorder fields (for example, placing larger fields first), padding can often be reduced. In the Foo example from the previous article, one possible optimized layout needs no padding. With fewer guarantees about layout, the compiler has room to rearrange things and produce efficient code. If repr(Rust) is used, then one possible memory layout of the Foo struct from above is: Code Field Type Size Default Representation Padding Final Alignment #[repr(Rust)] struct Foo { long: u64, 8 bytes 8-byte aligned 8 bytes normal: u32, 4 bytes 4-byte aligned short: u16, 2 bytes 2-byte aligned small: u8, 1 byte 1-byte aligned tiny: bool, 1 byte 1-byte aligned } Total 16 bytes The compiler first orders the fields by size, putting the largest first so that it can determine what alignment the struct should use. In this example, u64 is the largest and takes 8 bytes, so the struct is aligned to 8 bytes The compiler then looks at the remaining fields and sees that their total size is exactly 8 bytes, so it can place them together and avoid padding In the end, this struct only needs 16 bytes, which saves half the memory compared with repr(C) This is more efficient, but compilation time may be a little longer 1.14.2. Packed Layouts You can tell the compiler that no padding is needed between fiel

SomeB1oody 2026-07-30 14:16 2 原文
AI 资讯 Dev.to

AI Consent Ledger: Stop Voice Agents From Ignoring Revoked Permission

A voice agent can sound polished, respond instantly, and still create a trust incident in one sentence: “Stop calling me.” If that request only updates the SMS path, your agent may keep dialing tomorrow. If it only updates a call transcript, your follow-up workflow may keep texting. For builders shipping AI callers, inbox agents, scheduling bots, or multi-step outreach workflows, consent is no longer a static checkbox. It is runtime state. That is where an AI consent ledger helps. It gives every agent action a simple rule: before contacting, enriching, recording, or escalating a person, check the latest consent state from one durable place. This guide shows how to design that ledger without turning your product into a compliance maze. This is technical architecture guidance, not legal advice. If your workflow touches regulated outreach, health, finance, employment, or sensitive personal data, involve a qualified legal reviewer. Why AI agents make consent harder Traditional apps usually ask for permission at predictable moments: signup, newsletter opt-in, cookie banner, phone number capture, or billing consent. AI agents blur that boundary. A production agent may: answer an inbound call summarize a voicemail text a follow-up link schedule another call enrich a CRM record trigger a campaign step next week hand the case to a human retry after a failed tool call switch from voice to SMS or email Each step may be valid by itself. The risk appears when consent changes in one channel and the rest of the workflow does not notice. The common failure shape is simple: User revokes permission in the channel in front of them. The agent logs the message as conversation text. Another workflow keeps running because it never checked revocation state. That is not an LLM problem. It is a state-management problem. What is an AI consent ledger? An AI consent ledger is an append-only record of permission events plus a fast read model that answers one question: Is this specific agent allo

Jack M 2026-07-30 14:12 5 原文
AI 资讯 Dev.to

The Founder-Led Sales Playbook: From $0 to $1M ARR Without Hiring a Single Salesperson

Every bootstrapped SaaS founder hits the same wall. You've built a product. You have organic signups. You're at $3-5K MRR growing 5% per month. At this rate, you'll hit $1M ARR in approximately... never. The conventional wisdom says: hire a salesperson. But you can't afford one. A decent SaaS AE costs $80-120K base plus commission, and the good ones want to sell for funded companies with brand recognition. Here's the good news: you don't need a sales team to reach $1M ARR. You need a system. And you — the founder — are the best salesperson your company will ever have, because you understand the customer's problem better than anyone you could hire. This playbook covers the tools, processes, and scripts to run founder-led sales from zero to a million ARR. Why Founder-Led Sales Wins At $10K MRR, your entire company revenue is $120K per year. Hiring a salesperson at $80-100K base means 70-80% of revenue goes to one person — before ramp time (3-6 months), tools, and leads burned while learning. Meanwhile, you already have the context. You built the product. You can answer any objection without checking with a product team. According to OpenView Partners' SaaS Benchmarks, companies in the $1-5M ARR range with founder-led sales close deals 40% faster than those with early sales hires, primarily because founders can make pricing and scope decisions on the spot. Companies like Bannerbear and many IndieHackers founders built to $1M+ ARR with the founder doing all the selling. It's often optimal. Phase 1: $0 to $10K MRR — Manual Everything Your job is to find the first 10-20 customers who will pay you, use your product, and give you feedback. The Tools ($0-50/month) CRM: A spreadsheet. Notion, Airtable, or Google Sheets. Don't buy a CRM until you have 50+ leads. Email: Your personal email via Google Workspace ($6/month). Meetings: Google Meet (free) or Calendly free tier. Enrichment: Apollo.io free tier or manual LinkedIn research. The Process Step 1: Build a target list of 10

insightlab 2026-07-30 11:55 10 原文
AI 资讯 Dev.to

The Alpine Mirage: How Upgrading Python Broke My Build and Led to a Truer Security Posture

This is a submission for DEV's Summer Bug Smash: Smash Stories powered by Sentry . The Initial Goal: "Upgrade and Secure" Like many developers, I recently fell into the trap of assuming that "smaller is always better, and newer is always safer." I decided to upgrade my terminal-based web UI project, py_terminal , to the bleeding-edge python:3.15-rc-alpine Docker base image. The logic was sound: Alpine Linux has a much smaller footprint, meaning a smaller attack surface. Python 3.15 Release Candidate would give me early access to performance improvements and patches. What followed was a cascading series of build failures that taught me a valuable lesson about container architecture, Python's C-API, and what actually makes a container secure. The Descent into Dependency Hell The moment I pushed the Dockerfile update and ran docker build , the pipeline exploded. 1. The Missing Wheels The first error was abrupt: ERROR: No matching distribution found for litellm==1.93.0 Because I was combining a release candidate of Python (3.15-rc) with Alpine (which uses musl libc instead of the standard glibc ), pre-compiled binaries (wheels) simply didn't exist for several of my packages. pip was forced to download raw source code and build from scratch. 2. The Rust Compiler (Wait, Rust?) One of litellm 's underlying dependencies is fastuuid , which is written in Rust. Because pip was building from source, it attempted to download the Rust toolchain ( cargo ). It immediately failed: Error loading shared library libgcc_s.so.1: No such file or directory Because Alpine is so incredibly stripped down, it didn't even have the basic C runtime library ( libgcc ) required to run the Rust compiler. 3. Fighting the PyO3 API Determined to win, I added the heavy build tools to Alpine ( apk add build-base cargo libffi-dev ). The build got further, but then crashed while compiling tiktoken and pydantic-core . The bridge between Rust and Python is handled by a library called PyO3 . It explicitly re

Rohith Pavithran 2026-07-30 11:50 7 原文
AI 资讯 Dev.to

How to Set Up a Free, Full HTTPS Domain Redirect with Cloudflare and Namecheap

If you have ever bought a domain on Namecheap to redirect traffic to your main web app, you might have hit a frustrating wall: Namecheap's free "Domain Redirect" feature works fine for plain http:// requests, but it completely falls flat when someone hits https:// . Browsers try to perform an SSL/TLS handshake before following the HTTP redirect header. Because Namecheap does not issue a free SSL certificate for basic domain forwarding, your users end up seeing a scary "Your connection is not private" error. Here is how to set up a full, seamless redirect from an old domain ( snapseek.co ) to a new domain ( snapseek.app ) using Cloudflare's free tier. This approach handles both HTTP and HTTPS, while preserving all incoming URL paths and query parameters. The Big Picture Instead of serving traffic through Namecheap's basic forwarding servers, we hand off DNS management to Cloudflare. Cloudflare acts as a reverse proxy, provides a free universal SSL/TLS certificate, and handles the redirection right at the edge using its modern Single Redirect Rules engine. Step 1: Add Your Domain to Cloudflare Log into your free Cloudflare account (or sign up if you do not have one). On your dashboard under the Home tab, click Add a domain . Type in your source domain (e.g., snapseek.co ) and choose Quick scan for DNS records . When prompted to select a plan, scroll down to the bottom and pick the Free plan. Cloudflare will scan your existing DNS setup. Scroll down and click Continue to activation . Cloudflare will display a pair of custom nameservers (for example: ada.ns.cloudflare.com and sam.ns.cloudflare.com ). Copy these down. Step 2: Update Nameservers in Namecheap Log into your Namecheap account and go to your Domain List . Click Manage next to your domain ( snapseek.co ). Find the Nameservers dropdown section. Switch it from Namecheap BasicDNS to Custom DNS . Paste the two Cloudflare nameservers into the fields and click the green checkmark to save. Note: DNS propagation usual

Ashwin 2026-07-30 11:44 10 原文
AI 资讯 Dev.to

OpenEval: Why LLM Evaluation Needs a Standard Format

Every LLM evaluation framework today invents its own test case format, its own grader definitions, and its own results schema. DeepEval, Promptfoo, Inspect AI, and lm-evaluation-harness all solve the same core problem (checking whether a model's output is correct) but none of them can read each other's eval datasets. That means every time a team wants to compare frameworks, or move from a notebook prototype to a production eval pipeline, they end up hand-rewriting the same test cases over and over. OpenEval is an attempt to fix that by defining a small, portable JSON Schema for eval test cases, graders, and results, plus tooling to move data between frameworks instead of retyping it. What's in the repo: A versioned JSON Schema spec for test cases, grader configs, and result records. TypeScript and Python SDKs for reading and writing OpenEval-formatted datasets. A CLI with validate, convert, init, and summarize commands. Converters for popular frameworks so existing datasets can be brought in or exported out without a manual rewrite. The project just published v1.0.0 to npm and PyPI, and issues are open on 17+ framework integrations if anyone wants to help wire up a converter for a framework not yet covered. Repo: https://github.com/adhabnr-ux/openeval Would love feedback from anyone who has hit this same portability problem while switching between eval tools.

Adha AK 2026-07-30 11:40 7 原文
AI 资讯 Dev.to

Building an AI-Powered Innovation Wormhole: Transferring Solutions Across Industries Instead of Reinventing Them

Innovation is often described as the creation of something entirely new. In reality, many breakthrough ideas are simply successful mechanisms transferred from one domain into another. Nature inspired aerospace engineering. Video game matchmaking algorithms influenced logistics. Immune systems inspired cybersecurity. Financial risk models are now being applied to supply chain resilience. The challenge isn't a lack of ideas. The challenge is discovering where those ideas already exist. The Innovation Gap Organizations spend billions of dollars every year on research and development while unknowingly solving problems that have already been solved somewhere else. Traditional consulting typically searches inside the client's industry. Traditional search engines retrieve documents. Traditional LLMs generate text. None of these systems are explicitly designed to answer a much more valuable question: Which proven mechanism from an entirely different industry can solve my problem? This question became the foundation of what I call the Innovation Wormhole . From Knowledge Retrieval to Mechanism Transfer Instead of retrieving documents, the system retrieves mechanisms . Instead of matching keywords, it matches problem structures . Instead of generating ideas from scratch, it transfers validated solutions between industries. Imagine a manufacturing company struggling with predictive maintenance. Rather than searching only industrial papers, the platform might discover that astronomical signal processing uses nearly identical anomaly detection techniques. The recommendation isn't merely: "Read this paper." It becomes: Why the solution works Which assumptions remain valid Required modifications Technical risks Expected ROI Evidence supporting the transfer This is knowledge transfer rather than information retrieval. The Core Architecture The platform is organized as a pipeline of specialized reasoning modules. 1. Problem Decomposition The customer's problem is transformed into a

Seyed Alireza Alhosseini 2026-07-30 11:39 8 原文