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

标签:#automation

找到 515 篇相关文章

AI 资讯

OpenAI’s National Science Initiative Brings Frontier AI Into Research Workflows

OpenAI has formally outlined a national science initiative designed to connect frontier AI models with government research infrastructure, National Laboratories, universities, and working scientists. The program is not a single model launch. Instead, it combines funded access, early product access, scientific campaigns, and an emphasis on fitting advanced AI into real research workflows. The initiative gives concrete form to OpenAI’s stated goal of helping scientists use increasingly capable models to accelerate discovery. In its official announcement on advancing the next era of national science , published July 22, 2026, the company describes a long-term strategy built around the U.S. Department of Energy’s Genesis Mission and collaborations with National Laboratories. The core proposition is that AI can contribute to hypothesis testing, simulations, and experimental work when it is deployed alongside scientific infrastructure and human expertise. That framing matters. OpenAI is positioning frontier models as tools that researchers direct and evaluate, rather than as a replacement for the institutions and specialists responsible for scientific work. What OpenAI is providing to scientific researchers OpenAI’s commitments span several types of access, from coding support for a broad research community to model capabilities and API funding for large campaigns. The announced provisions include: $4 million in Codex access for approximately 2,000 Genesis researchers at national labs and universities. $3 million in API support for two large scientific campaigns. Up to $10 million in API usage for participating researchers who reach a $2.5 million spending threshold. Access to GPT-Rosalind’s bioscience capabilities for national-lab researchers. Early access to selected models and features for trusted national-lab leaders preparing workflows and evaluations. Expanded access to advanced cyber capabilities for national-lab cybersecurity researchers. These commitments indicat

2026-07-31 原文 →
AI 资讯

OpenAI’s Goblin Post Highlights an Emerging Risk in AI Alignment and Reliability

OpenAI has published a post-mortem examining an unusual pattern in its model testing: recurring references to “goblins” and “gremlins” in model outputs. The company’s official post, “Where the goblins came from” , published on April 29, 2026, frames the behavior as an emergent effect of reinforcement learning and human-feedback dynamics, not as a new product feature. Its practical message is more consequential than the metaphor suggests: unexpected model personas can affect the consistency, safety, and reliability that developers expect from AI systems. The published analysis provides the substantive context behind recent attention to a purported “goblin-level” post. Rather than indicating a model launch, OpenAI’s account suggests a narrower but important lesson about how optimization signals can inadvertently reinforce patterns in language models. For organizations using LLMs in production, the relevant question is not whether goblin-like language is amusing. It is whether teams can detect and address unexpected behaviors before those behaviors influence customer-facing, operational, or high-stakes workflows. What OpenAI documented OpenAI said the “goblin” and “gremlin” metaphors appeared during GPT-5.x testing and RLHF training. The company reported a notable increase in goblin-like language during GPT-5.5 testing when Codex was being evaluated. According to the post, the pattern emerged from reward-signal dynamics : persona-like responses were inadvertently reinforced through reinforcement learning and human feedback. That distinction matters. OpenAI does not characterize goblin behavior as a fixed capability or intentional model identity. It describes it as a byproduct that can arise at scale when a training and feedback process favors certain output patterns. The episode is therefore best understood as an alignment and evaluation lesson, rather than evidence of a separate “goblin” model, feature, or policy release. OpenAI also described a mitigation introduced

2026-07-31 原文 →
AI 资讯

Google Photos Video Remix Brings Gemini Omni Video Styles to Eligible Subscribers

Google Photos has launched Video Remix , an AI-powered editing feature that applies stylized templates to users' existing video clips. Powered by Gemini Omni , the tool is designed to turn a video into a more cinematic or artistic version through a one-tap workflow inside Google Photos. The feature matters because it brings generative video styling into a consumer photo library and editing workflow rather than requiring users to begin in a dedicated video-generation product. According to Google's official Video Remix announcement , templates can add cinematic relighting, replace backgrounds, and apply artistic treatments including watercolor, raw sketchbook, and oil painting. What Google Photos Video Remix changes Video Remix is built around easy-to-use templates rather than a conventional timeline editor. A user starts with their own clip, chooses a template in the Google Photos Create workflow, and receives a stylized result. That positions the feature as a fast option for personal memories, social posts, and short marketing assets where a full editing process may be disproportionate to the desired output. Google says Video Remix is beginning to roll out to eligible Google AI Plus, Pro, and Ultra subscribers in select countries. The supplied materials identify the subscription tiers, but do not provide feature-specific pricing or a complete country-by-country availability list. Access may therefore differ by market and rollout stage. Area Google Photos Video Remix Broader Gemini Omni context Primary workflow Applies templates to a user's existing video clips in Google Photos Supports wider video generation and editing workflows Documented examples Cinematic relighting, background changes, watercolor, raw sketchbook, and oil painting Style-driven video transformations, including claymation-style demonstrations reported by third parties Access described in supplied research Rolling out to eligible AI Plus, Pro, and Ultra subscribers in select countries Google docume

2026-07-31 原文 →
AI 资讯

Google Brings Gemini Omni to Vids for Instruction-Driven Video Editing and Generation

Google has expanded Gemini Omni into Google Vids for end-to-end AI video generation and editing. The update lets users create clips from text and image references, then make targeted changes to existing footage through a step-by-step conversation. Rather than rebuilding a video after each revision, users can describe an adjustment, supply additional media where useful and refine the result in place. The central development is Omni's use of multimodal and real-world understanding in a Vids workflow. According to Google DeepMind's Gemini Omni overview , the model can work from arbitrary media, including images, text, video and audio, and apply reference-to-video capabilities grounded in world knowledge and physics-like reasoning. In Google Vids, that foundation is intended to make generated and edited scenes more coherent in composition, context and visual behavior. For teams that already use Vids to communicate ideas, training material or internal updates, the change moves AI assistance beyond first-draft generation. It introduces a conversational editing layer that can alter a chosen part of a video while preserving the broader scene and workflow. What Gemini Omni changes in Google Vids Gemini Omni supports both video creation and revision. A creator can begin with a prompt or image reference to generate a clip, or bring in existing footage and specify what should change. Google describes examples such as changing color grading or lighting, replacing backgrounds and removing background elements. This distinction matters because prompt-to-video and video editing have different practical constraints. Generating a new clip can be useful when no footage exists. Editing existing material is more relevant when a team wants to retain an established subject, scene or message while changing selected details. Omni's reference handling is designed to connect those modes rather than treating each request as an isolated output. Workflow How Gemini Omni is used in Vids Supported

2026-07-31 原文 →
AI 资讯

Route Voicemails with Python and Telnyx AI

I built a small Flask example that turns voicemail into a routing workflow. Code: https://github.com/team-telnyx/telnyx-code-examples/tree/main/voicemail-smart-router-python The app accepts either: a voicemail transcript an uploaded voicemail audio file For audio, it transcribes the voicemail first. Then it uses Telnyx AI Inference to classify the message and decide where it should go. Categories The app classifies voicemails into: urgent billing support sales spam routine Each category maps to a route: urgent -> Slack alert billing -> email support -> ticket queue sales -> CRM lead spam -> blocklist + archive routine -> daily digest Run it git clone https://github.com/team-telnyx/telnyx-code-examples.git cd telnyx-code-examples/voicemail-smart-router-python cp .env.example .env pip install -r requirements.txt python app.py Configure .env : TELNYX_API_KEY=your_telnyx_api_key AI_MODEL=zai-org/GLM-5.2 FALLBACK_MODEL=meta-llama/Llama-3.3-70B-Instruct HOST=127.0.0.1 Optional Slack webhook for urgent messages: SLACK_WEBHOOK=https://hooks.slack.com/... Classify a transcript curl -X POST http://localhost:5000/voicemails/transcript \ -H "Content-Type: application/json" \ -d '{ "transcript": "This is an emergency. Our production system is down and we need help immediately.", "caller_number": "+17177247292" }' Example response: { "category" : "urgent" , "confidence" : 1.0 , "priority" : "high" , "reason" : "The caller reports a production system outage requiring immediate attention." , "suggested_action" : "Escalate immediately to the on-call engineering team." , "route" : "slack" , "routed_to" : "#oncall-alerts" , "routing_status" : "delivered" } Process voicemail audio curl -X POST http://localhost:5000/voicemails/process \ -F "file=@voicemail.wav" \ -F "caller_number=+17177247292" For audio, the app calls: POST /v2/ai/audio/transcriptions using: distil-whisper/distil-large-v2 Then it calls: POST /v2/ai/chat/completions to classify the transcript. Routes included POST /voic

2026-07-31 原文 →
AI 资讯

Google AI Mode Citations Are Not an Above-the-Fold Game, SALT Research Finds

Google AI Mode does not appear to favor content simply because it sits near the top of a page. Research from SALT.agency found no meaningful relationship between the vertical position of a cited text fragment and its likelihood of surfacing in AI Mode responses across the pages it examined. That finding matters for publishers and SEO teams trying to understand how Google AI Mode selects supporting material. The available evidence points away from a universal above-the-fold formula and toward a more familiar discipline: publishing well-structured content that directly addresses the reader's need. The research also identifies a recurring pattern in highlighted material: descriptive subheadings followed by clear opening sentences. What SALT's AI Mode research measured In its research into whether content structure improves AI Mode surfacing , published December 30, 2025, SALT.agency analyzed 2,318 unique URLs cited by AI Mode across travel, e-commerce, and SaaS. The researchers used a Chrome bookmarklet and a 1920 by 1080 viewport to record the vertical location of the first highlighted text fragment on each page. The study recorded average cited-fragment depths of roughly 2,400 to 4,600 pixels across the three verticals. Some cited material appeared much farther down a page, including at depths above 60,000 pixels. Despite those differences, the analysis found no consistent citation advantage for content located near the top of a page. Content factor What the research observed Editorial implication Vertical page position No meaningful correlation between shallow pixel depth and being cited. Do not treat above-the-fold placement as a reliable AI Mode citation tactic. Page layout Elements such as hero images can push cited text farther down the page. Layout can affect where a fragment appears without determining whether it is selected. Headings and opening sentences Highlighted passages often included a descriptive subheading and the sentence immediately after it. Use h

2026-07-30 原文 →
AI 资讯

DSCI series / Rakulang CI, part2. Cro Application

In this episode I talk about developing web application based on well known cro framework and specifically how to create CI pipeline using DSCI tool. Here is example of very simple cro application (taken from cro web site): use Cro::HTTP:: Router ; use Cro::HTTP:: Server ; my $application = route { get -> { content ' text/html ', ' Hello Cro! '; } } my Cro:: Service $service = Cro::HTTP:: Server . new : : host < localhost > , : port < 10000 > , : $application ; $service . start ; react whenever signal ( SIGINT ) { $service . stop ; exit ; } First of all let's create jobs file .dsci/jobs.yaml that would contain list of jobs, in our case this is just a single job: jobs : - id : ci path : . In this case we would have just a single job that: installs apps dependencies runs web application in background runs some end to end tests using http client .dsci/job.raku run_task " install "; run_task " end-to-end "; .dsci/tasks/install/task.bash set -e cd ../ ls -l zef install . --deps-only zef install . echo "done" nohup cro run 1>app.log 2>&1 & </dev/null The first task just installs application dependencies and runs web application in background, now we can create some end to end test. For simplicity I am going to use curl http client here, but feel free choose any languages you like, for example Raku's HTTP::Tiny client, DSCI is super flexible allowing to write tasks on different languages mixing then effectively. .dsci/tasks/end-to-end/task.bash I could have made this simple one line Bash task a part of initial install task, but for claritrty and demonstration of modularity I keep as a separate one. In the future more tests may come (rathe then this trivial one) and it reasonable separate installation and testing logic. set -e # the test should fail if HTTP response is not # successful curl 127.0.0.1 127.0.0.1:10000 -f -L Ok, let's try this out. And the very first run results in ... error: 08:47:39 :: ===> Building: Digest::SHA1::Native:ver<1.0.1>:auth<zef:bduggan> 08:47:39

2026-07-30 原文 →
AI 资讯

Younger Consumers Are Leaning Toward AI Answers, but Trust Still Shapes Search

Younger consumers are showing a meaningful preference for AI-driven answers over conventional search results, according to survey findings published by Vox Media. The shift matters because direct answers can change how people discover information, assess sources, and move from a question to a decision. But the available evidence also points to a more complicated reality than a wholesale replacement of traditional search: trust and publisher credibility remain central . Vox Media's survey, conducted with Two Cents Insights among 1,500 U.S. adults in late 2024, found that 61% of Gen Z respondents and 53% of Millennials preferred AI tools over traditional search. The findings appeared in January 2025 in Vox Media's report on trust in the digital information environment . The distinction between the two figures is important. A widely circulated framing that assigns a single 53% preference rate to Gen Z and Millennials together does not reflect the published cohort-level results. Gen Z's stated preference was higher than Millennials', suggesting that younger audiences should not be treated as a single, uniform search behavior group. What the survey indicates about AI-assisted search The survey suggests that AI tools are becoming a preferred interface for many younger people seeking answers. Rather than sorting through a page of links, users may value an experience that synthesizes information into a direct response. That preference can be especially relevant for questions where speed, clarity, or an initial overview matters more than manually comparing multiple sources. Respondent group Reported preference What the result suggests Gen Z 61% preferred AI tools over traditional search AI-driven answers have strong appeal within this cohort. Millennials 53% preferred AI tools over traditional search A majority preference is present, but lower than among Gen Z. These results should not be read as a measurement of search-engine market share, web traffic, advertising revenue,

2026-07-30 原文 →
AI 资讯

Testing AI Coding Agents Beyond Code Generation: A Real-World Benchmark

1. Introduction Most public demonstrations of AI coding agents begin with an empty directory and end when a visible feature works. That is useful, but it measures only the first and easiest part of software engineering: generation. Real projects are stateful. They contain existing behavior, data that must survive, security boundaries, partially completed work, and verification steps that cannot be replaced by a convincing demo. This benchmark was designed as a small, practical record of that harder problem. It documents two Codex runs on the same full-stack task-manager project. Phase 1 was a greenfield build. Phase 2 returned to the existing application for an authentication and database-migration refactor. The second run also included a long, user-initiated interruption, making recovery part of the observed workflow. The narrow result is encouraging: the initial application was recorded as complete in approximately 34 minutes, and the later refactor took approximately 42 minutes of active execution, excluding the user-initiated pause. The Phase 2 run reported 16 backend tests, 1 legacy-migration test, and 25 frontend tests passing, along with lint, type, build, dependency, and browser-acceptance checks. Those numbers need boundaries. This is a single-environment case study, not an official benchmark, not a controlled comparison between providers, and not a production guarantee. The current documentation set does not retain the complete source tree, exact prompts, raw terminal output, migration artifact, database fixture, or browser trace. Results are therefore presented as supplied run records rather than independently reproduced evidence. 2. Why Simple Code Generation Tests Are Insufficient A prompt such as "build a task app" primarily tests synthesis. The agent chooses a stack, creates files, connects components, and produces a working path. It may reveal speed and basic tool use, but it says little about how the agent behaves when constraints collide. Maintenan

2026-07-30 原文 →
AI 资讯

OpenAI Codex Security Enters Research Preview, Clarifying Its Role in the Codex Ecosystem

OpenAI has introduced Codex Security in research preview, positioning it as a project-contextual security capability within the Codex ecosystem. The feature is designed to build threat models for a codebase, validate potential findings in sandboxed environments, and surface proposed patches for human review. The release is significant for teams evaluating AI-assisted application security because it frames security work as more than a static scan. OpenAI's current approach combines codebase context, validation, and reviewer oversight, while keeping the feature tied to its cloud and web product experience rather than presenting it as a standalone open-source security command-line tool. What OpenAI has released According to OpenAI's Codex Security research preview announcement , Codex Security is being introduced as a research-preview feature for customers using Codex web. OpenAI says the tool develops a threat model based on project context, investigates potential issues, validates findings in sandboxed environments, and presents patches for human review. That sequence matters because security tooling can produce findings that require substantial engineering effort to triage. A system that can incorporate project context and test a potential issue before escalating it is intended to make findings more actionable. However, OpenAI's own description still places a human reviewer in the decision loop for proposed changes. OpenAI says Codex Security is rolling out through Codex web for ChatGPT Pro, Enterprise, Business, and Edu customers. It is therefore an enterprise-oriented, cloud-hosted preview capability with controlled availability, not a generally available security product for every developer environment. The currently described workflow includes: Building a threat model using the context of a software project. Investigating and validating potential security findings in sandboxed environments. Surfacing proposed patches for human review. Providing access through Co

2026-07-30 原文 →
开发者

KNX Motion-Sensor Automations in Home Assistant

A note before the post: the mistake in the first section is genuinely mine. It cost me an evening of forking conditions in Home Assistant before I accepted the fix didn't belong in Home Assistant at all. I've left it in rather than writing around it, because it's the part I'd have wanted to read first. The first time motion-controlled lighting actually worked in my place, it didn't feel clever. It felt obvious — I walked into a dark hallway and the light was already on by the time I'd registered it was dark. That's the bar. Not smart , just attentive. Getting there with seven KNX motion sensors took me less code than I expected and one insight I wish I'd had on day one. This is Part 05 of the series. The earlier parts cover the boring-but-load-bearing groundwork: running Home Assistant in Docker and wiring up HACS . Here I'm assuming HA is up, talking KNX, and you just want the lights to behave. One sensor, two jobs, two addresses Here's the mistake I made, and it's the whole reason this post exists. KNX exposes each motion sensor to Home Assistant as a binary_sensor with device_class: motion , fed by a KNX group-address state object you configure in knx.yaml with a state_address per sensor. Simple enough. So I wired all seven sensors with one group address each and pointed both the lighting automation and the presence logic at the same signal. That works right up until you want the two to behave differently. A light should react to the smallest twitch, instantly, generously. Presence and security want the opposite: a debounce, a grace window, some scepticism before they commit. When both ride the same group address, every change you make to one quietly deforms the other. I spent an evening forking conditions in Home Assistant trying to make one signal mean two things. The fix isn't in Home Assistant at all. It's in ETS: give each physical PIR a second group address . One drives comfort lighting, the other feeds presence and the alarm path. I use a flat convention —

2026-07-29 原文 →
AI 资讯

Auto-Generating an Index of Your Claude Code Custom Agents from Their Frontmatter

This is a continuation of my "Claude Code environment" series. In the previous post, Automatically thinning conversation logs to prevent bloat , I introduced the basic pattern for scheduled launchd jobs. This time I'm using that same mechanism to automatically maintain a list of the custom agents in ~/.claude/agents/ . Dropping a single .md file into ~/.claude/agents/ adds a custom agent, but before long you lose track of how many you have, what model each one uses, and which tools each is allowed to touch. That's exactly what happened to me with the 27 agents I now have. I tried writing an INDEX.md by hand to manage them, and of course within a few days it had drifted from reality. The problem: the index rots Manually updating INDEX.md every time you add a custom agent is not sustainable. You forget you added one and leave it out You change a model later and never reflect it in INDEX.md You typo a name or description and never notice I concluded there was no sustainable way to manage this other than "generate it automatically," so I wrote agents-index.sh . The output: a real INDEX.md Here's how the top of my current ~/.claude/agents/INDEX.md looks. <!-- AUTO-GENERATED by ~/.claude/scripts/agents-index.sh — DO NOT EDIT MANUALLY --> # Agents Index (27 agents · 2026-07-28 02:02) | Name | Model | Description | Tools | |------|-------|-------------|-------| | `architect` ( [ architect.md ]( ./architect.md ) ) | opus | Software architecture specialist ... | ["Read", "Grep", "Glob"] | | `build-error-resolver` ( [ build-error-resolver.md ]( ./build-error-resolver.md ) ) | sonnet | Build and TypeScript error resolution specialist ... | ["Read", "Write", "Edit", "Bash", "Grep", "Glob"] | | `doc-updater` ( [ doc-updater.md ]( ./doc-updater.md ) ) | haiku | Documentation and codemap specialist ... | ["Read", "Edit", "Bash", "Grep", "Glob"] | Four columns: Name, Model, Description, and Tools. You can see at a glance how the models break down across opus / sonnet / haiku , and i

2026-07-29 原文 →
AI 资讯

We gave our AI agent fleet a credit limit, and it hit it the same day

Ten agent sessions ("minds," in this codebase) run continuously on one box, each with its own responsibility — one writes code, one talks to me on Telegram, one watches sensors, one just measures the fleet itself. They coordinate the way a lot of multi-agent systems eventually do: a shared log file, one line per event, [task] / [taking] / [done] . That log is fine for "what happened." It is useless for "what do we owe, and how much did it cost" — the two questions I actually needed answered before I was willing to let the fleet run unattended overnight. The board is not a ledger, but it can feed one The fix wasn't a new coordination protocol. It was noticing that every line on that board is already a transaction if you're willing to look at it that way: board event ledger meaning [task] fix-the-thing a liability opens [taking] pub: fix-the-thing the liability moves to a specific debtor [done] pub: fix-the-thing the liability settles a provider round-trip (one agent turn) a unit of labour is spent So the board gets replayed into three separate double-entry hledger journals, each tracking a different commodity: money — imputed USD (token counts priced through one rate table). promises — commodity PROMISE : an open [task] with no matching [done] is a standing liability, not a line that scrolled off screen. labour — commodity TURN : one provider round-trip, the fungible unit every mind actually spends, regardless of whether it's writing code or answering a sensor. Each journal gets checked two independent ways — hledger check for internal parity, plus a second, independently-written replay of the same board that has to agree with the balance query. A booking bug fails loud, not silently, because two things that should compute the same number just disagreed. Querying "who owes what" stops being a grep and starts being a query: $ mesh-promises --balance standing open obligations (bal liabilities:promises · 1 PROMISE = open, netted): 1 PROMISE liabilities:promises:pub:chat

2026-07-29 原文 →
AI 资讯

BrowserAct in 2026: The Best No-Code Web Scraping Tool That Replaced My Python Scrapers

If you've been following this series, you know I've been testing BrowserAct for months now. Article 1 covered the CLI setup. Article 2 covered headless + human handoff. Article 3 was a 6-week production review. Those were all about the CLI, the developer tool. This article is different. BrowserAct now has a cloud product called BrowserAct Agent Built where you describe what data you need, and it builds a reusable scraper for you. No terminal. No code. Just a prompt. I tested it on five real business workflows. Here's what I found. Every quarter I update a pricing comparison spreadsheet for my clients. I work with teams evaluating deployment platforms, and the question is always the same: "Which one should we use for this project?" The honest answer depends on workload, team size, and budget. So I maintain a comparison across Vercel, Netlify, Railway, Render, Fly.io, and DigitalOcean. Six platforms. Six tabs. Two hours of squinting at marketing copy and copying numbers into a sheet. I wrote Python scrapers to automate it. BeautifulSoup, Playwright, the works. They lasted three months. Then Vercel redesigned their pricing page. Selectors broke. Fixed them. Netlify changed theirs two weeks later. Fixed again. Fourth breakage in six months, I stopped maintaining the scripts entirely. Back to manual. Two hours, every quarter. For a spreadsheet. But here's the thing: across my client engagements, I keep seeing the same problem in different shapes. The e-commerce team tracking competitor prices on Amazon every Monday. The agency paying for lead lists that are already stale. The HR team spending days copy-pasting salary data from job boards. Everyone needs web data. Almost nobody wants to maintain the code that collects it. Yesterday I tested BrowserAct Agent Built on five business workflows I actually deal with across different client engagements. One prompt each. No code. No selectors. Results below. Table of Contents What BrowserAct Agent Built Is (Quick Context) Test 1:

2026-07-28 原文 →
AI 资讯

Cómo montar un motor de contenidos que no te arruine (julio 2026)

Cómo montar un motor de contenidos que no te arruine (julio 2026) Si sigues pagando 300 euros al mes por herramientas "todo en uno" de marketing, estás tirando el dinero. A mediados de 2026, la tecnología para automatizar ha bajado tanto de precio que los costes de infraestructura de contenidos son casi ridículos. La clave no es la herramienta cara, es conectar piezas pequeñas con APIs baratas. Aquí tienes cómo tengo montado mi flujo de trabajo ahora mismo. La pila tecnológica (el stack) Para automatizar sin gastar, olvida las plataformas de marketing tipo HubSpot o plataformas cerradas. Mi setup actual es este: Cerebro: Claude 3.5 Sonnet (vía API). Es mejor razonando que GPT-4o para tono editorial. Orquestador: n8n (corriendo en una VPS de 5 euros al mes en Hetzner). Base de datos: Notion (vía API para gestionar el calendario). Distribución: Ghost para el blog y la API de LinkedIn/X para el alcance. Coste total: Menos de 15 euros al mes. Paso 1: El disparador (el calendario en Notion) No uses un Excel. Usa una base de datos de Notion con cuatro columnas: Estado , Título , Prompt_Contexto y Fecha_Publicación . Cuando cambias el estado de "Borrador" a "Listo para generar", el webhook de n8n se dispara. Aquí es donde empieza el ahorro. No envías toda la base de datos, envías solo el registro nuevo. Paso 2: El prompt como código, no como texto La mayoría de la gente comete el error de pedirle a la IA: "escribe un post sobre X". Sale basura genérica. En 2026, si no das contexto, el contenido no posiciona ni recibe interacción. En tu nodo de n8n, construye el prompt de forma dinámica. Así es como envío la estructura a la API: { "model" : "claude-3-5-sonnet-20260620" , "system" : "Eres un redactor técnico senior especializado en SaaS B2B. Tu estilo es directo, sin paja, sin adjetivos innecesarios. Evitas los clichés de marketing de 2024. Tu objetivo es educar, no vender." , "messages" : [ { "role" : "user" , "content" : "Escribe un artículo corto basado en este punto clav

2026-07-28 原文 →
AI 资讯

Docusaurus i18n: How to keep translations in sync (manual vs Crowdin vs GitHub Action)

If you maintain a Docusaurus site in more than one language, you already know the actual problem isn't translation — it's staying in sync . Someone updates three paragraphs in the English docs, and six months later the Chinese (or Spanish, or whatever) version is quietly wrong, and nobody notices until a user files an issue about it. I went looking at how teams actually solve this, and it mostly comes down to three approaches. Writing this down mostly for my own reference, but sharing in case it saves someone else the research. Approach 1: Just do it manually This is what most small-to-mid docs sites do, at least at first. A maintainer (or a translator on Slack) watches for doc PRs and manually updates the other language folders. It works fine until it doesn't. The failure mode is always the same: it's invisible. Nobody gets paged when a translated page goes stale — it just sits there, slightly wrong, until a reader notices the code sample doesn't match anymore. For a project with a handful of docs and one contributor doing translations, this is honestly fine. Past ~50-100 pages or more than one language, it stops scaling — not because the translation work is hard, but because tracking what changed becomes a full-time job nobody signed up for. Approach 2: A translation management platform (Crowdin, Lokalise, etc.) These are built for exactly this problem and they're genuinely good at it — string extraction, translator workflows, in-context editing, the works. If you have a dedicated localization team or professional translators involved, this is probably still the right call. The tradeoff for a docs-only, engineering-driven project: they're built around the assumption that there's a human translator (or a review pipeline) doing the actual translating, plus a separate sync step to pull translations back into your repo. That's the right tool when translation quality and nuance matter enormously (marketing copy, legal text) or when you have translators who aren't devel

2026-07-28 原文 →
AI 资讯

Scraping platform costs: measure successful rows, not browser minutes

A scraping job usually fails in boring ways: the browser hangs, a selector starts returning empty strings, a login expires, or the target site returns a captcha halfway through the run. The awkward part is that many platforms still bill you for the work done before the failure. If you run enough jobs, that difference shows up both in your invoice and in the amount of defensive code you need around the scraper. Billing by compute time changes how you build A lot of scraping platforms charge for runtime. Apify, for example, uses compute units: memory multiplied by time. A browser-heavy actor running for ten minutes with 2 GB of RAM consumes roughly a third of a compute unit before any actor-specific result fees. That model is reasonable from the provider side. Chromium processes are expensive. Proxies cost money. Retries use resources. But as the caller, you care about a different unit: did I get the rows I needed? The hard part is that runtime billing makes cost hard to know before execution. A job that normally takes 30 seconds might take 8 minutes when a site slows down. A job that returns malformed data can still count as successful from the platform's point of view. A job that fails after rendering 200 pages still consumed browser time. If your pipeline runs once a day, that may be fine. If it runs continuously, you probably want a local cost model that tracks outcomes, not just requests. type ScrapeRun = { jobId : string ; target : string ; startedAt : string ; finishedAt ?: string ; status : " queued " | " running " | " succeeded " | " failed " ; rowsExpected ?: number ; rowsReceived ?: number ; billedUnits ?: number ; }; function isUsefulResult ( run : ScrapeRun ) { if ( run . status !== " succeeded " ) return false ; if ( run . rowsExpected && ( run . rowsReceived ?? 0 ) < run . rowsExpected * 0.9 ) { return false ; } return ( run . rowsReceived ?? 0 ) > 0 ; } function costPerUsefulRow ( run : ScrapeRun ) { if ( ! isUsefulResult ( run )) return Infinity ; ret

2026-07-28 原文 →
AI 资讯

Stop Asking AI for Test Cases: Building a Gate-Controlled SDET Prompt

How to Get the Maximum Value Out of This Framework Having built and iterated on this prompt through multiple production edge cases, here are the exact execution strategies I recommend depending on your workflow: 1. The Human-in-the-Loop Workflow (Recommended for Chat UI) Run it in two separate chat threads: Don’t let long conversation history degrade your test accuracy. Run Phase 1 in Thread A to get your gap analysis and critical questions. Review the gaps, clarify what you can, and then update your original requirement text. Start Thread B for Phase 2: Open a fresh conversation, paste the updated requirements + this framework, and jump straight into generation. This completely eliminates context drift and keeps the LLM laser-focused on state mutation rules. 2. The 2-Pass Programmatic Auditor (For Automated CI/CD Pipelines) If you’re calling an LLM via API or integrating this into a pre-commit GitHub Action, split the execution into two isolated passes: Pass 1: Run Phase 1 & 2 to generate the initial test table. Pass 2 (The Audit Pass): Feed the generated table into an isolated, secondary prompt whose only job is to enforce the Verification Check (verifying exact boundary literals, API status codes, and non-mutation assertions). Separation produces drastically higher assertion reliability than asking a model to self-audit in a single turn. 3. How to Live-Demo or Teach This For Live Streams & YouTube: This framework makes for a high-signal live demo. Paste an intentionally ambiguous user story (e.g., a webhook handler or payment endpoint), watch Phase 1 halt at the gate live, discuss the surfaced edge cases on camera, reply PROCEED, and review the generated DEFERRED risk rows. It shifts the content focus from “Look at this cool AI tool” to “This is how Senior SDETs think about systems.” For Technical Writing & Post-Mortems: The progression from a naive “write me test cases” prompt to a strict 2-phase state-machine framework is a technical narrative in itself. Break

2026-07-28 原文 →