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

标签:#t

找到 18098 篇相关文章

AI 资讯

I customized a MacBook Neo with colorful spare parts

The MacBook Neo is Apple's cheapest laptop, its most colorful, and its easiest to repair in years. That means owners can buy replacement parts in all four of its available colors and swap them in on their own. So that got us thinking: What if we bought a Neo just to see how funky we […]

2026-06-05 原文 →
AI 资讯

How Netflix Maps Thousands of Microservices in Real-Time

Netflix has shared details about Service Topology. This internal system creates and updates a live dependency graph for thousands of microservices. It helps engineers see how services connect and resolve issues more quickly. The system merges three separate data sources into a single, queryable graph. It updates almost in real-time as traffic patterns shift. By Claudio Masolo

2026-06-05 原文 →
AI 资讯

I built an LLM observability platform in a weekend — see every AI call, cost and latency in one dashboard

I kept shipping AI apps with no idea what was happening under the hood — prompts going in, responses coming out, costs creeping up, and zero visibility into any of it. So I built LogLens. Add one line of code and it logs every single AI call your app makes — the full prompt, completion, latency, token count, and cost — all in a clean dashboard. Works with Anthropic and OpenAI out of the box. No framework lock-in. npm install loglens const anthropic = wrapAnthropic(new Anthropic(), { apiKey: 'your-key' }) // that's it — every call is now logged Built the whole thing in ~48 hours using Claude Code. Still early but fully working. Free early access here: llm-watch.vercel.app Would love feedback — what features would make you actually use this day to day? submitted by /u/ProcessAutomatic6941 [link] [留言]

2026-06-05 原文 →
AI 资讯

Building an AI Voice Agent for Appointment Booking: What I Learned

Over the past few months I’ve been building VoiceIntego, an AI voice agent that answers calls and books appointments for service businesses (dental clinics, HVAC, plumbing). Here are some of the technical lessons that surprised me along the way. Latency is the whole game With text chatbots, a 2-second delay is fine. On a phone call, anything over ~800ms feels broken — people start talking over the AI. The hard part isn’t the LLM response; it’s the round trip: speech-to-text → LLM → text-to-speech, all streaming. You have to stream every stage and start TTS before the full response is generated. Interruptions break naive pipelines Real callers interrupt. “Actually, can we do Tuesday instead—” mid-sentence. A simple request/response loop can’t handle this. You need barge-in detection: monitor the incoming audio stream and cancel the current TTS playback the moment the caller starts speaking again. Booking logic needs guardrails, not vibes Letting the LLM “decide” availability is a recipe for double-bookings. The reliable pattern: the LLM extracts intent (date, time, service), then deterministic code checks the actual calendar API and confirms. The model handles language; your code handles truth. Confirmation loops matter more than you’d think Always read the booking back: “So that’s a cleaning on Tuesday the 9th at 2pm — correct?” Phone audio is noisy and names/times get misheard constantly. One extra confirmation turn cuts errors dramatically. Phone numbers and edge cases everywhere Voicemail detection, callers who mumble, background noise, people who say “yeah” to mean no. The happy path is maybe 20% of the work. If you’re building something in this space, happy to compare notes. You can see what I’m working on at VoiceIntego .

2026-06-05 原文 →
AI 资讯

What are the most powerful underground AI tools that no one talks about enough?

Most powerful AI/agent tools nobody talks about, and it leaves you behind IMO 1. Instructor define a Pydantic model, get clean structured JSON out of any LLM every time → https://github.com/567-labs/instructor 2. Octopoda gives any AI agent persistent memory and catches it when it loops and quietly burns your tokens. open source → https://www.octopodas.com 3. E2B secure cloud sandboxes so your agent can actually run the code it writes without nuking your machine → https://e2b.dev 4. Firecrawl turn any website into clean, LLM-ready markdown in one API call → https://firecrawl.dev 5. Composio plug your agent into 1000+ apps (Gmail, Slack, GitHub) with the auth handled for you → https://composio.dev 6. LiteLLM one API for 100+ models across OpenAI, Anthropic and local, swap without rewriting a line → https://github.com/BerriAI/litellm what are yours, let me know and I will add it to the list next month! submitted by /u/DetectiveMindless652 [link] [留言]

2026-06-05 原文 →
AI 资讯

Cross-border payment reconciliation: matching multi-currency, multi-acquirer settlement files

TL;DR Reconciliation is the part of a payments stack nobody architects for on day one and everyone pays for on day 200. The job: prove that every internal transaction matches the acquirer's settlement file, in the right currency, with the right fees, on the right value date — or surface the diff fast. The mechanics: normalize files → land into an events table → project to a read model → diff against the internal read model → buckets for ops to resolve. The boring details (file formats, fee parsing, FX rounding, value dates) are where 90% of the work lives. If you've ever opened a CSV from an acquirer at the end of the month, sorted by amount, and tried to "just match it in Excel" — yes, this post is for you. What "reconciled" actually means A transaction is reconciled when, for the same logical payment, three views agree: What you sent — your internal record of the charge/payout (your read model). What the acquirer says happened — their settlement file or API report. What the bank actually credited / debited — the bank statement. Disagreements are normal. Persistent disagreements are how you lose money slowly and never know. The shape of a settlement file Across the major acquirers, settlement files look broadly similar — and broadly different in the places that matter: Field Variants you'll see Transaction reference acquirer's transaction_id , sometimes plus a merchant_reference round-tripped from you Gross amount minor units / decimal; transaction currency vs settlement currency Fees inline per-row, or aggregated at the file footer, or in a separate fees file FX inline rate vs separate FX file; sometimes only the converted amount Value date when the bank actually moves money — often T+1/T+2 from event date Adjustments refunds, chargebacks, fee corrections, reserves — usually mixed in Encoding UTF-8 if you're lucky; CP1252 / fixed-width / SWIFT MT940 if you're not Granularity one row per transaction or daily aggregates per merchant or both There's no industry-clean

2026-06-05 原文 →
AI 资讯

waitForResponse() timing: the one-line fix with a non-obvious mental model

The test hung for 30 seconds. The response had already fired. One moved line fixed it. The test hung for 30 seconds, then timed out. The browser had received the response. The page had loaded. The data was there. The test was still waiting. The wizard I was writing a helper to walk through a 4-step booking wizard. After clicking "Next" on step 1, the page does a full navigation — window.location.href to step 2. Step 2 immediately loads doctor data from the API. The helper looked like this: await Promise . all ([ page . waitForURL ( /step=2/ ), step1Next . click ()]); await page . waitForResponse ( r => r . url (). includes ( ' /doctors ' )); Standard pattern: wait for navigation, then wait for the data request. Timeout. Every time. What I checked first The URL pattern. Maybe /doctors wasn't matching. Opened the network tab. The request was there: GET /api/v1/doctors , 200, 47ms. Correct URL, correct response. The page looked fine. The data was rendered. The test said it was waiting for a response that had already happened. Added waitForLoadState . Still hung. Added an explicit waitForSelector for an element that was clearly on the page. That passed. Then waitForResponse hung again. The response existed. The test couldn't see it. What was actually happening page.waitForResponse() is not a query. It doesn't look at what happened. It registers a listener — from that exact moment forward — and waits for the next matching response. The sequence in my code: Promise.all resolves when the URL changes to step=2 By the time the URL changed, step 2 had already loaded Step 2 had already sent and received /api/v1/doctors Then waitForResponse registered its listener Now it's waiting for the next /doctors response Which never comes Playwright doesn't buffer missed events. If the response fired before the listener was registered — it's gone. The fix await Promise . all ([ page . waitForURL ( /step=2/ ), page . waitForResponse ( r => r . url (). includes ( ' /doctors ' )), step1Next

2026-06-05 原文 →