我在工作中一直在构建人工智能代理,最难的部分并不是提示或协调,而是在生产环境中回答“这个代理真的好吗?”这个问题。
追踪可以告诉你发生了什么。但我想知道发生得有多好。因此,我构建了Auditi——它捕获你的LLM(大语言模型)追踪和跨度,并使用LLM作为评判者加上人工注释工作流自动评估它们。
开始的两行代码:
```python
auditi.init(api_key="...")
auditi.instrument() # 对OpenAI/Anthropic/Gemini进行猴子补丁
```
每个API调用都会捕获完整的跨度树、令牌使用情况和成本。对你现有的LLM调用没有代码更改。
有趣的技术点:SDK在运行时对client.chat.completions.create()进行猴子补丁(类似于OpenTelemetry自动对HTTP库进行仪器化)。它用代理迭代器包装流式响应,这些迭代器会累积内容并从最后一块提取使用情况——因此即使是流式响应也能实现完整的成本跟踪,而用户无需做任何事情。
与简单追踪的不同之处在于:
- 内置评估器——7个管理的LLM评判者(幻觉、相关性、正确性、毒性等)会自动在每个追踪上运行
- 跨度级评估——对多步骤代理中的每一步进行评分,而不仅仅是最终输出
- 人工注释队列——当你需要真实数据,而不仅仅是感觉时
- 数据集导出——注释后的追踪可以导出为JSONL/CSV/Parquet格式,以便进行微调
使用docker compose up进行自托管。
我非常希望能收到任何在生产环境中运行AI代理或LLM的人的反馈。你们实际关注哪些指标?你们如何判断一个代理的响应是否“足够好”?
GitHub: [https://github.com/deduu/auditi](https://github.com/deduu/auditi)
返回首页
最新
我正在构建一个工具,改变大型语言模型(LLM)编码代理探索代码库的方式,想与大家分享一些早期观察结果。
通常,Claude 会对目录进行全局搜索,使用 grep 查找模式,并在最小指导下读取文件。这种方式有点像你通过走遍每条街道来学习如何在城市中导航。最终,你会建立起一幅心理地图,但 Claude 永远无法做到这一点——至少在不同的上下文中不会持久存在。
麻省理工学院计算机科学与人工智能实验室的 Zhang、Kraska 和 Khattab 提出的《递归语言模型》论文引入了一种更清晰的框架。模型不再把所有信息塞入上下文,而是获得一个可搜索的环境。模型可以根据需要进行查询,并在必要时深入挖掘。
coderlm 是我对这一理念在代码库中实现的版本。一个 Rust 服务器使用 tree-sitter 索引项目,构建符号表并进行交叉引用,并暴露出一个 API。代理可以查询结构、符号、实现、调用者和 grep 结果——准确获取所需的代码,而不是进行扫描。
代理的工作流程如下:
1. `init` — 注册项目,获取顶层结构
2. `structure` — 深入特定目录
3. `search` — 按名称在代码库中查找符号
4. `impl` — 检索函数或类的确切源代码
5. `callers` — 查找调用特定符号的所有内容
6. `grep` — 在需要时回退到文本搜索
这将全局搜索/grep/读取的循环替换为基于索引的查找。服务器目前支持 Rust、Python、TypeScript、JavaScript 和 Go 进行符号解析,尽管所有文件类型都在树中显示,并可以通过 grep 搜索。
它作为 Claude Code 插件发布,带有引导代理使用索引查找而非本地文件工具的钩子,以及一个无依赖的 Python CLI 包装器。
为了获得一些经验结果,我对一个代码库运行了相同的提示,以“探索并识别澄清现有结构的机会”。
使用 coderlm,Claude 能在大约 3 分钟内生成一个计划。启用 coderlm 的实例发现了一个真正的 bug(重复的代码和相同的名称)、需要清理的孤立代码、跨模块边界的不匹配命名约定,以及重叠的词汇。这些都是明显受益于以 tree-sitter 为中心的方法的语义问题。
使用本地工具时,Claude 能识别项目根目录中的各种文件杂乱、过时的引用和迁移时间戳冲突。这些发现与对文件系统的系统性走访更为一致,花费了大约 8 分钟。
基于索引的方法在捕捉语义问题方面表现优于本地工具,并且在解决问题的速度上具有关键优势。
我已经花了一些精力来简化安装过程,但仍未做到即插即用。你需要 Rust 工具链来构建作为单独进程运行的服务器。从 Claude 市场安装插件是可能的,但该技能尚未添加到你的 .claude 中,因此在让 Claude 能够使用它之前,还有一些手动步骤。
Claude 在探索任务中对使用 CodeRLM 仍表现出显著的抵抗。通常,你需要明确指示 Claude 使用它。
---
仓库:github.com/JaredStewart/coderlm
论文:《递归语言模型》 [https://arxiv.org/abs/2512.24601](https://arxiv.org/abs/2512.24601) — Zhang, Kraska, Khattab(麻省理工学院 CSAIL,2025)
灵感来源:[https://github.com/brainqub3/claude_code_RLM](https://github.com/brainqub3/claude_code_RLM)
嗨,HN,
我多年来一直在与公寓噪音作斗争,因此我尝试设计一种机械解决方案:一个解耦的、质量负载的睡眠舱。
我深入研究了以下内容:
- 质量定律与解耦
- 建造一个原型立方体
- 意外创建了一个共鸣腔(我的原型将低音放大了约10分贝)
- 转向声学超材料(亥姆霍兹共鸣器)和参数化CAD
这个项目在安静方面最终是失败的,但在理解声学和重新获得自主感方面却是成功的。我在这里写下了物理原理、构建过程和所犯的错误。
很高兴回答有关构建的问题。
我建立了一个基于池的代理,能够破解Claude Code的定价层级。要实际使用Claude Code,你需要订阅Max,每月200美元,而大部分容量实际上都是闲置的。
因此,ClawPool允许订阅者将他们的OAuth令牌集中起来,从闲置的容量中赚取每月最高120美元。其他用户则可以以每月8美元的价格使用Opus、Sonnet及所有模型。
设置方法——他们实际上通过标准环境参数支持代理:
```
export ANTHROPIC_AUTH_TOKEN="你的池密钥"
export ANTHROPIC_BASE_URL="https://proxy.clawpool.ai"
claude
```
在空闲时间训练生存模型。因为你永远不知道。
看起来xAI正经历类似Fairchild半导体的时刻,至少有六个人发布消息表示他们将离开xAI,并且似乎他们都在一起开始新的项目。
- https://x.com/Chace_AGI/status/2021452881875141060
- https://x.com/jimmybajimmyba/status/2021374875793801447
- https://x.com/Yuhu_ai_/status/2021113745024614671
- https://x.com/C_S_Skeptic/status/2021457245805109750?s=20