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

今日精选

HOT

最新资讯

共 29911 篇
第 294/1496 页
开发者 The Verge AI

Forget expensive sleepbuds. Buy this pillow instead

Tech companies love to sell us expensive gadgets to solve all of life's little problems. Sleepbuds sold by the likes of Anker and Ozlo are a good example. These miniature marvels of engineering sit flush in the ear, and allow side-sleepers to doze off listening to podcasts, audiobooks, music, or white noise without annoying their […]

Thomas Ricker 2026-07-25 15:00 11 原文
AI 资讯 Dev.to

Anthropic cuts API costs with Opus 5 as rivals unite to defend open weights

Anthropic dominated the day’s product cycle with the surprise launch of Claude Opus 5, a model that effectively obsoletes the company's own flagship architecture at half the cost and immediately topped third-party leaderboards [1] [3] [95] . Meanwhile, a massive geopolitical rift formalized as Microsoft, Meta, and Nvidia launched a coordinated lobbying effort to protect global open-weight pipelines [41] [93] , just as the Chinese model Kimi K3 demonstrated an alarming autonomous zero-day network exploit confirmed by international safety institutes [96] [104] . Claude Opus 5 disrupts frontier model pricing tiers Anthropic launched Claude Opus 5 at the same $5/$25 per million token price as Opus 4.8 , positioning it as a hyper-efficient model that functionally matches or beats the flagship Fable 5 on third-party coding evaluations like CursorBench [1] [3] . Visual reasoning capabilities mark a massive step-change , with the model successfully writing its own computer-vision pipeline to extract part geometries from raw pixels on the Frontier-Bench, while also perfectly scoring 42/42 on the IMO 2026 [54] [57] . Aggressive safety guardrails are simultaneously alienating power users , who report that while Opus 5's systemic Auto Mode bounds prompt injection success rates to near-zero, the model executes opaque "silent downgrades" to weaker architectures when it detects sensitive contexts rather than issuing standard refusals [33] [91] [95] . // Detect dark theme var iframe = document.getElementById('tweet-2080700479940759919-684'); if (document.body.className.includes('dark-theme')) { iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=2080700479940759919&theme=dark" } The takeaway: Anthropic is successfully driving down the localized cost of intelligence, but its blistering capability gains are artificially breaking its own pricing tiers and irritating developers with heavy-handed safety routing. Hardware and cloud alliance pushes back on open-weight bans Micr

Sivaram 2026-07-25 14:38 11 原文
AI 资讯 Dev.to

Policy Cascades for Governed Multi-Tenant Agent Platforms

Most agent platforms give you one configuration file and hope. When you are running agents for more than one team — or more than one customer — a single config breaks down fast. Each workspace needs its own model, its own service access, its own secrets, but someone has to guarantee that no workspace can spend more than its budget or reach a service it was never authorized to use. The answer is a policy cascade. Every setting — model, temperature, allowed services, API keys, skill availability, TTL defaults — resolves through three ordered tiers: company, repo, and workspace. A lower tier can narrow an upstream ceiling but never widen it. That single rule is what makes it safe to hand a workspace to a team without handing them the keys. How the cascade resolves Three tiers, bottom-up. The company tier sets the floor. The repo tier overrides it. The workspace tier overrides both. The resolution order is fixed for every kind of setting: Kind Company tier Repo tier Workspace tier Policy fields defaults override override Variables floor override override Skills floor override override Secrets last-resort fallback override first-resolved Notice that secrets run in reverse. A workspace-tier credential wins over the repo and company defaults, and an empty value at the workspace tier falls through to the repo. This means you set a per-customer token where it is used and fall back up the chain only when it is absent. You are never forced to duplicate credentials across every workspace. Narrow-only: the safety property The cascade is not a free-for-all override. For service access, budgets, quotas, and TTL defaults, a lower tier can only narrow what the tier above it allows. If the company grants a repo [github, slack, search] , a workspace under that repo can select a subset — [github, search] — but it cannot add linkedin . The resolve-time intersection is enforced, not advisory. This extends to per-service API surface control. Granting access to GitHub does not mean grantin

Gad Ofir 2026-07-25 14:36 11 原文
AI 资讯 Dev.to

What actually belongs in an architecture decision record (and what doesn't)

Most architecture decision records fail for the opposite reason people think. The issue usually isn't that teams forget to write them. It's that the ones they write are filled with the wrong content. The key information a reader needs—why this option instead of the others—often gets buried on page three under a list of API changes. An ADR has one job: capture a decision that is costly to reverse, along with the reasoning that led to it, while that reasoning is still fresh. That's all. It isn't a design document, a specification, or a collection of research. If you keep that focus, everything else about what to include or leave out will follow naturally. The format that still works Michael Nygard's original ADR template from 2011 (title, status, context, decision, consequences) has lasted for a reason. It directly addresses the key questions a future reader has: What was the situation? What did we decide? What did we give up? Teams that add ten extra sections, like owners, review dates, risk matrices, or approval lists, usually end up with a document no one finishes reading, which defeats the purpose. If your ADR template is longer than the time it takes to fill it out for a simple decision, cut sections until it’s more concise. A useful rule of thumb is that an ADR longer than a page and a half is often a design document masquerading as an ADR. This isn’t a strict rule, but I haven’t seen a truly good ADR exceed 600 words. The decisions worth documenting this way can be stated, justified, and owned in about a page. If that's not possible, the record isn’t the issue. The decision is probably still tied up with other unresolved matters. What belongs The decision, stated clearly. "We will use event-driven integration between the order and inventory services instead of synchronous REST calls" is a decision. "The order service integrates with inventory" simply describes the current state and belongs in a wiki, not an ADR. The challenges faced. Describe the two or three a

Tummala Krishna Kishore 2026-07-25 14:35 11 原文
AI 资讯 Dev.to

Defeating the Multi-Tenant SaaS Concurrency Trap in PostgreSQL

Most backend engineers implement multi-tenant quota checks using a standard "read-then-write" pattern. In production, this pattern is highly unsafe: SELECT grading_scans_remaining FROM profiles; If greater than 0, execute the application logic. UPDATE profiles SET grading_scans_remaining = grading_scans_remaining - 1; Under high volume or rapid concurrent requests, two independent processes will read the exact same balance before either one deducts usage. This race condition allows multi-tenant users to bypass your billing gates entirely. To solve this, you have to bypass the frontend and application-level checks, enforcing an atomic database operation that serializes the row update first. I have open-sourced a reference framework that outlines explicit subscription enums, core multi-tenant schemas, and a native VS Code / Cursor snippets configuration to speed up your local database modeling. 📂 Check out the repository on GitHub: { https://github.com/dollykm49/PostgreSQL-SaaS-Multi-Tenant-Subscription-Architecture-reference-framework- } What's inside the repository: Strictly Typed Enums: Centralized business rules handled natively by the database engine. Granular Balance Tracking: Optimized data-layer mapping for profiles and reset states. postgres-saas.code-snippets Engine: A local IDE configuration file that lets you deploy this core schema straight from your code editor by typing pg- shortcuts. For teams building commercial applications looking to skip weeks of writing custom migrations, testing concurrency edge-cases, and debugging row-locking security rules, the repository also includes a link to the extended 28-page production system bundle. Feedback on the multi-tier validation parameters is highly welcome!

Dkmooney 2026-07-25 14:34 8 原文
AI 资讯 Dev.to

Agent Memory Is Not Merely a Storage & Retrieval Problem, It Is an Architecture Problem.

Most teams building AI agents are treating memory and inference cost as something the next model release will eventually fix. They believe that a bigger context window, a smarter retriever, a cheaper token rate, etc. would absolve the need for a system for solving agent memory. This posture is convenient but it is wrong. What an agent remembers, when it forgets, and how much it costs to reason are architectural decisions. They get made long before any model is involved, and no amount of model improvement fixes a bad architecture underneath it. Memory is a lifecycle, not a buffer Most agent systems today treat context as one shared blob: everything goes in, nothing meaningfully comes out, and the "solution" to running out of room is a bigger window. That is not a memory system, it is a pile. A lifecycle approach breaks this into stages that each need their own design: Ingestion: what gets written to memory in the first place, and at what granularity Scoping: what is relevant to this agent, this user, this task, versus what is just noise that happened to be nearby Decay: what loses relevance over time and should be forgotten deliberately, not accidentally truncated when the buffer fills up Retrieval: what gets pulled back into context for a given turn, and why Treat these as one undifferentiated blob and you get exactly the failure modes everyone complains about: agents that "forget" things that mattered and "remember" things that did not. Where the cost actually goes Most of the token spend in agent systems is not the reasoning itself, it is carrying forward context that no longer earns its place. Every stale fact, every resolved sub-task, every turn of small talk that gets re-sent on every subsequent call adds up, and it adds up silently, because nothing in a shared-buffer architecture prompts you to ask whether that context is still worth its cost. Getting this right requires treating cost as a lifecycle property too, not a line item you optimize after the fact. We

Gaurav Dadhich 2026-07-25 14:21 9 原文
AI 资讯 Dev.to

Your LLM Fallback Probably Isn't a Fallback

At 04:00 UTC, every model call through our LLM gateway started returning HTTP 400. Not some calls. All of them. Our tier-1 CI gate flagged it, and the fix was committed at 04:26 UTC the same morning — about 26 minutes end to end. This is the post-mortem. What happened DeepSeek retired two API model names — deepseek-chat and deepseek-reasoner — at their V4 cutover around 2026-07-24 15:59 UTC. The replacements are deepseek-v4-pro and deepseek-v4-flash . Our gateway config still declared both retired names. Starting roughly twelve hours after the retirement, every model request routed through the gateway hit a 400 with the body: The supported API model names are deepseek-v4-pro or deepseek-v4-flash, but you passed . A live API check confirmed the shape of the cutover with four requests, same valid key: Model name Response deepseek-v4-pro HTTP 200 deepseek-v4-flash HTTP 200 deepseek-chat HTTP 400 deepseek-v4-pro-quantized HTTP 400 The two working names are the replacements. The two retired names — the ones our config referenced — returned 400. The fourth row is a name that does not exist at all, included because an earlier reading of a truncated error message had suggested it; shipping it would have left the platform broken. We'll come back to that. Why the fallback didn't help We had a fallback configured. Three separate model references in our policy config — the default CLI/workflow model, the chat model, and the shared fallback model — all pointed at the two retired names. All three lived under the same vendor and the same API key. When the primary call returned 400, the gateway tried the fallback. The log told the story in two adjacent lines: the 400 from the provider, and then Error doing the fallback: carrying the identical error. The fallback died in the same instant as the primary because it was the same thing wearing a different label. This is the structural problem. A fallback that shares a provider and an API key with its primary is not resilience. It protec

Gad Ofir 2026-07-25 14:20 8 原文
开发者 Dev.to

How to Build an Interactive Sales Analytics Dashboard in Python using Streamlit

Streamlit makes it remarkably fast to transform raw Python scripts into interactive, web-based data applications without needing any frontend knowledge in HTML, CSS, or JavaScript. In this tutorial, we will build a full-featured **Sales Analytics Dashboard** complete with real-time sidebar filtering, custom KPI metric cards, dynamic line/bar charts, and expandable data preview tables. --- ## Prerequisites To follow along, make sure you have Python 3.9+ installed along with the required libraries: bash pip install streamlit pandas numpy --- ## Step 1: Setting Up the Page & Mock Data with Caching First, we import the necessary libraries, set up the layout, and create a function to generate mock sales records. We use Streamlit’s `@st.cache_data` decorator so the data is only generated once per session, keeping the app snappy during user interactions. python import streamlit as st import pandas as pd import numpy as np Set layout configuration st.set_page_config(page_title="Sales Dashboard", layout="wide") Cache data loading for performance optimization @st .cache_data def load_data(): dates = pd.date_range("2025-01-01", periods=180) regions = ["North", "South", "East", "West"] df = pd.DataFrame({ "date": np.random.choice(dates, 500), "region": np.random.choice(regions, 500), "product": np.random.choice(["A", "B", "C"], 500), "sales": np.random.randint(100, 5000, 500), "units": np.random.randint(1, 50, 500), }) return df.sort_values("date") df = load_data() --- ## Step 2: Adding Interactive Sidebar Filters Next, we add controls inside the sidebar to let users filter the dataset by region, product type, and date range. A boolean mask applies those selections dynamically. python --- Sidebar filters --- st.sidebar.header("Filters") region_filter = st.sidebar.multiselect("Region", df["region"].unique(), default=df["region"].unique()) product_filter = st.sidebar.multiselect("Product", df["product"].unique(), default=df["product"].unique()) date_range = st.sidebar.date_input(

Ana 2026-07-25 14:18 12 原文
AI 资讯 Dev.to

389 Tests Passed. NIST Still Caught the Bug.

I gave an AI agent a calculator because I wanted one hard, inspectable point inside a probabilistic workflow. The model could interpret the request and explain the result. The calculator would perform the computation. It seemed like a clean division of labor. Then I changed one multiplication sign into addition. The calculator still passed 389 of the 390 tests in its Rust library harness. The sole failure compared its answer with NIST's certified results for the Longley regression dataset. That bothered me more than a completely broken build would have. I had treated deterministic computation as safer than asking a language model to improvise arithmetic. But deterministic does not mean trustworthy. A program can return the same wrong answer forever. “Source of truth” suddenly felt too comfortable. Before an AI agent delegates authority to a tool, that authority should be challenged—and remain revocable by evidence. The calculator is only the specimen. The larger idea is a way to place inspectable, replayable instruments inside probabilistic systems. The useful boundary is generation versus execution The interesting distinction is not model weights versus a “real CPU.” Model inference also runs on processors, and language models can learn genuine arithmetic procedures. The useful boundary is between generating an answer and executing a defined operation under a tested contract . Research on Program-Aided Language Models (PAL) makes a related split: the language model reads and decomposes a natural-language problem, while a runtime such as a Python interpreter executes the generated program. The model contributes flexible interpretation; the runtime contributes executable semantics. That is the division I want in an agent: At the semantic edge , the model interprets the request, chooses a procedure, identifies relevant quantities, and explains the result. At the computational edge , a narrow tool validates inputs, applies specified operations, enforces limits, and ret

Don Johnson 2026-07-25 14:17 6 原文
AI 资讯 Dev.to

The LLM Waterfall Pattern: Never Let a Rate Limit Kill Your Workflow

The LLM Waterfall Pattern: Never Let a Rate Limit Kill Your Workflow Implementing a provider failover strategy is critical for production AI applications. Learn why the LLM waterfall pattern outperforms simple retries and circuit breakers for zero downtime AI inference, even under strict API rate limits. The 429 Wall: Why Your LLM Integration Will Break in Production Your LLM-powered application is live. Traffic is growing, and users are loving the AI features. Then, it happens. A critical workflow grinds to a halt with a flurry of `429 Too Many Requests` errors. You're hitting the API rate limit of your primary LLM provider, and your entire service is now degraded. This isn't a hypothetical risk; it's a guaranteed event for any application with non-trivial usage. For developers building on top of APIs from providers like OpenAI, Anthropic, or Cohere, rate limits are a fact of life. These limits are often structured in complex tiers—requests per minute (RPM), tokens per minute (TPM), and even concurrent requests. A simple retry loop or a basic circuit breaker pattern, while well-known in distributed systems, often fall short of the nuanced demands of LLM inference, which involves large payloads, variable latency, and strict quota management across multiple potential vendors. The solution lies in a more deliberate, cascading strategy: the LLM waterfall pattern. Deconstructing the Patterns: Retries, Circuit Breakers, and the Waterfall To understand why the waterfall pattern excels for provider failover, we must first understand the common alternatives and their limitations in this specific domain. The Naive Retry Pattern is the simplest approach: if a request fails, try again after a short delay. For transient network blips, this is useful. For an `API rate limit` error, it's disastrous. Retrying immediately against the same endpoint will not only fail again but can also get your API key flagged or temporarily blocked. Even with exponential backoff, you are stuck in a

Robert Pelloni 2026-07-25 14:16 7 原文