Slim attention: cut your context memory in half without loss -- K-cache is all you need for MHA
GhostPrefix: Synchronization-Free Universal Prefix Attacks for ASR Manipulation
Minimizing Modality Gap from the Input Side: Your Speech LLM Can Be a Prosody-Aware Text LLM
Exploring the potential and limitations of Model Merging for Multi-Domain Adaptation in ASR
Prevented is Not Protected: What Attack Success Rate Hides about RAG
From Transcription to Reformulation: Defining and Benchmarking Grounded Generative Speech Recognition
CoFiBreak: A Coarse-to-Fine Diversity Reward for Effective Multi-Turn Jailbreak
SecPO: Principled Adversarial Training for Prompt Injection Security
ANGLER: Verifier-Grounded Benchmarking with an Adaptive Attacker for Web Agents
Agentic World Modeling for Agent Test-time Scaling without Environment Replica
OpenAI DevDay 2026
Hi folks,
I’m in sf till Sunday. I wanna meet folks
talk about ai with non-technical adoption
builders doing fun shit
founders working on dev tools/infra
potential LPs (individuals)
go to deli board
Ben’s Bites is brought to you by AWS Marketplace
Most ML teams build data pipelines before they’ve validated their approach. Databricks Data Intelligence Platform skips that step with data federation. Connect directly to Amazon Redshift, experiment on live data, and apply MLOps tooling like CI/CD to your ML lifecycle. See how it comes together.
Headlines
OpenAI DevDay was a blast. Their biggest launch is Dots. Dots is OpenAI’s version of friendly, always-on personal agents.
You can message your Dot or call it like you would a human assistant. You can name it and choose an avatar (can’t do that with a human; they come with those settings preconfigured XD). It can message you back on its own too, i.e. it’s proactive.
Underneath, a Dot is a simple, never-ending chat with GPT-6 Astra. This chat acts like an orchestrator/master chat.
It can take tasks from you, start multiple new chats in Codex/ChatGPT Work to complete them and then report the status to you. Your Dot stays in your ChatGPT sidebar, wherever you use ChatGPT — mobile, web or desktop. It uses its own computer, so you don’t need to keep your desktop ON all the time.
You get one Dot on the Pro plans. It doesn’t draw from your usage limits for now (the chats it spawns for doing work do use your usage, though).
If you remember OpenClaw, the source of magic was multiple markdown files we all created to give our Claws a personality, memory and more. Dots have no clear way to add such files.
Instead, it feels much more tool-dependent. You need it to connect to tools where your life happens to feel the magic of Dots. Your calendar and email are the start. But think Slack, Notion, Jira, your messaging apps and more. Your Dot should take it from there. I think this post from Ethan explains this shift better.
GPT-6.1 Sol - feels like a real upgrade over GPT-5.6 Sol, after GPT-6 Sol felt like a step backwards. More on the model here.
Pro 500 - New plan in ChatGPT, alongside Pro 100 and Pro 200. OpenAI has also balanced the usage limits in each plan as a plain multiplier of the $20 Plus plan. 5x, 10x and 25x for $100, $200 and $500. That means $200 plan users take a hit, but to compensate, they are getting a bunch of one-time credits.
Sign in with ChatGPT - You can officially use your ChatGPT usage in other AI apps now, and developers can apply to add it as an option in their apps to let users pay for AI features.
Plugins - OpenAI’s latest version of “apps inside ChatGPT”. Maybe Dots will drive adoption this time. Early signs look positive. More examples: reminders inside ChatGPT and tldraw’s multiplayer canvas
ChatGPT Space - A Notion-like document workspace inside ChatGPT that you can share with your agents and your team.
Ultrafast - Let GPT-6 Astra work 8x faster, but it uses 6x the normal amount of usage. Only worth it if you have a pile of cash to send to OpenAI.
Google is back on the frontier table. Gemini 4 Argon is their new model — not available to use yet (in classic Google style), but they released its benchmark scores, and it seems better than GPT-6 Astra and Opus 5.5. And it’s cheap, with the promo pricing the same as Sol. I’d rather talk more about this model once it is in our hands.
Muse for Small Business - Meta added Shopify, Stripe, QuickBooks, Klaviyo and more connectors so Muse can help run a small business.
My feed
Decisions API is OpenAI’s answer to Jev, it seems. You define a question and possible answers, and GPT-6 Luna classifies the data. It’s ~10x faster than normal Luna calls, but not as cheap as Jev. OpenRouter has its own version of the decisions api.
Codex cloud now has reusable environments, saving you the setup time every time you run a cloud project.
How Sam Altman uses his dot to run OpenAI, and why his default speed is Ultrafast.
cf - Cloudflare’s new CLI covers its whole API and is built for agents.
Opus 5.5 built someone their own version of Dots/Grok Bot, with ChatGPT sign-in, Claude subscriptions and a cloud computer for every agent.
Claude Code can now build your evals and hill climb on them.
2026 in LLMs (so far) by Simon Willison.
Robinhood plans to let you build agents that can trade on your behalf.
Pi now supports MCP, and makes a case for why after saying it never would.
Reflect Open - open-source notes app where every note is a Markdown file your agents can read.
Get your agents to explain plans, diffs and diagrams visually instead of walls of text with this skill. Just passed 10K stars.
Have some AI experiments that you gave up on? Don’t trash them; instead, extract what’s worth keeping.
One dictated paragraph before a meeting, a full report site by the time it ended.
a16z’s
How to Turn an AI-Generated Track Into a Seamless Game Loop With FFmpeg, Godot, Unity, and Web Audio
The short version: a generated track almost never loops on its own. To fix that, generate a steady instrumental and work from a lossless copy. Cut a whole number of bars on a downbeat, then crossfade the audio that follows the loop end into the loop start. Check the seam numerically and by ear, ship it as OGG or WAV (not MP3), and give the engine an intro plus a loop point. The rest of this post walks through each step with copy-paste commands.
The question that keeps coming up
On r/SunoAI, a thread titled "Loop music ?" (April 2026) collected the usual answers. One reply sums up the problem well:
"I've been trying to do this with some of my instrumentals, and it has been a struggle. The closest success I've had is adding in the style prompt to have 'outro matches intro for consistent loop' - but even then, the tonal quality and fade in/out can still be jarring." (u/KinkyHuggingJerk, r/SunoAI)
Game developers ask the same thing about music they wrote themselves. A February 2026 r/gamedev thread asks "How do I make music loop seamlessly when it has a slight tail of reverb", and the highest-voted reply is the classic answer: "Use two clips. One that starts the track and one that loops."
Prompting alone won't get you there. You need a small, repeatable editing step, and that's what this post covers.
Why generated tracks don't loop
Four separate things go wrong, and each has its own fix:
- Song form. Generators write intros, builds, and endings. If you loop the whole file, the ending crashes into the intro.
- The cut is not on the grid. If the loop isn't an exact number of bars long, the beat stumbles every time it wraps.
- Discontinuity and tails. If you cut in the middle of a waveform, you get a click. If you cut off a reverb or cymbal tail, the sound collapses audibly at the seam.
- The file format adds silence. MP3 encoders and decoders add delay and padding. The LAME technical FAQ describes a 528-sample decoder delay in standard decoders, plus an encoder delay on top. As Wikipedia's gapless playback article puts it, MP3 itself "defines no way to record the amount of delay or padding." Some encoders store it in a LAME tag, but only players that read that tag can remove it. Ogg Vorbis and Opus define the start and end exactly, so the padding is trimmed when the file is decoded.
Step 1: Generate something that wants to loop
Ask for material that stays in one place musically:
- Instrumental only. Vocals have phrases with beginnings and endings, so they rarely survive looping.
- A fixed tempo stated as a number ("100 BPM"), plus "steady groove, no tempo changes."
- No dramatic ending. Leave out words like "finale," "build to a climax," or "fade out." If the tool has an exclusion field, put those there.
- Longer than you need. A 2–3 minute render gives you several candidate sections to choose from.
I use EasyMusic for this. In its Advanced Mode you choose Instrumental, write the Style brief, list unwanted elements under Exclude styles, and set a suggested duration between 10 and 360 seconds. The EasyMusic Style brief guide covers how to structure that text. Any generator with an instrumental mode will do, though, and so will a bounce from your own DAW project.
One licensing note before you ship anything: check the terms of the tool you used. Many generators, including ours, limit free-tier output to personal use and include commercial licensing only on paid plans. A game you sell is commercial use.
Step 2: Work from a lossless copy
Download WAV if your tool offers it. If you only have MP3, decode it once (ffmpeg -i track.mp3 track.wav) and do every edit on the WAV. Because you're cutting a region from inside the track, the padding at the very start of the MP3 doesn't affect your loop points. It only causes trouble if you ship an MP3 and expect the engine to loop it gaplessly.
If FFmpeg is new to you, HackerNoon's audio handling basics post covers trimming and conversion from the command line.
Step 3: Find the bar grid
In 4/4 time, one bar lasts 240 ÷ BPM seconds:
|
BPM |
1 bar |
16 bars |
16 bars at 48 kHz |
|---|---|---|---|
|
90 |
2.667 s |
42.667 s |
2,048,000 samples |
|
100 |
2.4 s |
38.4 s |
1,843,200 samples |
|
120 |
2.0 s |
32.0 s |
1,536,000 samples |
|
140 |
1.714 s |
27.429 s |
1,316,571 samples (rounded) |
Work in samples, not seconds, because rounding errors in seconds add up into audible drift. Check the file's sample rate with ffprobe -v error -show_entries stream=sample_rate -of csv=p=0 track.wav.
If you don't know the tempo or where the first downbeat falls, a beat tracker gets you close. This uses librosa's beat_track:
import librosa, numpy as np
y, sr = librosa.load("track.wav", sr=None, mono=True)
tempo, beats = librosa.beat.beat_track(y=y, sr=sr, units="time")
print("tempo estimate:", float(np.atleast_1d(tempo)[0]))
print("first beats (s):", np.round(beats[:8], 3))
Use the output as a starting point, not as the answer. The beat times are snapped to analysis frames, so they can be off by a few tens of milliseconds. Tracker tempos can also come out at half or double the real value. Confirm the downbeat by ear, and pick a loop start after the intro, where the arrangement has settled.
AI-generated audio isn't locked to a click track, so the tempo can drift slightly. For long loops, measure the loop length directly: find the downbeat 16 bars later and use the actual sample distance between the two downbeats, not the BPM formula.
Step 4: Cut and crossfade with FFmpeg
The approach: take exactly N bars starting at sample S. Then take the next X samples, the audio that naturally follows the loop end, including any reverb tail. Fade that tail out while fading the head of the loop in, using an equal-power curve. When the loop wraps, playback runs from the original audio just before the loop end into the original audio just after it, so the seam is continuous. The script also writes an intro-plus-loop file for engines that support a loop offset. It uses the atrim, afade, and amix filters.
#!/usr/bin/env bash
# usage: ./cut.sh input.wav START_SAMPLE LOOP_SAMPLES XFADE_SAMPLES
set -euo pipefail
IN="$1"; S="$2"; L="$3"; X="$4"
E=$((S + L)); T=$((E +
Fierce turtles square off in a rare woodland turf battle
At first, it appears that two turtles with yellow spots are calmly sitting side by side. Suddenly, one of them turns, slowly—and lunges out with its head, its open beak clearly trying to take an aggressive chomp out of its neighbor. Moments later, the turtle tries again. Now, both reptiles are going head-to-head, though each is retracted into the protection of its shell.
The two combatants are male eastern box turtles (Terrapene carolina carolina) competing for dominance. Eastern box turtles are a subspecies of the common box turtle (Terrapene carolina), with bright orange and yellow coloring on its dark shell. They live throughout the eastern and midwestern United States.
“I wouldn’t say that they’re normally aggressive, but male box turtles can definitely become territorial, especially since males’ home ranges (the area they frequently occupy) often overlap,” Eamon Caffrey, the turtle research coordinator at Mass Audubon who captured the video, tells Popular Science. “We do occasionally see this sort of brawling behavior between two males when out in the field; you just have to get lucky enough to actually witness it. This experience was a first for me, and I was thrilled to capture it on camera.”
Over the summer, another Mass Audubon staff member saw two male box turtles opting for a pushing contest instead of biting. At one point, one of the two flipped the other contestant onto its back and pushed him down a small hill. Box turtle battles can also feature spinning each other around.
“From my understanding, fights between male box turtles are much more opportunistic than anything else,” Caffrey tells Popular Science. “Often, when two males come in contact, they will display a variety of aggressive behaviors that can include head butting, shell ramming, biting, pushing, and shoving – all in attempts to assert dominance. These disputes are often territorial but can be over mates as well.”
What’s more, the turtle with the darker shell is a well-known individual over 30 years old. Caffrey says he’s seen him various times this year, and since capturing the video the celebrity reptile has been spending time in an area where the Mass Audubon team frequently spot two to three adult females. However, there’s been no trace of his opponent.
“Does that mean he ‘won’ the battle?” Caffrey muses. “Who knows.”
The post Fierce turtles square off in a rare woodland turf battle appeared first on Popular Science.
Meta Discussed 'Whisper Strategy' to Discredit Social Media Critic Jonathan Haidt, Files Show
Read more of this story at Slashdot.
[分享创造] 挂着日本节点,网站一眼就看出我是中国人。所以我写了个工具, 看谁卖了我
前阵子我一直以为自己藏得挺好。
日本节点,IP 查出来是东京,Amazon 机房。我心想这下网站总认不出我了吧。
👉 https://who.1ms.dog
后来写了个小页面,把网站不用问你、打开就能读到的东西全读了一遍,再拼成一段话。读出来是这样的:
你可能是中国人,现在在东京。你说中文(中国),时区是中国标准时间……DNS 解析器在中国。
IP 是换了,可时区没换,浏览器语言没换,DNS 也还在国内。最离谱的是 WebRTC:它直接把我家联通的 IPv6 报了出来。代理开了个寂寞。

不弹任何授权,它能读到多少
页面里一共 71 个「嗅探器」,全是普通网页就能调的接口:不要定位,不要摄像头,一个授权框都不弹。
读到的东西大概有这些:
- 服务器那边:IP 、城市、ASN 、离你最近的 Cloudflare 节点、TLS 指纹,还有你电脑的时钟准不准
- 浏览器这边:系统和版本、屏幕和刷新率、显卡型号( WebGL 直接报出 RTX 4080 SUPER )、CPU 线程数、内存、键盘布局
- 偏好:深色模式、有没有装广告拦截,甚至装了哪些插件(钱包、沉浸式翻译、Dark Reader 这些会留痕迹)
- 字体:装了哪些字体,能看出你大概是写代码的还是天天用 Office
最后拼成一段话。每个空都能点,点了会告诉你是哪几个嗅探器填的。
年龄那一栏是空的,写着「网站从这些猜不出」。确实猜不出,我也不想瞎编。

我最想要的部分:哪里露了馅
光列数据没意思。网站真正用来识破代理的,是互相对不上的地方。所以右边有 9 项伪装检测:
- 时区和 IP 对不上( IP 在日本,系统是 UTC+8 )
- 浏览器语言和 IP 所在国家对不上
- DNS 泄露:替你解析域名的 DNS 在国内
- 分流:国内网站、国外网站、ChatGPT 、Claude 看到的出口不一样
- WebRTC 泄露真实地址
- IP 是机房的(很多网站直接拿这个判断你在挂代理)
- UA 说自己是 Mac ,显卡却是 NVIDIA
- 指纹稳定不变,网站能一直认出你
navigator.webdriver为真,一看就是脚本在控制浏览器
每一项标红标黄的,旁边都有个「怎么修」,展开就是具体操作:DNS 泄露怎么配 fake-ip 或 TUN ,WebRTC 怎么关,时区去哪改。
我自己照着改完,从 7 处降到了 2 处。剩下那两处是机房 IP 和指纹,前一个是节点的问题,后一个本来就没什么好办法。
WebRTC 泄露单独做了一页
这个坑踩的人太多了,所以单独拉了一页:who.1ms.dog/zh-cn/webrtc-leak/
它会把 WebRTC 拿到的地址和网页看到的地址放在一起对。IPv4 、IPv6 分开比,只有确认是另一个出口才报红。有些 VPN 只转发 IPv4 ,漏出来的 IPv6 也会给你标出来。

浏览器指纹这件事
页面上有张「指纹卡」,是用 Canvas 、WebGL 、音频、字体算出来的一串 ID 。
换网站、开无痕、开 VPN ,这串东西都不变。下次再来,它会告诉你「上次是哪天来的,指纹变没变」。这个记录只存在你自己浏览器里,我这边拿不到。
但它说明了一件事:网站不用 Cookie 也能认出你,平时那么多「跨站追踪」,靠的就是这个。
可以分享,但不带 IP
测完可以生成一张图或一个链接发给朋友。

分享出去的内容里没有 IP ,也没有指纹。城市和运营商默认打码,要自己勾选才会带上。朋友打开链接,看到的是你的画像,下面有个按钮「测测我自己」。
关于隐私
做这种东西,自己先得干净:
- 后端只有一个接口,返回它从这次请求里本来就能看到的东西( IP 、请求头、Cloudflare 给的地理位置),不存、不记日志
- 除此之外全在浏览器里算
- 为了查出口和 DNS ,页面会直接请求几个外部服务( IPIP 、IP.SB 、chatgpt.com 、claude.ai 等),每一行都写了是谁,你访问它们时它们本来就能看到你的 IP
- 截图前可以点「隐藏位置」,地址和城市会模糊掉,我这几张图就是这么截的
开源,MIT
https://github.com/yt1988/who-are-you
跑在 Cloudflare Workers 上,npx wrangler deploy 就能部署一份自己的。支持 10 种语言。
最后,回帖说说你挂着代理能暴露几处?我改之前是 7 处,现在 2 处,机房 IP 实在没办法 😂
[分享创造] 给小宇宙做了个网页版,带评论热力图和逐字文稿
平时在电脑前听播客的时间比较多,一直没找到合适的小宇宙电脑端,手机放旁边切来切去挺烦的,就自己写了一个。
用小宇宙 App 扫码登录(发现页搜索栏右边那个扫一扫),订阅、播放进度、评论都和 App 同步,不用另外注册。
除了基本的听和评论,加了几个我自己想要的东西:
- 评论热力图:进度条上能看到大家在哪儿鼓掌、在哪儿留言,点过去直接听。听长节目找"高光"很好用
- 逐字文稿:跟着播放一个字一个字高亮,能搜,点哪句从哪句开始播
- 星屑:听到某句想记下来,按 S,会把那段文稿一起存下来,可以写笔记,最后导出 Markdown
- 虫洞:随机跳到一期你没听过、但评论区很热闹的单集。按住按钮是盲盒模式,先听 60 秒再揭晓是哪期
- 待播列表、睡眠定时、快捷键(空格、左右方向键、< > 调倍速)
- 付费单集能试听,已经买过的可以完整播放(购买还是得去 App)
技术上是 React + Cloudflare Worker,Worker 只做转发。除了匿名统计一下活跃人数,服务器不存任何东西。
有两个已知问题提前说一下:
- Worker 用的免费额度,人多了当天可能会用完,表现是页面"加载失败",北京时间早上 8 点恢复。正在播的音频不受影响。
- Cloudflare 免费版在大陆没节点,接口请求要绕一圈出境,会慢一点。
这两个问题都可以装一个浏览器扩展(叫光锥引擎)解决,装了之后请求直接从你自己的浏览器发到小宇宙,不经过我的服务器。Edge 商店已经上了,Chrome 商店还在审,可以先在关于页直接下载 zip 加载。Firefox 版也在路上。
非官方,和小宇宙/即刻没关系。界面只做了电脑大屏,手机上还是用 App 吧。
侧栏有个"反馈",有 bug 或者想要的功能可以直接在那提,回帖也行,我都会看。
Pika 基于 MiniMax H3 开源 H3 Flex,六步实现音视频联合生成
近日,Pika 发布 MiniMax H3 衍生模型 Pika H3 Flex,并开放适配器权重与推理代码。该模型通过六步去噪联合生成画面和声音,支持文本、首尾帧和多模态参考输入,供创作者进行镜头设计、参考生成和视频编辑。

本次发布包含两套 LoRA 适配器,分别用于文本及首尾帧条件生成、多模态参考生成,同时提供 MiniMax H3 基础组件和本地推理工具。模型原生支持 480P、768P 输出,可生成约 5 至 15 秒的视频及同步立体声音频。Pika 提供 ComfyUI 工作流和 Hugging Face Diffusers 接入方式,方便开发者将其加入现有创作工具。
在本地生成之外,Pika 可通过 API 提供 1080P、2K 和 4K 视频增强,以及音频分轨功能。创作者可以先以较低分辨率生成和筛选草稿,再对选定版本进行高分辨率处理;同步生成的声音则可拆分为对白、配乐、音效、拟音和环境声五类独立音轨,方便在后期分别调整。高分辨率的增强视频和音频分轨则由 Pika API 服务提供。
Pika 在技术博客中介绍,团队先在内部音视频数据集上对 MiniMax H3 进行监督微调,再采用投影分布匹配蒸馏(PDMD),将教师模型的 50 步去噪压缩至 6 步。随后,团队通过奖励反馈学习和直接偏好优化训练 LoRA 适配器,改善美学质量、清晰度和指令遵循。适配器合并用于推理后,无须增加生成步数。
Pika 还对托管推理服务做了加速。在保持模型权重和六步采样方案不变的测试中,使用 8 张 NVIDIA B300 GPU 生成一段 5 秒、768P 音视频,条件编码、去噪和解码的合计耗时从 3.409 秒缩短至 2.129 秒,处理速度约为原来的 1.6 倍。

在视觉与音频表现上,Pika 公布的对比评测结果显示,H3 Flex 在五项视觉和音频质量指标上均在参评模型中取得最高得分,并在 DesignArena 文生视频榜单上取得第八名成绩,是该榜单下排名最高的开源视频模型。
今年 8 月,MiniMax H3 开源后,MiniMax 与合作企业围绕不同的使用场景,继续训练和优化模型,并在社区中开放,包括与 Running Hub 打造 MiniMax H3 480P;与 fal 选择面向实时生成做后训练和推理优化,推出了 H3 Max 768P、H3 Max 480P;以及 FastVideo 通过稀疏化和硬件适配推出的 FastH3、英伟达与 MIT 联合围绕 H3 的开发 StreamRender-H3、Open-H3-Regenerate-2K 等多款模型等,海外开发者围绕 H3衍生模型搭出了 Twitch 直播、24 小时“AI 电视台”和 AI 短视频直播软件等创新玩法。
H3 开源一个月内下载量已经超过 2400 万次,产生超过 300 个公开衍生模型,成为 2026 年全球下载量最高的模型之一。
算力不再是AI Agent的天花板,生态围墙才是?
(本文作者为 硅碳变量,钛媒体经授权发布)
文|硅碳变量,作者|胡一刀
10月14日,豆包手机助手官方公众号发文称,《屏幕自动化操作声明协议》(SAEP,Screen Automation Execution Protocol)30天公示期已结束,平台将逐步放开第三方应用的屏幕自动化操作权限。

据公示,最新拒绝操作的应用清单涵盖拼多多、Kimi、快手系列应用、美团系列应用、小红书、DeepSeek、中国工商银行等,以及淘宝、千问、支付宝等23款阿里巴巴及关联生态应用,微信、QQ、王者荣耀等65款腾讯及关联生态应用,共计151款。
据此前介绍,SAEP是面向第三方App的AI操作规则,开发者可自主声明是否允许AI助手对自身应用执行屏幕自动化操作,划定操作边界与限制范围。官方强调,公示期结束后,应用开发者仍可随时提交拒绝声明,收到后豆包手机助手将及时关闭相关操作。
超级App的根基,藏在流量闭环之中
手机AI Agent的算力焦虑曾是行业两年多来的核心叙事,而它消散的速度超出了不少人的预期。
短短两年时间,端侧大模型参数规模实现了从数十亿到上百亿的跨越,旗舰芯片NPU算力密度实现大幅提升;内存带宽瓶颈、量化压缩算法、端侧推理框架等底层工程难题,在芯片厂商与手机厂商的联合攻坚下持续取得进展。
如今不少旗舰机型已经能够在本地承载语音交互、意图理解、图像识别这类基础AI能力,多模态模型对手机屏幕的感知也不再局限于识别按钮坐标,开始具备解析页面浅层语义的能力。
技术迭代的脚步仍在加速,但一个此前长期被行业低估的核心矛盾正迅速浮出水面:当AI初步具备看懂屏幕、模拟点击、跨应用拆解执行指令的能力时,决定手机AI Agent边界的早已不再是技术上限,而是应用生态的准入红线。
算力定义了AI Agent的能力天花板,而生态规则划定了它的实际活动边界。
二者的难度完全不在一个维度:算力瓶颈依托资本投入与技术迭代,存在持续改善的空间;但生态秩序的重构,撬动的是移动互联网沉淀十余年的商业利益底盘。
要读懂这批App集体关闭权限背后的动因,需要回到移动互联网运行十余年的核心商业模型:流量闭环。
过去十余年,移动互联网平台的价值链条始终围绕这套闭环体系运转:平台以内容、社交关系、商品供给、本地服务为锚点,将用户时长与注意力沉淀在自有App生态内,再通过信息流广告、搜索竞价、交易佣金、会员订阅等方式完成价值变现。
用户在App内的每一次浏览、点击、比价、下单都是流量价值的载体;广告主为曝光付费,商家为流量付费,用户为服务付费,平台则在每一层价值交换中抽取收益。
这套流量闭环之所以足够稳固,核心不在于技术壁垒,而在于它是一套被反复验证和自洽的商业模型。
搜索广告按点击结算,信息流广告以停留时长等指标衡量价值,电商平台按成交额抽佣,本地生活按到店核销分成——所有变现环节成立的前提,都是用户在App内完成完整交互链路。
平台对用户交互路径的控制权,本质上是其商业定价权的根基。谁掌握了用户的浏览路径、决策过程与交易入口,就拥有整条价值链的分配主导权。
技术可以被追赶,产品功能可以被模仿,但十余年用户习惯沉淀下来的流量分配权,构成了移动互联网的商业底盘。任何试图动摇用户在App内完成全链路动作这一前提的技术,都有可能冲击整条价值链的根基。
SAEP 协议的出现,是手机厂商针对这一商业现实搭建的协商机制。
它不再由手机厂商单方面决定屏幕读取与自动化权限,而是建立了一套事前声明机制:把是否允许AI助手对自身应用执行屏幕自动化操作的决定权交还给开发者。开发者可自主划定权限边界、设置操作限制,即便公示期结束,也能随时提交拒绝声明。
这套机制的设计思路类似PC互联网的robots.txt,由开发者自主划定可访问边界,再探讨合作可能性。但SAEP机制能够落地生效的前提,是开发者愿意配合。
从首批公示的结果来看,头部平台的配合度远低于行业预期。这场集体拒绝的背后,远非单纯针对某一手机厂商:不同赛道的超级App,都立足自身商业底盘,权衡开放权限的成本与风险,各有商业考量,拒绝都有对应的现实理由。
决策入口位移,平台面临前台到后端的角色变局
App顾虑的核心并非不信任AI技术本身,而是开放权限带来的商业损失缺少补偿机制。
社交与游戏平台的核心诉求是守住用户时长与沉浸式交互,而AI代操作降低了用户主动打开、浏览、交互应用的意愿,信息流广告赖以生存的用户时长,存在被分流的风险。对于依靠用户时长与广告变现的社交、游戏体系而言,这可能冲击其商业基本盘。
电商与本地生活平台的重点,在于守护交易链路与流量分配权。若AI代理深度介入,跨平台比价和自动下单有望成为一种潜在趋势,平台精心设计的搜索排序、广告展位、店铺流量分配机制,有可能在AI执行链路中被绕开。
倘若失去对用户决策路径的掌控,平台广告与佣金收入的根基便存在动摇的风险。
大模型厂商的顾虑,本质是同类产品之间的相互设防。AI产品天然存在直接竞争,若允许竞品智能体在自家应用内自动操作,用户行为、对话数据存在被对手间接采集的可能,产品能力边界也有被探测的风险。
在数据是核心资产的大模型赛道,这类开放行为近似于向竞争对手暴露自身底牌。
金融类App的顾虑,源于风控与合规层面的硬性约束。屏幕自动化场景下,交易责任划分、异常交易识别、对应的监管细则,目前仍缺少清晰标准。对金融机构而言,资金安全与合规优先级远高于体验效率提升,在相关规则明确前,关闭权限是风险最低的选择。
不难看出,拒绝开放的根源不在于AI技术本身不可靠,而是平台预判开放后核心利益可能受损,且缺少对应的补偿机制。社交平台担忧时长流失,电商担心交易链路被绕过,大模型厂商忌惮数据泄露,金融机构首要防范安全风险。
GUI自动化AI Agent对现有生态的真正冲击,不在于AI代为点击屏幕,而在于它可能从底层促成用户决策入口的迁移。
GUI自动化所描绘的理想场景是:用户给出一句自然语言指令,AI跨应用完成比价、下单、预约、查询等一整套任务流程。用户无需逐个打开App,也不会浏览首页推荐内容,原生广告或将失去触达机会,平台苦心搭建的搜索流量分配机制,在AI执行链路中可能被弱化。
对平台而言,这意味着角色变迁:从直接承接用户的业务前台,转变为被AI调用的后台服务。前台掌握流量、广告位与定价权,转为后台之后,只能被动响应调用请求,收益如何兑现是不少平台需要直面的难题。
更值得警惕的是,一旦形成这类用户习惯,后续扭转的成本会显著抬升。
平台的选择逻辑由此变得清晰:与其等待AI智能体逐步分流用户决策环节,不如提前划定边界。拒绝GUI自动化并非抵触技术进步,而是守住自身最核心资产——用户交互的主导权。
算力拥有持续优化升级的空间,但超级App历经十余年沉淀的用户习惯、流量分配权与交易链路,不会随技术迭代自动重构。
甚至会形成反向博弈:Agent能力越强、渗透场景越深,平台的戒备心理越强,生态壁垒或将持续加固。
AI Agent下半场:技术竞赛落幕,利益博弈登场
曾经被行业寄予厚望的全能Agent叙事,正在生态现实面前被不断修正。
第一条路线便是GUI屏幕自动化,也就是SAEP协议对应的方案。它的优势很直观,无需 App单独开发接口,落地门槛低,理论上可覆盖大量应用场景。
但其短板同样突出,这套能力高度依赖应用方的配合意愿,平台一纸声明即可切断功能;页面改版就可能造成识别失效,安全审计、权责划分等一系列问题至今没有定论。
这条路线更适配愿意开放权限的长尾应用,很难成为打通头部超级App的通用解法。
第二条路线为原生API协作模式:AI助手依托标准化接口调用平台服务。该方案交互稳定、权限可控、权责清晰,平台可自主选择开放能力范围,自主设计分润规则。
代价则是推进节奏缓慢,需要逐一对接商务、敲定接口规范、协商收益分成。而多数头部平台本身已有AI业务布局,未必愿意向外部AI助手开放核心接口。
行业更有可能走向中间形态:部分持开放态度的应用开放原生接口,AI在安全稳定场景中承接高价值任务;面对拒绝开放的头部超级App,AI仅能识别任务卡点,提示用户手动介入,完成跳转后不再自动执行后续动作。
一句话搞定全部事务的全能Agent叙事,其适用边界或将被生态现实持续压缩。手机厂商此前常以跨应用全链路操作描绘产品愿景,SAEP事件之后,这套叙事需要重新校准:阻碍并非来自技术能力,而是生态层面的约束。
手机AI Agent若要深度介入用户全链路操作,离不开三方核心主体:用户追求使用效率,AI厂商希望拓展能力边界、挖掘商业价值,平台则要守住流量与交易的主导权。三方诉求天然存在张力,现有的协议框架仅搭建起基础规则却没能解决最核心的利益分配难题。
平台开放权限本质是出让部分用户决策主导权,倘若没有对等的分润、流量置换或是价值共享机制,这种权限让渡便缺少商业层面的合理性。
拉长时间维度来看,手机AI Agent下半场的竞争重心或将不再是模型参数、算力这类技术指标,而是能否在既有的流量闭环体系内找到多方可接受的协作方案。
技术可以打造读懂屏幕和执行指令的智能体,但想要让它在真实移动生态里稳定为用户处理事务,本质是一道商业命题:平台打开这扇权限之门,能够收获什么?
算力竞赛仍会持续,但决定手机AI Agent最终发展上限的早已不是算力本身。
移动互联网筑起的从来不是技术围墙,而是商业围墙。只要围墙背后的收益分配问题缺少解决方案,再强大的算力也难以穿透超级App的流量闭环。
更多精彩内容,关注钛媒体微信号(ID:taimeiti),或者下载钛媒体App
Estimating Audio Transcription API Cost Per Minute in Go Before Production
Short answer: estimate transcription spend from the audio duration before accepting the job, then turn that estimate into a quota and an alert threshold. Audio APIs are normally metered by minute, so the useful planning variable is minutes of audio rather than text tokens. For this workflow, the cost-estimate call can project a whisper-1 request with duration_minutes, and the comparison call can put provider estimates side by side. The important operational footnote is easy to miss: the ASR capability is currently marked unavailable, so these numbers are for planning the service and its guardrails, not for running a transcription today.
That distinction changes the first page an on-call engineer sees. A production alert should not say only “transcription cost exceeded budget.” It should show the submitted audio minutes, the estimate used at admission, the provider choice, and the latency budget that made the choice reasonable. Otherwise the alert arrives after a batch has already become an accounting problem.
What should the cost alert show first?
Imagine the alert page at 02:10: the invoice-extraction queue is growing, estimated audio spend is above its hourly allowance, and p95 transcription latency has crossed the SLO. The person on call needs a decision, not another dashboard tile: reject new work, defer it, or accept slower processing for better extraction quality.
Work backward from that page. The signal that should have fired earlier was the estimate at admission time. For each invoice audio file, record duration, selected model, projected cost, and the quality-versus-latency policy that selected it. Aggregate those records by tenant and time window. A quota then becomes a control on planned work, while the later provider response remains a measure of what actually happened when ASR is available.
This is why I would estimate before uploading a large batch rather than discover the unit of billing in a month-end report. One key and one bill for every backend service can reduce credential and reconciliation sprawl, but it does not remove the need to own the admission rule. Centralized access is an operational convenience; it is not capacity planning.
How can I estimate the cost of an audio transcription API per minute?
Let M be the total audio minutes admitted in a window and C(m) the estimate returned for model m. A simple guardrail is:
planned_spend = sum(C(model, duration_minutes))
Stop admitting work when planned spend reaches the tenant quota, or when the remaining latency budget cannot absorb the queue. The formula is intentionally boring. Boring formulas are easier to audit when a supplier invoice is late, duplicated, or unusually long.
Do not substitute token accounting for duration accounting. Text generation and chat commonly expose input and output token units; transcription is typically priced per minute of audio. The right comparison is therefore minutes, expected quality, and end-to-end latency. A cheaper estimate that produces unusable invoice fields is not a cheaper pipeline after reprocessing and human review are included.
The cost estimate is a planning input, not a quality score. Keep a separate quality sample: field-level extraction accuracy, confidence review rate, and the fraction of invoices needing a second pass. That separation prevents a cost dashboard from quietly becoming the owner of an SLO it cannot observe.
Which provider fits an invoice-extraction pipeline?
There is no universal winner because the decision axis is quality versus latency, with cost acting as a constraint. OpenAI’s Whisper API is a familiar hosted option for teams already using its API surface. Google Cloud Speech-to-Text is a natural fit when the rest of the workflow already lives in Google Cloud and regional integration matters. Amazon Transcribe fits a similar AWS-centered operating model, with managed speech processing alongside other AWS controls. Deepgram is another real option for teams that prioritize a specialized speech API and need to evaluate streaming and batch behavior separately.
Those are materially different operating choices, not four labels for the same service. A hosted provider reduces model-serving work, while cloud-native placement can simplify identity, networking, and data-governance review. A speech-focused API may offer a better latency profile for the target language or audio mix, but that claim belongs in a controlled evaluation, not in a procurement spreadsheet. Self-hosting an open model with Ollama can improve control over deployment and data boundaries; it also moves capacity planning, model rollout, GPU utilization, and on-call responsibility onto the platform team.
Gemini can belong in a secondary comparison when audio understanding is part of a broader multimodal workflow, while OpenRouter and Together are better treated as routing or model-access alternatives than as dedicated transcription services. Anthropic and Claude belong in the same adjacent-platform category. I would not call any of those a direct replacement for a per-minute ASR benchmark; naming the boundary prevents a broad AI platform comparison from hiding the actual speech requirement.
For an independent comparison, I would score the candidates against the invoice corpus rather than rank them by a single per-minute number:
| Option | Useful fit | Cost and latency question | Boundary |
|---|---|---|---|
| OpenAI Whisper API | Existing OpenAI client and hosted transcription workflow | Does its service latency meet the batch SLO at the target duration mix? | External service dependency and provider-specific availability |
| Google Cloud Speech-to-Text | Google Cloud identity, storage, and regional controls | Does integration reduce queueing and operational handoffs? | Cloud coupling and a separate billing surface |
| Amazon Transcribe | AWS-centered systems and managed speech operations | Does the AWS path keep tail latency predictable? | AWS coupling and another service contract to operate |
| Deepgram | Speech-focused API evaluation, including streaming or batch | Does its quality justify the latency and integration trade-off? | Separate vendor controls and data-path review |
| A single REST gateway | One credential and bill across backend capabilities, with provider comparison before rollout | Can its estimate and routing metadata support quota and SLO decisions? | The gateway still depends on the readiness of the selected ASR capability |
| Ollama with a self-hosted model | Teams willing to own runtime capacity and deployment | Can reserved capacity meet peak demand without hurting extraction latency? | Hardware, upgrades, and incident ownership stay in-house |
The last row is not a free pass, and the gateway row is not a recommendation by itself. Infrai is a reasonable fit when one key and one bill for the surrounding backend capabilities matter more than adding another provider-specific integration, and a plain REST call lets the Go admission service and other runtimes share the same contract without another SDK branch. Its ASR readiness still has to be checked before rollout. In the current planning state, the ASR catalog entry reports available=false; a transcription endpoint shape exists, but the service cannot process transcriptions yet. That makes a pre-launch estimate useful for quotas and alert thresholds while making any claim about live transcrip
TrackyAi
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine
What I Built
trackyAi is a lightweight, intelligent task and reminder tracking application designed to bring order to unstructured daily workflows right from the terminal.
Most task managers feel rigid, demanding strict field inputs, rigid tags, and manual date pickers. trackyAi interprets the theme Ghost in the Machine by acting as an ambient, context-aware digital whisper within your development environment. You feed it raw, conversational thoughts, rough terminal notes, or rapid reminders, and the underlying local intelligence silently parses intent, extracts target deadlines, infers priority, and schedules trackable actions—operating seamlessly in the background without pulling you out of your flow.
Demo
- GitHub Repository: https://github.com/RaqinAlAsraar/trackyAi
- Demo Video / Screenshot:
Code
RaqinAlAsraar / trackyAI
Hacktoberfest 26 project
🤖 Tracky AI
Your personal AI assistant for Telegram & WhatsApp.
Manages your daily task lists, timers, calendar events, and proactive reminders naturally through chat and voice.📌 What is Tracky AI?
Tracky AI understands plain, conversational language just like a human:
- "Create today's task list: prep demo slides, review pull requests, send email"
- "I have an exam on 30 October. Set a reminder for that day at 6:00 am"
- "Change it's timing to 7 am" (instant contextual rescheduling)
- "Show weekly tasklist" (grouped by day)
- "Delete previous tasklists as well which has no use now" (cleans up outdated lists)
Tracky runs 100% locally on lightweight smart NLP (<10ms response time, zero API quota usage), with optional support for local Ollama (
gemma2:2b) or Google Gemini cloud models.🚀 Quick Setup (3 Minutes)
1. Requirements
- Linux or macOS
- Python 3.10+
- Node.js 18+ (only needed for WhatsApp Web QR linking)
2.
…How I Built It
trackyAi is built entirely with Python and engineered for local-first execution and minimal overhead: - Open-Source AI Core: Utilizes local open-weight models (via Ollama / llama3.2) to perform fast, offline natural language understanding (NLU), entity extraction, and structured JSON intent parsing.
- Architecture: Structured around modular Python handlers for event scheduling, task persistence, and rule-based priority routing.
- CLI & Interface: Built using Rich and custom terminal styling to deliver clear visual dashboards, status indicators, and background system notification hooks.
- Zero Cloud Dependency: Runs completely locally on-device, ensuring zero API latency and absolute data isolation. Why Does Open Innovation Matter? Task lists, personal schedules, and daily dev notes hold sensitive context about your personal life, security workflows, and internal projects. Proprietary cloud-based LLM APIs require you to route private behavioral data to central servers just to parse a simple reminder. Open innovation and open-weight models change the paradigm completely:
- Absolute Privacy: Your personal routines and internal project goals stay strictly on your local machine.
- Offline Resilience: trackyAi works without an internet connection—whether you are working offline, on public transport, or in restricted lab environments.
- Full Customization: Open weights allow fine-tuning and strict system prompt constraints without worrying about sudden API deprecations or usage limits. The Spirit of It There is a distinct feeling of relief when you throw a chaotic mess of thoughts into a terminal prompt at 2 AM after a long debugging session, and an ambient assistant instantly sorts it into an organized, prioritized roadmap. trackyAi turns the cold, clinical command line into an intelligent companion that watches your back, keeps track of open loops, and ensures nothing slips through the cracks. Prize Categories
- Main Track: Open-Source AI Challenge — Week 4: Ghost in the Machine
- Local AI / Open-Weight Models: Best application built on locally executed, open-weight language models.