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

AI 资讯

AI人工智能最新资讯、模型发布、研究进展

15637
篇文章

共 15637 篇 · 第 616/782 页

InfoQ

Java News Roundup: JDK 27 in Rampdown, JDK 28 Expert Group, GlassFish, Infinispan, Kotlin

This week's Java roundup for June 1st, 2026, features news highlighting: JDK 27 in Rampdown Phase One; the formation of the JDK 28 Expert Group; the GlassFish Arquillian Connectors Suite for Jakarta EE TCKs; point releases for Infinispan and Kotlin; maintenance releases of GlassFish and Micronaut; and the June 2026 beta release of Open Liberty. By Michael Redlich

Michael Redlich 2026-06-08 21:45 👁 13 查看原文 →
HackerNews

Launch HN: Intuned (YC S22) – Build and run reliable browser automations as code

Hey HN, we're Faisal and Ahmad from Intuned ( https://intunedhq.com ). We’re building a platform for building, deploying, and maintaining browser automations. Customers primarily use the Intuned AI agent to automate websites that don't expose APIs. Common use-cases include scraping data, pulling reports, and submitting forms. As the website changes, our agent also helps automatically heal the automation. On Intuned, browser automations are created by an AI agent and run as code . Our infra captu

fkilaiwi 2026-06-08 21:35 👁 5 查看原文 →
Reddit r/MachineLearning

Why I stopped using semantic embeddings for tool selection and switched back to BM25 [D]

I've been building agents for about a year and recently shipped one for a client running ~140 MCP-exposed tools at peak. Along the way I made the canonical mistake. I used cosine similarity over tool description embeddings to pick which tools the model could see per turn. Worked great in demos. Was actively dangerous in production. Here's the problem. In a basic semantic-ranking setup you embed the user query, embed every tool description once, and rank by cosine similarity at runtime. That works for general document retrieval where chunks are paragraph-length, semantically rich, and roughly equal in form. Tool descriptions are not that. They are short (often <50 tokens), structurally similar (verb-noun, parameters list), and the discriminative information is often a single keyword. "Read a file from disk" and "Read messages from a channel" both embed close to "read" + "file/channel." Cosine similarity puts them next to each other for a query like "read the latest commits" because all three words share the verb embedding space, and the actual discriminator (the noun "commits") gets diluted. I watched this happen in eval. Asked the agent "list the open issues for this repo." The semantic ranker returned slack_search_messages first because the description had "list", "open", and "issues" as close embedding neighbors. The actual github_list_issues tool ranked 4th because the GitHub MCP author wrote a terse "Lists issues in a repository" description that scored lower on every soft keyword. If the model sees slack_search_messages first and github_list_issues fourth, it's going to pick the wrong one. Often. So I built three retrieval strategies and tested them on a fixed corpus of 200 query→correct-tool pairs. Semantic embeddings (text-embedding-3-small) : 64% top-1 accuracy. Sneaky failure mode: when wrong, it was confidently wrong, often with a totally unrelated tool ranked first. BM25 over a flat-text projection of tool name + description + schema walk : 81% top-1. Fai

/u/AbjectBug5885 2026-06-08 21:24 👁 7 查看原文 →
Reddit r/artificial

Tested a batch of free AI tools this week, honest verdicts on Claude, MiniMax, K2Think, and a couple comparison playgrounds

Spent some time poking at free tiers across a few tools. Here's what actually held up and where the catches are. **Claude (Sonnet 4.6 on free tier)** Still the one I reach for when I want writing that doesn't read like a press release, or code that actually compiles. I trust it more for anything where being quietly wrong is worse than being loudly wrong. The catch: free tier is stingy. You hit limits fast on busy days, need a phone number to sign up, and there's no warning before it cuts you off. There's a browser extension that tracks usage so you can see the wall coming. My approach: use it for the hard 20% of the day, let a free model handle the rest. **MiniMax Agent** A free swing at what Devin and Manus charge for, give it a prompt and it writes, runs, and debugs the code itself. Replaces the copy-paste loop between ChatGPT and your editor for longer multi-step jobs. Catch: it burns credits fast, and complex tasks still go off the rails without warning. It's confidently wrong in ways that can cost you more time than just doing it yourself. Worth a few free runs to see if it actually finishes a task, but I wouldn't cancel anything for it yet. **K2Think** A 32B reasoning model from MBZUAI and LLM360, positioned as a free alternative to o1 / DeepSeek R1 for step-by-step reasoning, math, and logic. Note: this is NOT Kimi from Moonshot despite the name confusion. Honesty flag, the benchmark claims got real pushback, there's an HN thread literally titled "Debunking the Claims of K2-Think," so take the leaderboard numbers with salt. Still, a fully open 32B reasoning model is nice to have around. Try it on something gnarly and see if the reasoning holds. **Indic LLM Arena** A side-by-side chat playground from AI4Bharat (includes Gemini 3.5 Flash), built for benchmarking Indian languages. Usage is unlimited, which I double-checked because that's rare. No save history, and it's clearly tuned for Indic languages. If you write in Hindi, Tamil, or Bengali, easiest free way

/u/Tall_Roof_4382 2026-06-08 21:20 👁 5 查看原文 →
Product Hunt

OrchestraML

From English prompt to deployed ML model with human approval Discussion | Link

Sameer Prajapati 2026-06-08 21:12 👁 4 查看原文 →
Reddit r/programming

The bloom filter trick that turned 170 object-storage reads into one (2.6s → 89ms)

We tried to speed up random trace_id lookups with a bloom filter and found it sped some queries up 29× while making others slower, and which one you get depends entirely on how your IDs are generated. TL;DR: Looking up a random trace_id across 170 index files in object storage took 2,584ms. Tantivy prunes files by min/max term, but a random 16-byte ID is scattered across the whole 128-bit space, so every file's range is [0, 2¹²⁸], nothing prunes, and all 170 files get opened. On object storage every one of those is a network round trip, and that's where the 2.6s goes. A bloom filter is the obvious fix. The non-obvious part is where you put it. Per-file blooms = 170 small reads, which object storage punishes hardest, so it barely beats doing nothing. The trick: every file's bloom uses the same block count, so a query value maps to the same block index in every file. Store blooms block-major instead of file-major, and "block 7 across all 170 files" becomes one contiguous 5,440-byte row. One range request, 170 checks, ~170× fewer round trips. Lookup dropped to 89ms. But this makes time-ordered IDs slower. A UUIDv7 already range-prunes for free in 154ms; the bloom layer adds ~42ms and Tantivy still does its 154ms on the survivor, netting ~196ms of pure overhead. UUIDv4 wins by 29×, UUIDv7 loses by 1.3×. So we don't auto-detect fields to bloom (sampling would guess wrong half the time). Operators opt in per field, only when all three hold: high cardinality, random distribution, many files per hour. One design choice I'd defend: every bloom failure mode degrades to "keep the file." It can be slow; it can never drop a row. We wrote up the full thing with diagrams and the SBBF details on our blog , happy to take questions here. Disclaimer: I am one of the maintainers at OpenObserve (open-source observability, written in Rust) and the writer is our founding engineer. This is our own benchmark, single querier, S3 backend, no disk cache. Happy to share the test setup so anyone

/u/Gorakhnathy7 2026-06-08 21:03 👁 7 查看原文 →
CSS-Tricks

Scroll-Driven, Scroll-Triggered, Scroll States, and View Transitions

I've said one and mean another, and I've used one when I needed another. Please bear with me as I note the similarities and differences between scroll-driven animations, scroll-triggered animations, container query scroll states, and view transitions for my future self. Scroll-Driven, Scroll-Triggered, Scroll States, and View Transitions originally handwritten and published with love on CSS-Tricks . You should really get the newsletter as well.

Geoff Graham 2026-06-08 21:00 👁 13 查看原文 →
Dev.to

We Built a Universal Language for Synchrony — And It Might Be Too Ambitious

How SCPN Phase Orchestrator v0.8.0 turns Kuramoto dynamics into a domain-agnostic control compiler, why we verify math across five languages, and the honest truth about building a Boeing 747 when most people need a bicycle. The $5.2 Billion Blackout That Started This On August 14, 2003, a cascading failure in the US Northeast power grid left 55 million people without electricity. The final report cited something deceptively simple: synchrony loss . A generation unit in Ohio drifted out of phase. The protective relays, designed to prevent damage, tripped in sequence. One desynchronized oscillator triggered a cascade that propagated across 265 power plants in nine minutes. The grid had controllers. It had models. What it lacked was a shared, reviewable language for coherence — a way to ask, in real time: "Is this synchrony valuable or dangerous? And if I touch this knob, can I prove what will happen before the electrons move?" That question is why I built SCPN Phase Orchestrator . It is not a Kuramoto simulator. It is a coherence control compiler — a system that takes any cyclic process (power waves, cloud retries, neural spikes, traffic signals) and compiles it into a unified phase space where synchrony can be observed, classified, and modified with bounded, auditable, replayable actions. Version 0.8.0 just shipped. It includes something I have not seen in any other open-source oscillator library: cross-language mathematical parity verification and Lean proof obligations for safety-critical control chains. This post is the honest story of why we built it, how it works, and where we might have gone too far. The Fragmentation Problem If you work on synchrony in 2026, you live in silos. Power engineers use PSS/E or PowerFactory with swing-equation models. Cloud operators use Airflow, Kestra, or Temporal for workflow orchestration — none of which understand phase dynamics. Neuroscientists use FieldTrip or MNE-Python for EEG phase analysis, but the tools stop at visualiza

Miroslav Šotek 2026-06-08 20:54 👁 13 查看原文 →
Reddit r/artificial

Context switching is a bigger time waster than the actual work

One thing I didn’t expect while trying to improve my workflow: The actual tasks aren’t what takes most of the time. It’s all the context switching around them. Things like: - jumping between tools just to complete one small step - copying data from one place to another - stopping what you’re doing to handle something repetitive - switching back and figuring out where you left off Individually it’s nothing. But over a day it adds up to constant interruptions. And it’s weirdly more draining than the work itself. I started paying attention to that instead of just the tasks, and reducing those switches made a bigger difference than trying to “optimize” the work itself. Curious if others notice the same thing or if it’s just me submitted by /u/huncho-mohammed [link] [留言]

/u/huncho-mohammed 2026-06-08 20:53 👁 6 查看原文 →
Dev.to

Locators & Web-First Assertions (Playwright + TypeScript, Ch.3)

In Chapter 2 we wrote our first tests and hit two bugs. Before we add more, we need the one skill everything else rests on: finding elements reliably . Get this right and your tests survive redesigns; get it wrong and they break every sprint. Code for this chapter is tagged ch-03 in the repo: https://github.com/aktibaba/playwright-qa-course — see src/tests/ui/locators.spec.ts . Locate the way a user perceives The brittle instinct is to grab elements by their structure — CSS classes, nth-child , XPath. All of that changes the moment a developer touches the markup. Playwright's recommended locators instead target what a user (and a screen reader) perceives: the role, the label, the visible text. Use them in this order of preference: getByRole — the role + accessible name (covers the vast majority of cases) getByLabel — form fields by their <label> getByPlaceholder — inputs without a label getByText — non-interactive content getByTestId — a deliberate data-testid , only when nothing semantic fits Here's the top of the priority list, live against Inkwell's home page: import { test , expect } from " @playwright/test " ; test ( " prefer role-based locators over CSS " , async ({ page }) => { await page . goto ( " / " ); await expect ( page . getByRole ( " button " , { name : " Global Feed " })). toBeVisible (); await expect ( page . getByRole ( " link " , { name : " Sign up " })). toBeVisible (); await expect ( page . getByRole ( " heading " , { name : " inkwell " })). toBeVisible (); }); getByRole("button", { name: "Global Feed" }) asserts two things at once — that an element with the button role exists and that its accessible name is "Global Feed". If a dev swaps the <div class="feed-btn"> for a real <button> , this locator keeps working; a CSS selector wouldn't. Strict mode is your friend Playwright locators are strict : if a locator matches more than one element, the action throws instead of silently picking the first. That catches ambiguous tests before they pick the

kadir 2026-06-08 20:53 👁 9 查看原文 →
Dev.to

Tech Companies Regret Firing Engineers for AI: The Quiet Rehiring Nobody's Talking About [2026]

Tech Companies Regret Firing Engineers for AI: The Quiet Rehiring Nobody's Talking About [2026] Klarna's CEO Sebastian Siemiatkowski stood on stage in 2024 and bragged that AI had replaced 700 customer service employees. The stock market loved it. LinkedIn influencers celebrated. And then, quietly, in 2025, Klarna started hiring humans again. That single reversal tells you everything about why tech companies regret firing engineers for AI. I've watched this pattern unfold across the industry, and a viral YouTube video by Pooja Dutt documenting these failures is now pulling over 10,000 views per day. The audience isn't just curious. They're vindicated. The tech industry laid off over 260,000 workers in 2023 alone, according to Layoffs.fyi , with many companies explicitly citing AI automation as justification. Now, in 2026, the bills are coming due. The companies that swung hardest at the "AI replaces engineers" thesis are the ones scrambling hardest to undo the damage. Why Did Companies Fire Engineers for AI in the First Place? The logic seemed airtight. AI can generate code faster than humans. AI can handle customer queries at scale. AI doesn't need benefits, PTO, or performance reviews. Executives saw a clean line from "AI generates output" to "we need fewer people," and they drew it with a Sharpie. I've been in enough executive planning meetings to know exactly how this plays out. Someone demos an AI tool that produces a working prototype in 20 minutes. The room gets excited. The CFO asks how many engineers they can cut. Nobody asks the harder question: what happens when that prototype needs to survive contact with production? The answer is that it breaks. Badly. Klarna is the poster child, but they're far from alone. Apple has spent two full years struggling with AI-driven improvements to Siri, despite being one of the most well-resourced engineering organizations on the planet. Even with virtually unlimited budget and talent, replacing deep engineering expertise

Kunal 2026-06-08 20:49 👁 11 查看原文 →
Dev.to

Setup & Your First UI + API Tests (Playwright + TypeScript, Ch.2)

In Chapter 1 we argued that automation fails from a lack of structure , not a lack of tooling — and we met Inkwell , the dockerized app we test against. Now we install Playwright + TypeScript and write our first UI and API tests, deliberately simple. We'll also hit two real bugs along the way. I'm leaving them in on purpose — they're the exact problems the framework we build later is designed to prevent. Code for this chapter is tagged ch-02 in the repo: https://github.com/aktibaba/playwright-qa-course Before you start Make sure Inkwell is running (from Chapter 1): cd sut docker compose up -d --build --wait # web :3000, api :3001/api Install Playwright + TypeScript From the repo root: npm install -D @playwright/test typescript @types/node npx playwright install chromium That's it — Playwright bundles its own test runner, assertion library, and TypeScript support. No extra config to make .ts test files work. A minimal config — not a framework yet Two small files keep us honest from day one. First, never hard-code URLs in tests — put them in one place: // src/utils/env.ts export const env = { /** Inkwell SPA (nginx) — the UI base URL. */ webURL : process . env . WEB_URL ?? " http://localhost:3000 " , /** Inkwell API base, including the /api prefix. */ apiURL : process . env . API_URL ?? " http://localhost:3001/api " , } as const ; Then the Playwright config. We split tests into two projects — a fast api project and a Chromium ui project — because API tests need no browser and should run in milliseconds: // playwright.config.ts import { defineConfig , devices } from " @playwright/test " ; import { env } from " ./src/utils/env " ; export default defineConfig ({ testDir : " ./src/tests " , fullyParallel : true , reporter : " list " , use : { trace : " on-first-retry " , screenshot : " only-on-failure " }, projects : [ { name : " api " , testDir : " ./src/tests/api " , use : { baseURL : env . apiURL } }, { name : " ui " , testDir : " ./src/tests/ui " , use : { baseURL : e

kadir 2026-06-08 20:48 👁 11 查看原文 →