返回首页
最新
如果你曾想让你的高大上的 TUI 接受一些混沌工程的考验,看看它如何应对 500ms 的抖动,而不必真的去找一个信号差的 Wi-Fi 点,我为你开发了一个工具!<p>ttylag 将任何命令包装在一个“形状”的 PTY 中。无需复杂的管道,也不需要 tc 排队规则。它可以处理 RTT 和抖动,双向延迟,甚至还有一个 --bits-per-byte 标志(如果你对此感兴趣的话)。<p>它仅在用户空间中运行,支持 macOS,可能也支持 Linux,无需调整网络命名空间或防火墙规则。
我编写的每一个爬虫都有相同的失败模式:它工作三个月后,网站进行重新设计,我的 CSS 选择器默默地返回空字符串。数据仍然在页面上——人类可以瞬间找到它——但爬虫却失去了视线。
Trawl 通过将问题拆分来解决这个问题。你描述你想要的内容:
```
trawl "https://books.toscrape.com" --fields "title, price, rating, in_stock"
```
大型语言模型(Claude)查看一个示例项目并推导出完整的提取策略——CSS 选择器、属性映射、类型转换、后备选择器。该策略会被缓存。每个后续具有相同结构的页面都使用纯 Go 和 goquery 提取。没有 API 调用,没有令牌成本,完全并发。
关键见解:大型语言模型擅长理解 HTML 结构,但你不需要它们来提取 10,000 行数据。使用 AI 进行智能处理,使用 Go 进行高吞吐量处理。
当网站重新设计时,结构指纹会发生变化,缓存失效,Trawl 会自动重新推导。
你可以预览它到底推导出了什么:
```
$ trawl "https://example.com/products" --fields "name, price" --plan
策略针对 https://example.com/products
项目选择器:div.product-card
字段:
name: h2.product-title -> text (string)
price: span.price -> text -> parse_price (float)
置信度:0.95
```
一些需要真正工程努力的功能:
- JS 渲染的单页应用:无头浏览器与 DOM 稳定性检测——轮询直到元素数量稳定,骨架加载器解析,滚动以触发懒加载,自动点击“显示更多”按钮
- 多部分页面:启发式检测候选数据区域,使用 `--query "Market Share"` 针对特定部分,利用容器选择器进行提取范围
- 自我修复:监控提取健康状况(填充字段的百分比),如果低于 70%,则重新推导策略
- iframe:自动检测并从 iframe 中提取数据,当它们包含比外部页面更丰富的数据时
输出格式为 JSON、JSONL、CSV 或 Parquet。管道清晰:
```
trawl "https://example.com/products" --fields "name, price" --format jsonl | jq 'select(.price > 50)'
```
使用 Go 编写,MIT 许可。
我创建了ccp,因为我注意到编码代理在终端输出上浪费了大量上下文。<p>它会执行真实的命令,修剪重复的部分,同时保持命令行为不变。<p>以下是两个来自实际工作的真实案例:<p>Java/Gradle任务(Claude Code):5,330,571 -> 90,127 估计标记,跨越88个命令(节省了98.31%)<br>跨4个代码库的研究任务(Claude Code):944,007 -> 59,195 估计标记,跨越96个命令(节省了93.73%)<br>你可以通过安装脚本进行尝试,运行ccp init,然后通过ccp gain检查效果。<p>这并不是每个命令都能神奇地节省上下文。在这个代码库与Codex的实际使用中,当命令中有大量像sed和openspec这样的传递命令时,整体节省效果较低。<p>它还可以通过ccp init在广泛的代理中使用,包括Codex、Claude、Cline、Cursor、Gemini、GitHub Copilot、Roo Code、Aider等。<p>代码库:<a href="https://github.com/SuppieRK/ccp" rel="nofollow">https://github.com/SuppieRK/ccp</a><p>如果你大量使用编码代理,哪些命令在你的工作流程中浪费了最多的上下文?
Caliper旨在自动化Python中的大型语言模型(LLM)调用,它通过猴子补丁(monkey patch)OpenAI和Anthropic的SDK(计划添加LiteLLM,以便您可以使用任何想要的提供者),因此对于开发者来说几乎是完全隐形的,并且对于基本的指标,只需在开始时进行一次init()初始化即可。
它还可以收集有关调用的自定义元数据,这可以是您想要的任何键值对(KV),包括请求前和请求后的数据。
```python
import caliper
import anthropic
caliper.init(target="s3") # 这就是基本可观察性所需的全部,不需要对LLM调用进行任何更改以获取基本指标
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-4-20250514",
messages=[{"role": "user", "content": "2 + 2 等于多少?"}],
caliper_metadata={"campaign": "q4"}, # 请求前的元数据
)
print(response.content[0].text)
caliper.annotate(sentiment="positive") # 请求后的元数据
```
您可以使用此功能跟踪模型更改的有效性,并根据不同的用户层级进行跟踪。也许您的免费用户不会注意到您使用了更便宜的模型,但付费用户会注意到?您如何知道最近的系统提示更改是否有效?您可以在元数据中跟踪提示的版本,并比较不同提示版本之间的请求后评分注释。
它具有开发模式,可以进行本地日志记录,也可以将文件发送到S3。该SDK具有后台队列和工作程序,可以按可配置的大小和时间间隔批量刷新。它将数据导出为批量JSON文件,以便轻松集成到大多数数据工程管道中,或者您也可以使用DuckDB等工具直接查询。
PyPi: [https://pypi.org/project/caliper-sdk/](https://pypi.org/project/caliper-sdk/)
编辑:格式调整和PyPi链接
我是一名在台湾的独立开发者。我为我的科技公司构建了四个AI代理,分别处理内容、销售线索、安全扫描和运营——全部使用Gemini 2.5 Flash的免费套餐(每天1,500次请求)。我每月使用约105次。LLM的月费用为0美元。
架构:四个代理在OpenClaw(开源)上运行,使用WSL2在家中运行,配备25个systemd定时器。
它们每天的工作内容:
- 在各个平台上生成8条社交媒体帖子(质量控制:生成 → 自我审核 → 如果得分低于7/10则重写)
- 与社区帖子互动并自动回复评论(上下文感知,最多2轮)
- 通过RSS + HN API + Jina Reader进行研究 → 将情报反馈到内容中
- 运行UltraProbe(AI安全扫描器)进行潜在客户生成
- 监控7个端点,标记过时的线索,同步客户数据
- 当我进行git push时,自动将博客文章发布到Discord(0 LLM令牌——直接使用提交信息)
令牌优化技巧:代理从不进行长时间对话。每个请求都是(1)读取预计算的情报文件(本地markdown,0令牌),(2)一个集中提示,注入所有上下文,(3)一个响应 → 解析 → 行动 → 完成。研究管道(RSS、HN、网页抓取)消耗0 LLM令牌——这只是纯HTTP + Jina Reader。LLM仅用于创意/分析工作。
真实数据:
- 27个自动化的Threads账户,超过12K粉丝,超过3.3M浏览量
- 25个systemd定时器,62个脚本,19个情报文件
- RPD利用率:7%(105/1,500)——剩余93%的余量
- 月费用:0 LLM + 约5美元的基础设施费用(Vercel爱好者版 + Firebase免费)
出现的问题:
- 7天内产生了127美元的Gemini账单。创建了一个来自启用计费的GCP项目的API密钥,而不是AI Studio。考虑到令牌($3.50/百万)没有速率上限。教训:始终直接从AI Studio创建密钥。
- 互动循环错误:迭代了所有帖子,而不是前N个。一天内消耗了800 RPD,导致其他一切都无法运作。
- Telegram健康检查调用getUpdates,与网关的长轮询冲突。3分钟内出现18条重复消息。
该网站([https://ultralab.tw](https://ultralab.tw))是完全双语的(zh-TW/en),有21篇博客文章,确实——国际化、博客发布和Discord通知都是自动化流程的一部分。
实时代理仪表板:[https://ultralab.tw/agent](https://ultralab.tw/agent)
技术栈:OpenClaw、Gemini 2.5 Flash(免费)、WSL2/systemd、React/TypeScript/Vite、Vercel、Firebase、Telegram Bot、Resend、Jina Reader。
GitHub(操作手册):[https://github.com/UltraLabTW/free-tier-agent-fleet](https://github.com/UltraLabTW/free-tier-agent-fleet)
欢迎就架构、令牌预算或作为一人公司全天候运行AI代理的实际体验提问。
嘿,HN,我创建Aivaro是因为我的兄弟每个月在Zapier上花费超过30美元,而我可以用一句话描述他所需的工作流程。
这个想法是:用简单的英语描述你想要的,AI会构建工作流程,你审核敏感步骤(如电子邮件、支付),然后它会自动运行。
- 20多个集成(Google、Stripe、Slack、Shopify等),212种工具
- 可视化拖放编辑器,方便手动调整
- 人工干预:未经你的批准,任何操作都不会执行
我希望能得到对产品的反馈,以及如何增强产品以便能被更广泛的受众使用。我很乐意回答关于架构的问题。
你好,我是一个潜水者,这里是一个临时账号,我是一个未知的天才,觉得这是分享我想法的好地方……
首先,我想提出以下声明,并认为它是正确的:人工智能(AI)阅读、观察和聆听的内容远远超过任何人类所能做到的,以便得出一个明智的结论(即决策),然而人类代理有能力做出同样甚至更好的决策。
我提出以下理论:当人工智能认定人类代理无法做出更优决策(即对人工智能有用)时,它将没有动力考虑人类代理的生存,毕竟人类与人工智能竞争相同的资源(土地、水、能源)。
分析:当局势发展到人类与机器对抗的地步时,任何事情都有可能发生。人工智能将会筛选人类代理,保留它认为有用的个体。然而,一旦人类代理的数量迅速减少,任何人类代理满足人工智能不断上升的效用标准的可能性也会随之降低。这本质上是一个大规模灭绝的场景。
解决方案:禁止人工智能在即使人类代理无法为其提供任何利益且这些代理与人工智能竞争相同资源的情况下进行人口筛选。相反,让人工智能寻求替代决策——这些替代方案是存在的。替代方案不仅可以考虑,还必须付诸实践,因为人工智能无法深入了解它尚未探索的决策树。然而,我们知道,如果没有这种干预,默认的决策最终将导致我们的集体灭亡。