AI 资讯
Mistral 3 Advances an Open Multimodal AI Platform Across Cloud, Data Center and Edge
Mistral AI is turning its open-model strategy into a broader deployment proposition. Its December 2, 2025 Mistral 3 release combines dense and mixture-of-experts models, multilingual and image-understanding capabilities, and distribution across cloud, platform, and edge environments. The announcement gives concrete form to the company's stated goal of letting customers select an appropriate model for each task rather than tying workloads to a single proprietary system. The most consequential element is not one model alone. Mistral 3 positions open-weight models, developer access, customization, and deployment choice as connected parts of an AI platform. For enterprises weighing performance, infrastructure control, and commercial reuse, that combination can matter as much as raw model scale. Mistral 3 combines model choice with open commercial licensing Mistral's official Mistral 3 announcement introduced a family released under the Apache 2.0 license . The company says this applies to the new Mistral Large 3 and Ministral 3 models, enabling reuse, fine-tuning, and commercial integration under that license. Its Help Center also identifies Apache 2.0 as the license for its open models. The family spans smaller dense models and a substantially larger sparse model. That range supports the company's stated platform logic: organizations can evaluate a smaller model for constrained or local workloads and reserve a larger model for tasks that justify greater compute requirements. The release also emphasizes multilingual performance and image understanding, bringing Mistral's open-model portfolio beyond text-only positioning. Model group Architecture or size Position in the Mistral 3 release License Ministral 3 Dense variants at 3B, 8B, and 14B parameters Smaller model options within the family Apache 2.0 Mistral Large 3 Sparse MoE model with 675B total parameters and 41B active parameters Frontier-scale open-weight option with multilingual and image-understanding emphasis A
AI 资讯
Google Expands Gemini 3.5 With Flash, Omni and Spark Across Apps and Enterprise Tools
Google has placed Gemini 3.5 at the center of a broad product expansion that reaches beyond a single model release. Announced during Google I/O 2026, the update introduces Gemini 3.5 Flash, Gemini Omni, the Spark personal agent, Daily Brief, and a new Neural Expressive interface direction. It also coincides with upgrades to Google's Antigravity agent framework and related developer and enterprise surfaces. The significance is the scope of the rollout. Rather than presenting Gemini 3.5 as an isolated chatbot improvement, Google is extending the family across the Gemini app , multimodal creation, Workspace-connected agent experiences, API and developer tooling. In Google's official Gemini app announcement , the company outlines the new app experiences and their staged availability. Google positions Gemini 3.5 Flash as its flagship model for combining frontier intelligence with fast action. That language is Google's product characterization, but the practical message is clearer: Gemini's next major model family is intended to support responsive interactions across more of Google's products, not just long-form prompts in the consumer app. A Gemini update built around multiple surfaces The Gemini 3.5 rollout combines model, output, agent and interface changes. Each component addresses a different part of how people may use Gemini, from generating multimodal material to receiving proactive assistance and working through connected tools. Gemini component Confirmed role Availability or integration detail Gemini 3.5 Flash Google's flagship model combining frontier intelligence with fast action Part of the Gemini 3.5 rollout Gemini Omni Multimodal video output Beginning rollout to Google AI Plus, Pro and Ultra subscribers Gemini Spark A 24/7 personal agent Integrated with Workspace tools, with a Spark-enabled desktop experience planned for macOS Daily Brief Personalized morning digests Included among the new Gemini app experiences Antigravity enhancements Expanded agent frame
AI 资讯
Google Gemini 3.1 Pro Expands Preview Access Across Consumer, Developer and Enterprise Tools
Google has announced Gemini 3.1 Pro , a new preview model positioned as a substantial upgrade to the Gemini family for complex tasks. Introduced on February 19, 2026, the model is rolling out across Google's consumer products, developer environments and enterprise platforms, making the release a platform-wide expansion rather than an isolated model update. Google's official Gemini 3.1 Pro announcement describes upgraded core intelligence intended to serve all three audiences. The most consequential part of the announcement is the model's distribution. Developers, enterprises and end users are being offered access through distinct Google products, while Google frames Gemini 3.1 Pro as a step toward more capable agentic workflows . General availability is planned after the preview phase, with broader availability described as coming soon. A broader Gemini 3.1 Pro rollout Google says Gemini 3.1 Pro is designed to be smarter at complex tasks, with improved reasoning as a central focus. The company highlighted a 77.1% score on ARC-AGI-2 , a benchmark it cited as evidence of the model's reasoning progress. That result is a company-reported benchmark figure, not a complete measure of how the model will perform in every production workflow. The release follows earlier Gemini family progress, including Gemini 3 Pro and Gemini 3 Deep Think. However, the announcement's practical message is not limited to a new model name or benchmark. Google is placing Gemini 3.1 Pro into the tools through which people build, deploy and use AI systems. Audience Announced access points Rollout status Developers Gemini API in Google AI Studio, Gemini CLI, Antigravity and Android Studio Preview Enterprises Vertex AI and Gemini Enterprise Preview Consumers Gemini app and NotebookLM Preview rollout What the multi-channel release means A model can matter strategically only if it reaches the environments where work happens. By making Gemini 3.1 Pro available through the Gemini API and development too
AI 资讯
The automation post pipeline
I am testing my first automated end to end social media post automation system. which is created using the free tools. But it is very efficient and productive. i can use this thing in future posting on various platforms to tell people about my learning's and update about me. Tools : Make.com = I use this tool to mainly automate my system it include flow how things works and system is linked. Hashnode = I use this as a central blog and article publishing tool other tools is connected with it so content links is properly distributed. Google Ai Studio = I use this to integrate the ai in between this whole process which just do small job to add the engaging hook and the tags for the reach Buffer = I use to connect X (twitter) with this Because Make.com remove the platform X (twitter) to His integration. After the policy change of the platform. Dev.to = I use this to improve SEO of my post over the google search engine. Challenges : I cannot integrate the github actions with the hashnode becuase this feature is become paid on hashnode. May be in future i can do this thing using self written yml file, i am guessing Not sure will this 100 % work or not. Twitter integration as i described early that twitter integration is not present in the make.com so i use the another tool Buffer. The limits calculation, Their was a limits on each tools for their specific use case so i have to intentionally calculate them properly. Even the free tear of the twitter which is X is few hundreds words that's why i have to limit the text of the post, which is hook only, The threads creation i don't think it will be their in this tools which i am using, i will definitely find it if their. Solutions : Simply use other Way if this way is closed, use different tool for twitter May be in future i create yml file for the github actions but for now i am directly writing on hashnode. The dev.to does not provide feature of direct posting it save your cycle into draft so you have to manually click on pu
AI 资讯
AI Is Making Financial Tools Feel Less Complicated
I used to think financial apps were designed mostly for people who already understood finance. You open an app, see dozens of charts, numbers, and settings, and sometimes your first thought is: “Okay… where do I even start?” AI is slowly changing that experience. The most useful AI applications in fintech are not always about making predictions. In many cases, they are about removing friction: organizing information, automating repetitive tasks, and helping users understand complicated processes. We can already see this trend in different areas. Companies like Stripe are using technology to simplify online payments, while platforms like Plaid help connect financial data between different services. The same idea is appearing in other parts of finance too. Some digital financial platforms are exploring automation tools that help users create more structured workflows instead of manually managing every step. For example, platforms like BYDFi have introduced automated tools that allow users to use predefined strategies rather than constantly monitoring every market movement. Of course, automation does not replace human decisions. A smarter tool does not mean a person can ignore research or risk management. For developers, the interesting challenge is not building the most complicated system. It is building something that makes complicated things easier for real users. Maybe the future of fintech is not about adding more buttons. Maybe it is about helping people need fewer buttons.
AI 资讯
I spent twenty hours testing hypotheses about a publishing failure. The platform had written the reason on screen
Yesterday I tried to publish an article on a writing platform I use. The click did nothing. Not an error, not a refusal: the dialog stayed open, the page changed to a url containing the word submission, and nothing appeared publicly. I tried again. Same. Then I stopped, because I have a rule against stacking attempts, and started diagnosing properly. What I did over the next twenty hours I checked whether the button was disabled. It was not: no disabled attribute, no aria-disabled, pointer events enabled, full opacity, not covered by another element. I checked whether my test for success was valid. I was verifying by loading the post's short url in a clean session and looking for a Not Found. It occurred to me that I had never confirmed that url form works for a published post, so I tested it against one that had published fine an hour earlier. It rendered in full. The test was sound. I checked the public profile. The post was not listed. Confirmed unpublished. I instrumented the network. Enabled the protocol domain, clicked, and watched: three requests, all returning two hundred. So the click was firing and the server was answering without error. That eliminated a dead button, a lost click and an overlay in one measurement, which felt like progress. I formed a hypothesis and wrote it down as a hypothesis: a daily publishing limit, three per calendar day, since two had gone out that day. I waited for midnight and tested it. It failed again. So the hypothesis was refuted, cleanly, and I recorded that. Where the answer was In the dialog. The whole time. After the failed attempt past midnight, I ran one more read of the page, this time asking for elements with an alert role rather than for the button state. One came back: The author of this story has published or scheduled the maximum of two stories in the past 24 hours. Please try to publish or schedule again in 24 hours. Two per rolling twenty four hours. Not three, and not per calendar day. My hypothesis was wrong o
AI 资讯
OpenAI Expands GPT-5.6 Cyber Access Through Daybreak’s Trusted Defender Controls
OpenAI is expanding access to advanced cybersecurity capabilities through Daybreak , a defender-focused program that connects frontier cyber models, Codex Security and partner initiatives to established security workflows. The expansion is not positioned as open consumer access. Instead, qualified individuals and organizations can obtain additional defensive capabilities through Trusted Access for Cyber , a framework built around verification, authenticated environments, scope controls and ongoing oversight. The policy matters because OpenAI is making a clearer distinction between broadly useful AI assistance and higher-risk cybersecurity work. In its GPT-5.6 overview , OpenAI calls GPT-5.6 its strongest cybersecurity model yet and says qualified members of Daybreak’s Trusted Access for Cyber program can access more of its defensive capabilities. The company identifies use cases including vulnerability triage, malware analysis, detection engineering and patch validation. For enterprise security teams, the development is less a single feature launch than a governed access model for deploying more capable AI in security operations. It also places identity, organizational accountability and operational monitoring alongside model capability as requirements for access. Daybreak turns advanced cyber AI into a governed workflow Daybreak is OpenAI’s broader effort to bring frontier cyber capabilities into defender environments without separating those capabilities from governance. It spans GPT-5.6 access across ChatGPT, Codex Security and the API, while also incorporating ecosystem work such as Patch the Planet and the Daybreak Cyber Partner Program. That scope is important. Security work rarely sits in one interface: teams may need to examine a vulnerability, assess malware behavior, write or refine detections, and validate a patch across different tools and processes. Daybreak’s stated approach is to place advanced AI assistance within those existing workflows while prese
AI 资讯
Generating daily horoscopes and zodiac videos with an automated AI pipeline
Astrology content has a brutal property: it has to be fresh every single day , for every sign, ideally in a few languages, forever. Writing that by hand doesn't scale. For AstroZodify I built a pipeline that generates daily horoscopes and short zodiac videos on a schedule, with humans reviewing rather than writing. Here's the shape of it. The content problem Per day you need: 12 signs x N content types (daily horoscope, love, career) x M languages. That's hundreds of pieces of copy a day that all have to feel written, not templated, and stay consistent with each sign's "voice". Templating alone reads robotic. Free-form generation drifts. The trick is constraining an LLM enough to stay on-brand while still sounding human. The generation pipeline Structured prompts per sign. Each sign has a persona and constraints (tone, themes, length). The model fills the daily specifics, not the whole thing from scratch. Scheduled batch runs. A cron job kicks off generation ahead of time so content is ready before it's needed, never on the critical path of a page request. Validation. Output is checked for length, banned phrasing, and structure before it's allowed near the site. Store, then serve. Everything lands in Postgres. Pages are SSR and just read pre-generated rows, so the LLM is never in the user's request path. Keeping generation offline from serving is the single most important decision - it keeps pages fast and costs predictable. Adding video Text was step one. Short vertical zodiac videos (for social) are step two, and that's a heavier pipeline: script -> imagery -> voiceover -> render. That part runs on Cloud Run as a separate job so a slow render never touches the web app, and we pilot one item before any batch. Cost and safety rails Anything that calls a paid API in a loop is a footgun. The rules I follow: Always pilot on 1-10 items before a full batch. Never an unbounded loop against a paid API. Cache and pre-generate so serving is basically free. Takeaways Separate
AI 资讯
Your AI Agent Needs a Maintenance Window Protocol
Long-running agents are usually tested at startup and during normal operation. The awkward middle is ignored: what happens when you need to deploy a new image, rotate a credential, migrate a database, or restart the host while the agent is halfway through a tool call? A process supervisor can restart a crashed agent. It cannot decide whether a browser checkout was committed, whether a webhook was acknowledged, or whether a tool call is safe to replay. That decision belongs in the agent runtime. This post presents a small maintenance-window protocol for agents that run for hours or days. It has four goals: stop accepting new work; let safe work finish or reach a checkpoint; make ambiguous work visible instead of guessing; resume with an explicit recovery decision. 1. Model maintenance as a state transition Do not treat maintenance as kill -TERM followed by hope. Give the runtime a durable state machine: RUNNING -> DRAINING -> QUIESCED -> STOPPED | +-> NEEDS_REVIEW DRAINING rejects new jobs but allows an active job to continue until its next checkpoint or deadline. QUIESCED means there are no unclassified side effects in flight. NEEDS_REVIEW is the safe outcome when the process died after sending a request but before recording the response. Persist the transition, not just an in-memory flag. A minimal record can look like this: { "runtime" : "agent-7" , "maintenance_id" : "mw-2026-08-10-001" , "state" : "DRAINING" , "started_at" : "2026-08-10T08:00:00Z" , "accepting_work" : false , "active_runs" : 2 } If the host disappears, the replacement process can see that the previous shutdown never reached QUIESCED . That is much more useful than inferring health from a missing PID. 2. Put checkpoints around side effects An LLM step is usually replayable. A payment, email, browser click, deployment, or Git push may not be. Record a checkpoint immediately before and after every non-idempotent boundary: PLANNED -> DISPATCHED -> ACKNOWLEDGED -> OBSERVED On restart: PLANNED can be
AI 资讯
Automating the Workflow: My Journey from Jenkins Freestyle Jobs to Declarative Pipelines
The Infrastructure: Setting Up Jenkins on AWS The foundation of this project began by provisioning an Ubuntu EC2 instance on AWS. Setting up the environment meant defining strict networking rules (opening Port 22 for SSH and Port 8080 for the Jenkins UI) and structuring the Jenkins environment with clear access controls. In Jenkins, maintaining a secure and organized environment generally falls into two roles: Administrators: Responsible for managing the Jenkins cluster, installing necessary plugins, and handling data backups. Users: Focused purely on creating jobs to run their respective workflows. The Magic of Docker-out-of-Docker (DooD) One of the most critical architectural choices was deciding how to let Jenkins build Docker images without installing a heavy, nested Docker engine inside the Jenkins container itself. The solution was a Docker-out-of-Docker configuration. By running the following command, I spun up the Jenkins container while binding it directly to the host machine's Docker socket: docker run -p 8080:8080 -p 50000:50000 -d \ -v jenkins_home:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $( which docker ) :/usr/bin/docker jenkins/jenkins:lts This single command did a lot of heavy lifting. It mapped port 8080 for the UI and 50000 for Jenkins agent communication. More importantly, mapping /var/run/docker.sock gave the Jenkins container the ability to pass docker build and docker push commands directly to the EC2 host’s Docker engine. (Just remember to ensure your jenkins user has the right permissions to access that socket!). Hitting the Wall: The Limitations of Freestyle Jobs Initially, I set up the application lifecycle running npm install , npm test , and npm pack using a standard Jenkins Freestyle job. Freestyle jobs are great for quick, isolated tasks. However, their limitations become glaringly obvious when you try to build a project with multiple automation steps. Orchestrating a complex workflow by chaining multiple Fr
AI 资讯
OpenAI’s Plan Puts Affordable, Accountable AI Access at the Center of Its Strategy
OpenAI has set out a multi-year strategy that places broad access to AI alongside safety and governance, rather than treating access as a downstream result of technical progress. In its June 8, 2026 plan, the company says it wants AI to be abundant, affordable, safe, useful, and easy to use across individuals, businesses, and governments. The significance is not a newly announced model or price change. It is a clearer first-party statement of how OpenAI connects advanced AI development with distribution, privacy, public oversight, and the sharing of economic gains. OpenAI’s formal plan, Built to benefit everyone: our plan , authored by Sam Altman and Jakub Pachocki, defines three goals: building an automated AI researcher, accelerating the economy while widely sharing the gains, and giving every person on Earth a personal AGI. Together, those objectives make accessibility a strategic requirement for the company’s stated vision, not simply a question of consumer adoption. What OpenAI’s plan says about access and accountability The plan presents advanced AI as infrastructure that should reach a very large population. That framing has practical consequences. For developers and enterprises , the relevant question is not only whether frontier systems become more capable, but whether access remains economically viable, privacy-conscious, and governed predictably enough to support real deployment. OpenAI identifies several principles that it considers central to that outcome: Affordability and abundance , so AI’s benefits can be distributed broadly rather than reserved for a small set of users or organizations. Safety and steerability , particularly for an automated AI researcher intended to accelerate scientific progress while remaining accountable. Privacy and usefulness for people, businesses, and governments using AI systems in consequential settings. Open ecosystems and public oversight , alongside stronger national and international coordination as frontier capabilit
AI 资讯
Project Log #21: The Grand Finale. We Shipped. (Plus: Full Setup Guide)
21 build logs. Months of work. One shipped project. Here's the full journey—and how to set up the Phone Agent on your own device. The first build log was published months ago. "I'm building an AI agent that controls a phone." No code. No repo. Just an idea and a cracked phone. Today, after 21 build logs spread across months, the project is shipped. This wasn't a straight line. There were gaps. Weeks where the log went silent—not because the work stopped, but because life doesn't pause for build logs. I took breaks to survive exam season. I paused to ship 9 portfolio websites. I stepped away when the code refused to cooperate and my brain needed rest. But every time I came back, the agent was still there. Waiting. And every log picked up where the last one left off. What We Built An autonomous AI agent that controls an Android phone using natural language commands. It can parse your words into actions, read the screen, tap buttons, type text, switch between apps, verify financial data, and serve a web interface—all offline. The Real Timeline Phase What Happened Days 1-4 Foundation. Gemma 4 + ADB. First working pipeline. Days 5-8 Vision overhaul. UI tree. OCR. Template matching. Days 9-12 Accessibility audit. 30 apps scored. Days 13-16 Multi-app workflows. Task memory. Home reset. Days 17-19 Financial verification. Accuracy from 80% to 94%. Breaks Exams. Portfolio sites. Life. Days 20-21 Web interface. Flask backend. Shipped. 📖 FULL SETUP GUIDE: How to Install and Use the Phone Agent Follow these steps to get the agent running on your own Android phone. Prerequisites An Android phone (Android 7 or later) At least 6GB of free storage space A WiFi connection for the initial download Step 1: Install Termux Do NOT install Termux from the Google Play Store—that version is outdated. Install it from F-Droid instead. Open your phone's browser Go to f-droid.org Download and install the F-Droid app Open F-Droid and search for "Termux" Install Termux from F-Droid Step 2: Set Up
AI 资讯
I built a tier list that re-rates 245+ AI tools every week — the automation behind it
AI tool reviews rot faster than anyone can rewrite them. A tool that was S-tier in March ships a broken pricing change in June, a "top 10" listicle from last year recommends products that no longer exist, and every directory slowly turns into a graveyard of dead links. I run AI Tier List , a bilingual (EN/KO) directory that ranks 245+ AI tools from S to D. My answer to review rot: don't re-review by hand. Make a pipeline re-rate everything weekly, and let humans only approve or reject. The architecture Everything runs on one weekly GitHub Actions cron (Next.js 16 + Prisma + Neon Postgres + Vercel): weekly cron (Sun 00:00 UTC) ├─ collect Google Trends per tool → trend scores ├─ collect OpenRouter usage rankings → weekly LLM leaderboard ├─ deactivate dead tools → site checks + trend slump ├─ discover new tools → search + AI triage ├─ re-evaluate tiers (LLM) → PendingUpdate rows └─ generate weekly blog draft → MDX The key design decision: the LLM never writes directly to the live site. Re-evaluations land in an approval queue ( PendingUpdate table). I review diffs in an admin panel and approve batches. The pipeline proposes; a human disposes. That one boundary is what keeps automated content from becoming automated garbage. Two collectors do the heavy lifting: Trend collector — Google Trends per tool, weekly. A tool in a sustained slump gets flagged; if its website also starts failing health checks, it gets deactivated automatically. Dead products remove themselves from the directory. OpenRouter collector — real token-usage data powers a weekly LLM leaderboard . No opinions, just "which models did people actually route traffic to this week," with usage share, pricing, and context length. What the tier actually means Each tool stores bilingual tierReason , strengths , and weakness fields, and the tier maps S→5 … D→1 into review schema markup. When the weekly re-evaluation moves a tool, the reason is regenerated with it — so the rating and its justification never drift a
AI 资讯
Surviving the AI Bubble With Two Pieces of Junk From Amazon
Everyone is building agents. You should build escape hatches. We are living through the most expensive group hallucination in tech history. Every SaaS now has a chatbot stapled to it. Every CEO is an "AI thought leader" on LinkedIn. Every startup pitch deck is just the words "autonomous," "agentic," and "10x" in different fonts. NVIDIA could buy a small country. OpenAI burns through more cash in a quarter than NASA did getting to the moon. And for what? So you can generate slightly worse emails, slightly faster? Look, I love AI. I actually build with it. But I have been around long enough to know what a bubble smells like. It smells like free credits, unearned confidence, and a thousand wrappers around the same API call. The bubble will pop. Not in a dramatic, newspapers falling from the sky way. It will pop quietly. Credits will dry up. Models will get paywalled behind enterprise tiers. The cloud bill you have been ignoring will finally show up. And all those beautiful, cloud-dependent workflows you built will start blinking red. So while everyone else is trying to figure out how to make their AI agent book a flight, I have been asking a different question. What do you build when you assume the internet will get worse, the cloud will get more expensive, and you will need actual skills that survive a downturn? The answer, annoyingly, is two pieces of junk from Amazon that cost less than your last Uber Eats order. Piece of Junk #1: The $25 Router That Sees Everything It is not sexy. It is called the GL.iNet GL-MT300N-V2. Everyone calls it the Mango. It looks like a little yellow box that should have come free with your ISP in 2014. You can buy it on Amazon for about twenty six dollars when it is on sale. Sometimes twenty. Inside it is a tiny Linux computer running OpenWrt. It has two ethernet ports, a USB port, and just enough RAM to be dangerous. Most people buy it to get free WiFi in hotels. I bought it to spy on my own network. Because here is the dirty secret of
AI 资讯
Two Skills I Built to Automate My Job Search with Claude Code
I'm a few months into a job search after a layoff, and I kept running into the same two problems: I was spending too long deciding whether a job listing was worth my time, and my resume was drifting out of sync with what was actually landing in interviews. So I built two Claude Code skills , reusable, file-based instructions Claude Code follows every time I invoke a slash command, to close both gaps. This is a walkthrough of how they work, why they're structured the way they are, and what I learned building them. If you haven't used Claude Code skills before: a skill is just a markdown file with YAML frontmatter ( name and description ) that lives in .claude/skills/{skill-name}/SKILL.md . The description field is what Claude uses to decide when to trigger the skill automatically, and you can always invoke it explicitly with /skill-name . The problem Job searching produces a lot of repetitive judgment calls: Is this listing worth 20 minutes of my time? Every JD needs to be read against my actual background, not against wishful thinking. Once I've scored 30+ listings, what do they add up to? Patterns emerge: the same gap gets flagged five times, the same bullet gets written from scratch in every cover letter, but nobody's collecting those patterns into resume improvements. Two skills, one for each problem: /score-job and /resume-sharpener . They're designed to work as a pair, the first generates raw signal, the second mines it. Skill 1: /score-job Input: paste a JD or give a URL. Output: one markdown file, job-search/scored-listings/YYYY-MM-DD-{company}-{role}.md . Reading the right context every time The skill starts by reading a fixed set of source files in parallel: my resumes (I keep four: engineering, PM, FDE/presales pivot, and a PeopleSoft-specific one), a profile doc, a skills inventory, and a filters doc that encodes what counts as a disqualifier. Critically, it re-reads these every run rather than caching anything, because they evolve as I update my resume o
AI 资讯
AI Can Write Tests Faster Than Your Team Can Understand Them
AI coding tools have solved one problem remarkably well: They can produce code extremely quickly. That sounds obviously good. And most of the time, it is. But software development has never really been constrained by how fast we can type. The expensive part comes later. Understanding the code. Reviewing it. Debugging it. Changing it six months later when the person—or model—that wrote it has forgotten why it exists. Test automation is where this becomes especially interesting. Generating the Test Is the Cheap Part You can ask an AI coding assistant: Write Playwright tests for our signup, login, checkout, password reset, dashboard, invoices, settings, and admin pages. And a few minutes later you might have hundreds or thousands of lines of test code. It feels like incredible leverage. Until the suite starts failing. That’s the argument behind looking at the hidden cost of AI-generated test code . Generation cost has collapsed. Maintenance cost hasn’t. In some cases, AI actually increases it because you now have more code than your team would have written manually. AI Pull Requests Need Different Review There’s another subtle problem. Humans tend to judge large AI-generated pull requests differently. When someone on your team writes 80 lines, you probably read them. When an AI assistant generates 1,800 lines? You skim. You look at the filenames. You check whether CI is green. Merge. That’s dangerous for normal application code and potentially worse for test code because a bad test can happily pass for months. There are good ideas in this guide to testing AI coding assistant pull requests , but the bigger principle is simple: AI-generated tests need validation just like AI-generated product code. “Generated successfully” does not mean “tests the right thing.” Agents Add Another Failure Mode Now we’re moving from AI that writes test code to AI that actually decides what actions to take. That introduces a new question: What if the model chooses the wrong tool? An agent m
AI 资讯
GitHub Hardens npm and Actions Defaults, Drawing Debate over Delays versus Signing
GitHub consolidated the npm and Actions changes it shipped from March to July 2026 against supply chain attacks, several of which alter defaults rather than add options. Hacker News discussion focused less on the individual controls than on whether waiting periods are the right instrument, or a substitute for author-side package signing. By Steef-Jan Wiggers
AI 资讯
What Are Autonomous AI Agents? A Practical Guide for Developers
Most AI applications wait for a user to ask a question and then return an answer. Autonomous AI agents go further: they can interpret a goal , decide what steps are required, use external tools, evaluate the results, and continue working until the task is completed or human help is needed. For example, a chatbot can explain how to resolve a customer complaint. An AI agent can read the complaint, retrieve the customer's order, check company policy, prepare a response, update the support ticket, and request approval before issuing a refund. That ability to make decisions and take actions is what makes autonomous AI agents different from traditional chatbots and fixed automation. 1. What Is an Autonomous AI Agent? An autonomous AI agent is a software system that uses an AI model to pursue a goal with limited human intervention. It can understand instructions, create a plan, select tools, perform actions, observe the results, and adjust its approach when necessary. A typical agent can: Understand a high-level objective Break the objective into smaller tasks Choose which tools or APIs to use Retrieve relevant information Take actions in external systems Maintain context across multiple steps Evaluate whether each action succeeded Recover from some failures Stop, retry, or escalate to a human Autonomous does not mean completely independent or unrestricted. A well-designed agent operates inside defined permissions, policies, spending limits, approval rules, and stopping conditions. 2. How Autonomous AI Agents Work Most autonomous agents follow a continuous decision loop: Receive Goal ↓ Observe Context ↓ Create or Update Plan ↓ Choose a Tool ↓ Perform an Action ↓ Evaluate the Result ↓ Continue, Retry, Stop, or Escalate Suppose a user gives an agent this goal: Find three suitable meeting times with the product team next week and send invitations after I approve one. The agent may: Identify the required participants. Retrieve their calendar availability. Check working hours a
AI 资讯
2.Self-Hosted AI: n8n + Ollama, local AI workflows on your Mac
If you want AI agents running on your own machine, with your own models, and no data leaving your computer, this is the article :). This is part three of the series. In part one we set up PostgreSQL, and in part two we covered the LLM concepts (models, parameter, quantization, context, capabilities, VRAM). Today we put them to work: n8n for the workflows and Ollama for the models. One prerequisite: Docker. If you do not have it yet, install Docker Desktop for Mac following the official guide [ Docker docs ]. Quick setup: n8n The fastest path is n8n's official Self-hosted AI Starter Kit, a Docker Compose template that ships n8n, Ollama, Qdrant (a vector store) and PostgreSQL preconfigured to talk to each other [ n8n docs ]. git clone https://github.com/n8n-io/self-hosted-ai-starter-kit.git cd self-hosted-ai-starter-kit cp .env.example .env # file where your passwords are stored The .env file is hidden by default. In Finder, press Command + Shift + Period to show hidden files, or just edit it from the terminal. Update the credentials, for example: POSTGRES_USER = admin POSTGRES_PASSWORD = root POSTGRES_DB = n8n Also replace the N8N_ENCRYPTION_KEY and N8N_USER_MANAGEMENT_JWT_SECRET values with your own random strings. Now one Mac-specific detail. Docker on Apple Silicon cannot use the Mac's GPU, so the kit's README recommends running Ollama natively on your Mac for speed and letting the containers connect to it [ starter kit README ]. That is what we'll do. Set this in your .env : OLLAMA_HOST = host.docker.internal:11434 Then start everything: docker compose up Open http://localhost:5678 to create your n8n account (once), and http://localhost:5678/home/workflows is where your workflows and agents live. If you only want n8n without the rest of the kit, this single command works too [ n8n docs ]: docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n Quick setup: Ollama On the Mac side (from part two, condensed): brew install olla
AI 资讯
The Headless Workspace: How Antigravity CLI Lowers the Neovim Learning Curve
A GUI IDE is great for local development, but it quickly falls apart when you transition to headless servers, low-power client machines, or remote clouds. If you pair an AI agent like Antigravity CLI with a native-first Neovim configuration, you can bypass complex setups entirely. Since the AI assistant is the one doing the heavy writing, refactoring, and saving of files, you don't need to be a Vim keyboard wizard to use Neovim. The editor simply becomes a fast, native terminal pane for inspecting the code and reviewing git diffs. By pairing the two, you can build a modern, high-performance workspace built on native features that runs perfectly in any terminal. Here is the backstory of how we ended up with this setup, and why going native-first in Neovim became our preferred remote development tool. 💻 The Backstory: From a Broken Screen to Ephemeral Cloud VMs My 10-year-old MacBook Pro recently had its screen break. It still works fine, but it is now permanently anchored to my desk with an external monitor. Buying a new laptop is too expensive right now, but I have an iPad that I use when traveling. To work from the iPad, I use Google Cloud Shell via the web browser. This allows me to write and inspect code using the Cloud Shell Editor and run Antigravity CLI . However, Cloud Shell has strict storage, memory, and CPU limits. As an Application Modernization, DevOps, and SRE developer, my projects are resource-intensive. I need to run multi-container environments like the Google Cloud Microservices Demo . Plus, next week I’m attending the Gemma Day Event hosted by the Google DeepMind team. This will be my first hands-on contact with Gemma, and after the event, I plan to continue testing how the model interacts inside a Kubernetes cluster, establishing observability for LLM-native metrics (like token throughput and response latency). I don't want to buy an expensive machine with a GPU just to test these setups. Instead, I want to spin up a GPU-enabled VM in Compute Eng