AI 资讯
Local vs remote MCP servers: which one you actually want
There are two kinds of MCP server, they solve different problems, and almost nothing tells you which one you are building until you are deep enough in to have already made the wrong choice. I worked this out from a submission form. More on that below, because it turns out to be the clearest signal in the whole ecosystem and it is buried in a footnote. The two shapes Local (stdio). The server runs as a process on the user's own machine. The client — Claude Desktop, Cursor, whatever — spawns it and talks to it over stdin/stdout. It is a package the user installs. Remote (Streamable HTTP). The server is a service you host. The client connects out to a URL with a token in an Authorization header. Nothing is installed locally. That is the entire distinction, and it determines everything else. What actually differs Who runs the code. Local: the user, on their hardware. Remote: you, on yours. This is the real decision. Everything below follows from it. Where secrets live. Local servers read credentials from the user's own environment — their shell profile, their config file. You never see them. Remote servers require the user to hold a token you issued, which means you own the entire credential lifecycle: issuing, scoping, rotating, revoking. What the server can reach. A local server can read the user's filesystem, hit localhost, talk to their Docker daemon. A remote server can see none of that, and should not want to. Update path. Remote: you deploy, everyone is on the new version immediately. Local: users run whatever version they installed, possibly forever. Failure surface. A local server fails on one machine. A remote server fails for everyone at once. Pick your poison. Choosing Local if you need the user's filesystem, local processes, a local database, or hardware. Or if the data must not leave their machine. Remote if the server fronts a service you already run. If your MCP server's job is to call your own API, making users install a process that proxies to your HTT
AI 资讯
How to Build Your First AI Agent Tool in 15 Minutes (20+ Open Issues for Beginners!)
If you’ve been using ChatGPT, Claude, or LangChain, you know that Large Language Models (LLMs) are completely isolated from the real world. They can't check the weather, read your emails, query your database, or send Slack messages. That is, unless you give them Tools. Connecting AI agents to external APIs is one of the most in-demand skills in AI engineering right now. To make this easier for everyone, I recently launched Agent Tools & MCP Hub, an open-source directory of plug-and-play AI tools compatible with the new Model Context Protocol (MCP) standard. And the best part? We have over 20+ good first issue tasks open right now for anyone who wants to contribute! 🌟 What is the Agent Tools & MCP Hub? Agent Tools & MCP Hub is a modular, zero-dependency repository that standardizes how tools are built for AI agents. Whether you are using LangChain, CrewAI, AutoGen, or Anthropic’s new Claude Desktop MCP clients, our tools are designed to work right out of the box. Why Contribute? If you've been wanting to make your first open-source contribution but felt overwhelmed by massive codebases and merge conflicts, this repo is built specifically for you: 🧩 100% Modular: Every tool lives in its own isolated folder ( tools/<tool-name> ). Your code will never conflict with someone else's. ⚡ Easy Templates: We provide a copy-paste _template folder. You just add your API logic. 3. 🏅 Instant Recognition: Every contributor whose PR is merged gets their GitHub profile showcased on the official repository README! 🛠️ How to Contribute (in 15 Minutes) We've made the contribution process as frictionless as possible. Step 1: Claim an Issue Head over to our GitHub Issues Page and find an open issue labeled good first issue . Comment on the issue to get it assigned to you! Here are some of the trendy tools waiting to be built: Spotify Current Track & Playlist Fetcher Notion Page & Database Appender Stripe Payment Status Inspector Supabase Realtime Table Query Tool Linear / Jira Task Creato
AI 资讯
Three of the First Four Alerts Were the Question's Fault
Last week I turned my data audit into a build step : a check that runs before anything else and fails the build when the database and any static copy of my travel site's legal-status data disagree. It ended the era of the site contradicting itself. It did nothing about the site agreeing with itself on something false. That's not a hypothetical. The most expensive error the whole project found was a country whose law changed in January while every copy on my site — database, data files, search index — kept saying the old thing in perfect unison. Internal consistency was the camouflage . No diff between my own sources could ever have caught it, because every internal source was equally behind the world. A build gate proves agreement. Agreement is not truth. Something has to look outside. You can't diff against the world, but you can sample it The naive version of "look outside" is another audit — a human session checking primary sources jurisdiction by jurisdiction. I've done three of those now, and I know exactly what they're worth: they're correct the day they ship and they decay from that morning on. Laws don't change on my audit schedule. So the outside check became what the inside check became: a scheduled job. Once a week, a script asks a web-connected model — one that searches and cites, not one answering from training memory — for the current legal status of about fourteen jurisdictions, and compares each answer to the corresponding database row. Fourteen, not all 271, because the selection is doing the real work: A hot list is checked every single run: the highest-traffic pages plus the jurisdictions with active legislative motion — the places where being a month stale costs the most. Everything else sits on a rotating cursor : eight per run, round-robin, so every row on the site gets sampled roughly twice a year without any run costing more than a few cents. The whole thing runs on about seven cents a week. Two rules were non-negotiable, both inherited from
AI 资讯
Introduction
Hi, I’m a Principal Architect with 15+ years of experience designing and delivering scalable, resilient, high-availability Java SaaS platforms. My work sits at the intersection of distributed systems, real-time data platforms, and the emerging enterprise generative AI stack. I enjoy turning complex technical challenges into secure, maintainable systems that create measurable business value. Architectural Foundation I lead technical direction for platforms built with JDK 17–25 and Spring Boot 3.x, with a strong focus on microservices, transactional consistency, and operational resilience. My experience includes: Designing services around ACID transaction requirements Managing distributed workflows with Saga and Outbox patterns Applying strategic Domain-Driven Design (DDD) Defining bounded contexts that align software architecture with business capabilities Using Architecture Decision Records (ADRs) to make technical decisions transparent and durable Real-Time and Distributed Systems I build the “nervous systems” of enterprise platforms using Kafka, Redis, and MongoDB. My focus is on event-driven architectures that support real-time processing, high throughput, low latency, and global availability. I am particularly interested in infrastructure-aware design: making sure application architecture, data flow, deployment topology, and observability work together rather than being treated as separate concerns. Generative AI and Agentic Systems A significant part of my current work involves AI/ML and generative AI initiatives, especially Retrieval-Augmented Generation (RAG) and agentic workflows for enterprise use cases. Areas I am actively exploring include: JVM-native inference: Running inference with ONNX Runtime to reduce network overhead and improve predictability Agent orchestration: Building production-ready workflows with LangChain4j and Spring AI Build vs. buy decisions: Evaluating emerging AI platforms against enterprise requirements AI guardrails: Designing secur
AI 资讯
Building an AI Pharmacist: Detecting Drug-Drug Interactions with RAG and OCR
Ever looked at a pile of medicine bottles and wondered, "Is it actually safe to take these together?" Polypharmacy—the simultaneous use of multiple drugs—is a significant challenge in modern healthcare. Misunderstanding Drug-Drug Interactions (DDI) can lead to severe side effects or reduced efficacy. In this tutorial, we are building an AI Pharmacist Assistant , an automated engine that uses Optical Character Recognition (OCR) to scan drug labels and Retrieval-Augmented Generation (RAG) to cross-reference a drug database. By leveraging AI healthcare automation and sophisticated LLM reasoning , we can create a safety net that identifies potential contraindications in seconds. The Architecture 🏗️ The system follows a linear pipeline: capturing raw image data, converting it to structured text, retrieving medical facts from a local SQLite-based knowledge base, and finally, using an LLM to reason about the interactions. graph TD A[Drug Packaging Image] -->|Tesseract OCR| B(Extract Drug Names) B --> C{Search SQLite DB} C -->|Found Interaction Data| D[Context Construction] D --> E[LLM Reasoning Engine] E --> F[Safety Report & Warnings] C -->|Not Found| G[Web Search/LLM General Knowledge] G --> E Prerequisites 🛠️ To follow along, you'll need the following tech stack: Python 3.10+ Tesseract OCR : For extracting text from images. SQLite : To store our curated DrugBank-style interaction data. RAG Pattern : To provide the LLM with ground-truth medical data. OpenAI SDK : For the final reasoning step. Step 1: Extracting Labels with OCR 📸 First, we need to turn those pixels into text. We use pytesseract to handle the OCR process. import pytesseract from PIL import Image def extract_drug_names ( image_path ): # Pre-processing could be added here (grayscale, thresholding) text = pytesseract . image_to_string ( Image . open ( image_path )) # In a real scenario, use an LLM or Regex to pull specific # active ingredients from the raw text print ( f " Detected Text: { text } " ) return t
AI 资讯
How to Track AI Code Assistant Spend Across Every Vendor (2026 Guide)
Most engineering organizations now pay several vendors for AI coding assistants, each one bills differently, and no single person in the company can answer the simplest question: what did our AI coding tools actually cost this month, and what did we get for it? This guide is the practical answer — the metrics that matter, the ways teams track spend, a step-by-step setup, and an honest maturity model for governing it. The short answer To track AI code assistant spend across every vendor, pull cost and usage from each tool's admin or billing API, normalize it into one model — because every vendor bills on a different unit and a different clock — and map it to your teams and cost centers. The four approaches teams use are manual spreadsheets, each vendor's native dashboard, an open-source usage CLI, and a dedicated AI spend management platform. Only the last gives finance, engineering, and IT one live number plus forecasting, anomaly detection, and per-developer and per-pull-request cost. If you only do three things: inventory every assistant in use, including shadow tools bought on personal cards; connect each vendor read-only and normalize to a common cost model; and instrument the leading indicators — premium-model mix, token or credit runway, and idle seats — because they move before the invoice does. What "AI code assistant spend" means AI code assistant spend is the total cost an organization pays across all of its AI coding tools — commonly GitHub Copilot, Cursor, Anthropic Claude, OpenAI, and others teams connect — including per-seat license fees, metered token or credit consumption, premium-model surcharges, and the hidden cost of idle or duplicate licenses. It sits at the application layer, which distinguishes it from general cloud cost (compute, storage, networking), and it concerns money and utilization, which distinguishes it from AI model governance and its focus on model risk and compliance. Why it's genuinely hard to track (and got harder in 2026) There
AI 资讯
Architecting the New Operating System: A Guide to Context Engineering
Prompt engineering is a conversation; context engineering is system architecture. In the early days of working with Large Language Models (LLMs), optimizing the prompt was enough for simple text generation tasks. But when you are building autonomous systems—like a self-hosted automation server connecting cloud databases, webhooks, and reasoning nodes—prompts alone will not keep track of APIs, past decisions, and strict output constraints. Think of the LLM as the CPU, and the context window as the RAM. Context engineering is the discipline of treating that memory as a scarce resource, meticulously designing the pipeline that feeds the model the exact facts, instructions, and tools it needs at the precise moment it needs them. The Four Core Strategies To shift from vibe-coding a chatbot to architecting a resilient multi-agent system, you must manage what enters and stays in the context window using four primary techniques: Select: Decide exactly which external sources—like database schemas or specific API documentation—enter the context window to maximize the signal-to-noise ratio. Compress: Shrink the context payload only after the key facts are successfully structured. Write: Persist the task state and intermediate decisions outside the active context window so the agent can retrieve them later. Think of this as giving the agent its own local-first markdown vault for networked thought. Isolate: Separate contexts when domains collide. Instead of forcing one model to do everything, build multi-agent systems where each agent receives a strictly scoped slice of the context. Navigating the Failure Modes Stuffing a massive context window with raw JSON logs and unstructured data is a recipe for disaster. When building complex workflows, you must engineer guardrails against these critical failure modes: Context Poisoning: Hallucinated or incorrect information enters the context and compounds over time because the agent continually reuses it. Context Distraction: The agent g
AI 资讯
Grade Your LLM Pass/Fail and You Will Ship a Disaster
I gave my LLM a 29-question order-reading exam. Last time was how to build the exam. Today: grading. Grading gets its own post for a reason. Build the grading wrong, and the score lies to you. 5 wrong out of 29 — can I ship? No idea. Because "which 5" is missing. If it missed 5 typo-riddled questions, ship it. But if one of those 5 was reading "please cancel my order" as a NEW order? Then even with everything else perfect, you can't ship. That program sends goods to a customer who just cancelled. So don't grade by count. Grade by severity. Severity = "can a human undo this?" My grader has 4 grades. One criterion — is it reversible? In this program, the irreversible moment is when the wrong goods get loaded onto a truck. FATAL Wrong goods on the truck. Cannot be undone RISKY Confirmed something ambiguous without asking. Right this time — fatal next time MISSED Dropped an order. The customer calls. Fixable HARMLESS Over-asked "please confirm." Just slower One principle falls out of this: A wrong confirmation is worse than no confirmation. Sounds obvious. In production you'll be tempted to flip it. Someone complains "it asks for confirmation too often," so you lower the confidence bar. The screen gets cleaner. And the accidents start happening off-screen. The same 28/29 splits two ways FATAL 0 · MISSED 1 → Ship it. Humans catch what it drops FATAL 1 · everything else perfect → Don't ship. You don't know when that 1 comes back Same score. Opposite fates. Two accidents my grader caused The grader is code I wrote. Like all code I write, it had bugs. Accident one — zero points over formatting. A model answer was perfect in content, but the JSON wrapper arrived with the tail cut off. The grader ruled "broken format = fatal." A 100-point answer, zeroed over one missing brace. The fix is simple: count the open brackets and close what's missing (ignoring brackets inside strings). The actual code is in parse_json in the repo . Accident two — penalizing a good answer. For "250 b
AI 资讯
A Good LLM Exam Is 90% Traps
Last time I gave my LLM an order-reading exam and lost 5 times as the exam author. Today: how that exam was built. Conclusion first — nice questions are a waste of paper. You'll want to start with the happy path Ask anyone to write a test and they start with the case that works. "5 boxes of the 250 shipping boxes please" → shipping box 250, 5 boxes. It passes. Feels good. Reassuring. But that's wasted points. Models rarely fail the normal cases. What fails is everything that isn't normal. My 29 questions broke down like this: Normal orders 4 Things that aren't orders 6 ← the biggest group Changes & cancellations 4 Ambiguous ones 5 Typos & extreme shorthand 3 After learning kicks in 7 Normal is the smallest group. On purpose. Why "not an order" gets the most questions The worst accident for this program is shipping something nobody ordered. So the exam should aim at that accident more than anything else. What are the dimensions of the 250 shipping box? Product name: present. Number: present. But it's not an order. It's a question. A program that treats "product name spotted" as "order detected" calls the truck right here. So I planted six of these: price inquiries, stock inquiries, delivery questions, greetings, a tax-invoice request. Changes and cancellations are nastier. I ordered 5 boxes of the 250 — please send only 3 Two numbers. Read only the first half and it's a perfect order. Treat it as a new order and the goods ship twice. Plant traps in the catalog too It's not just about hard questions. Make the data itself messy. Two kinds of clear tape — 48mm and 60mm Five products starting with "250" Different pack sizes per box — 50, 40, 25, 10 sheets A few loose items with no box unit at all One reason: real data already looks like this. A real product catalog always has near-twins. Run the exam on a clean catalog and here's what happens — everything passes. Then you plug in production data and it collapses. If the exam passed but production has accidents, that's no
AI 资讯
Stripe didn’t really buy OpenRouter because of the ‘singularity’
What does a payments giant want with a startup that routes prompts between different AI models? Stripe says it's because of "the singularity" but it's really for a far more real and powerful reason.
AI 资讯
Elon Musk Is Expected to Point His Money Machine at Texas Politics
Sources tell WIRED that Elon Musk is expected to spend up to $200 million in the midterms. It could be a big boost for GOP Senate candidate Ken Paxton, who’s struggled to raise cash.
AI 资讯
OpenAI seeks to one-up Anthropic with new customer privacy protections
A competition is developing between OpenAI and Anthropic over who can provide the best privacy protections for enterprise customer data.
AI 资讯
Amazon aims for delivery drones to reach 500 US neighborhoods by end of 2026
US residents face trade-offs as delivery drone services such as Prime Air expand.
AI 资讯
Cognition CEO denies report that SpaceX tried to acquire the startup
SpaceX was reportedly in talks to buy AI coding startup Cognition. SpaceX has already acquired Cursor as it races to catch up to rivals like OpenAI and Anthropic in enterprise AI.
AI 资讯
Google Gemini Live Brings Voice-Started Deep Research to Mobile Multitasking
Google has connected Gemini Live with its Deep Research capability, allowing users to begin a multi-step research task by voice, leave it running in the background, and return for a spoken or transcript-based follow-up when the work is complete. The change turns Deep Research from a primarily prompt-led activity into a more conversational mobile workflow, particularly for people who need to capture a research request without staying in the app. The key distinction is not simply voice input. Gemini Live can initiate a research process that continues while a user switches apps or locks their phone. Google describes the resulting experience as a way to talk through research, with a notification when the task has finished and a seamless path back into conversation. The company's Gemini Deep Research overview for Pixel presents the capability as part of a broader effort to make in-depth research more usable on mobile devices. Deep Research itself is designed to do more than provide a single response. Google has documented a workflow in which Gemini develops a research plan, searches across sources, expands its investigation as needed, and produces a structured report with links to sources. Reports can also be exported to Google Docs. Bringing that process into Gemini Live changes how a request can begin and how a user can resume it, rather than changing the documented purpose of Deep Research. What changes in the Gemini Live research workflow The update combines conversational initiation with asynchronous execution. A user can explain a complex topic aloud, ask Gemini Live to begin Deep Research, and move on to another task while the system works. When the report is ready, the user can be notified and continue through speech or review the transcript. Workflow element Documented Deep Research experience Gemini Live integration Starting a request A research request can lead to a structured plan. A user can initiate Deep Research by speaking with Gemini Live. Research proce
AI 资讯
Google Gemini Adds Study Notebooks to Build a Structured Student Learning Hub
Google is expanding Gemini into a more structured learning environment with study notebooks , a student-focused workspace for diagnostics, personalized lessons, practice quizzes, flashcards and progress tracking. The rollout turns Gemini from a general-purpose assistant into a tool designed to organize source-based study workflows, beginning with web access worldwide and mobile support planned for later in the summer. In Google's official study notebooks announcement , the company describes a workflow that starts by assessing a learner's baseline knowledge. Gemini can then create smaller lessons tailored to a student's goals and reinforce those lessons with quizzes. The company positions the capability as part of a broader education-focused effort across Gemini and NotebookLM, rather than solely as a standalone product called Student Hub. What Gemini study notebooks add The central change is a dedicated notebook space where students can bring together their course materials and ask Gemini to produce learning activities from them. Google says users can upload sources including notes, PDFs and websites, then generate flashcards and quizzes inside a notebook. Study notebooks can also reference uploaded materials and sources while creating lessons. This structure matters because it moves the interaction beyond one-off prompts. A diagnostic quiz establishes a starting point, personalized bite-sized lessons address a learning goal, and practice quizzes provide a way to revisit material. A dashboard tracks progress within that workflow. Google also points to connections with NotebookLM, including the ability to reference past chats and outputs there. Study notebook element Confirmed role in the workflow Availability described by Google Diagnostic quizzes Establish a learner's baseline knowledge Part of the study-notebook experience Personalized lessons Create bite-sized learning content tailored to goals Part of the study-notebook experience Flashcards and practice quizzes
AI 资讯
5 Portable Agent Skills for OpenCode and Claude Code
Agent Skills turn repeated prompts into reusable, inspectable workflows. This collection includes five small skills for work that comes up often when building with OpenCode or Claude Code: reviewing public copy, checking text limits, capturing public webpages as PDFs, sending task notifications, and structuring research for later use. The full index is available at Published Agent Skills . For OpenCode, Skills can live in ~/.config/opencode/skills/ or project-level locations supported by your setup. Claude Code can discover Skills from .claude/skills/ . Put a Skill folder in the right location, restart the agent session if needed, and it becomes available when the task matches its description. 1. AI Writing Detector Skill AI Writing Detector Skill reviews English and Brazilian Portuguese copy for patterns that make AI-written text feel generic. It checks common issues such as repeated sentence rhythm, filler phrases, excessive formatting, and em-dash use. It also ships with a CLI and MCP server for text and file linting. Useful prompts: Review this README introduction with the anti-ai-tells Skill. Keep the technical facts, flag generic wording, and suggest direct replacements. Run the writing linter on this release post, then rewrite only the passages that need attention. This is useful before publishing documentation, launch posts, landing pages, and changelogs. 2. Text Counter Skill Text Counter Skill gives exact counts for characters, words, sentences, paragraphs, lines, graphemes, bytes, and phrase occurrences. It helps when "roughly under the limit" is not enough. Useful prompts: Write a 155-character meta description for this package and verify its exact character count. Reduce this GitHub issue title to 80 characters without removing the error code. Count the phrase "OpenCode" in this Markdown file. The Skill makes counting rules explicit. That avoids surprises with spaces, Unicode characters, emoji, or repeated phrases. 3. HTML to PDF Skill HTML to PDF Skill
AI 资讯
OpenAI Expands Zero Data Retention Options for Frontier Model Enterprise Workloads
OpenAI is positioning Zero Data Retention (ZDR) as a scalable privacy control for eligible frontier-model API and enterprise workloads. The policy matters as businesses use more capable models for longer-running and increasingly autonomous work, where prompts, outputs, and related interactions can contain sensitive operational, customer, or proprietary information. On its official API platform page , OpenAI lists "Zero data retention policy by request" alongside access to frontier models and APIs. The company’s enterprise privacy materials and GPT-5.4 release information add important context: ZDR is a configurable option for eligible organizations and endpoints, rather than a universal default across all OpenAI services or customer configurations. The shift is less about a newly invented privacy principle than about applying retention controls more explicitly to frontier-capable deployments. OpenAI’s GPT-5.4 materials describe Zero Data Retention surfaces and safety controls designed for higher-sensitivity contexts. That framing acknowledges a practical tension for enterprise AI: more autonomous systems can create more valuable workflows, but they also require safety systems that assess risks across related interactions. What Zero Data Retention changes for enterprise AI Under ZDR, OpenAI disables logging of customer content for abuse monitoring and model-training purposes. The setting also affects API behavior. For example, the store parameter for chat completions and responses is forced to false in ZDR contexts. That is a meaningful control for teams that need to minimize the persistence of prompt and response content. It should not, however, be interpreted as a blanket statement that no information can ever be retained anywhere in the service. OpenAI documents that some endpoints may retain application state or metadata for operational reasons. It also describes exceptional safety and retention mechanisms, including Eyes Off and Safety Retention , that may apply
开发者
Flight attendants freaked out that Google is buying tons of Spirit employee data
Bankrupt Spirit accused of selling out workers in massive data sale to Google.
创业投融资
Gwyneth Paltrow allegedly set to throw dinner in honor of Sam Altman
The actress' firm Kinship Ventures is an investor in the company.