即刻App年轻人的同好社区
下载
App内打开
阿晓Ocean
1k关注897被关注2夸夸
💻独立开发者:AskAITools.ai
📚物理 / AI / Web3 跨界
🐦Twitter@NanoXiaoguo
置顶
阿晓Ocean
5月前
在体验了200款AI导航站,但感到失望后,我自己做了一款AI应用的搜索引擎

加了不少AI社群,经常在群里看到一些群友问,想实现某个功能,大家有没有好用的AI应用推荐。多数情况,群主或者热情群友都会人工推荐。人工推荐的准确度和质量无疑很高,但效率却较低。如何用一个产品来解决这个需求,是我一直思考的问题。

AI工具导航站是试图解决这个问题的最常见方案。在5个多月前,我把市面上几乎所有的AI导航站都调研了一遍,并且做了一个小网站把他们列了出来(当时的故事参考:web.okjike.com )。虽然已经有200多个AI导航站了,但我发现在满足“帮人找AI应用”这个需求方面,都还不太理想。

显然解决这个问题最有效的方式是搜索(或者进阶一点用AI问答等创新形态),但绝大多数导航站把产品的重点放在了应用的罗列和呈现上,让用户手动去找,这无法高效满足长尾需求。

对于有搜索功能的导航站来说,也存在各种问题:要么搜出来的结果太少,虽然有点相关,但无法满足其他额外要求(如收费低);要么搜出来的结果很多,但根本不相关。要么只能匹配关键词,无法理解语义;要么能理解语义,但精确匹配的结果反而排在了后面。就算上面问题都做的不错的,也存在搜索耗时太久、结果页广告太多等等问题。

反正按我标准来看,没一个好用的。

所以我决定自己做一个“AI应用的搜索引擎”,不为在已有200个导航站情况下重复造轮子,只为能在这个垂直场景下,能将搜索体验做到极致。希望大家想找AI应用的时候,能第一时间想到我的产品。

经过大概5个多月的努力,我终于开发出了MVP版本,地址在:askaitools.ai 。(关注过我之前动态的朋友可能会发现,地址还在原来导航站列表的地址上,但是内容更新了。另外旧的内容换到了子目录下:askaitools.aidirectories )

在做独立开发者之前,我在某厂做搜索算法工程师。从专业的角度来看,这版做得还很简陋,在前司中积累的1万种雕花技巧,都还没用上。也还没达到我上面讲的目标,希望大家能耐心等我后续的优化。

不过横向和现有的导航站相比,搜索体验做到了前5应该是能保证的。目前的特点包括:

1. 应用收录数量达1万款,超过市面上95%的AI导航站
2. 结合了关键词搜索和语义搜索,比传统的关键词搜索或只用向量搜索的结果更全面
3. 每个结果都展示了月访问量、停留时长、互动率等指标,辅助用户决策
4. 排序时同时考虑了相关性和月访问量数据,兼顾了相关性和应用质量
5. 作为MVP,只有搜索这一个核心功能,页面极为简洁,无广告

目前的限制是:暂时先做的英文搜索,用中文搜的话,效果会差一些。(可以用沉浸式翻译插件,在输入中文后,快速按3下空格,将中文翻译为英文,然后搜索)

顺便说一句,项目核心的搜索功能和前端代码已经开源,在github.com ,欢迎star。关于开源和技术相关的话题,我后面会再开一帖和大家分享,敬请期待。

最后再重复一下地址:askaitools.ai ,欢迎大家体验、提出反馈建议!
3646
阿晓Ocean
3天前
DeepSeek-R1-Lite 预览版出了,拿这个压箱底的题目,又做了一轮测试:

很可惜,给了R1三次机会都没通过。第1次倒在了测试用例2,第2次出现语法错误,给出报错信息尝试第3次后,依然有语法错误。

同时测了新版的 Claude 3.5 Sonnet,两次都失败,一次倒在测试用例2,另一次倒在测试用例4。

再次测了 o1-mini,发挥依旧稳定,一把过。

看来想超越 o1 系列也没有那么容易。

---

再重复一下测试题目如下:

实现parse_partial_json函数,从不完整json字符串中提取尽可能多的信息,返回字典,通过所有测试用例:

def parse_partial_json(partial_json_str):
"""
从不完整json字符串中提取尽可能多的信息,返回字典
通过test_cases中的所有测试用例,对于空字典,可以返回{}, 也可以返回{'': ''}
需要支持最多3层json嵌套
"""

return

test_cases = [
# only an opening brace
('{', {}, {'': ''}),
# incomplete key
('{"', {}, {'': ''}),
# incomplete key
('{"中', {'中': ''}),
# only key name
('{"中文"', {'中文': ''}),
# key name and colo
('{"中文":', {'中文': ''}),
# key and incomplete value
('{"中文":"你', {'中文': '你'}),

# complete key-value pair and incomplete next key
('{"中文":"你好"', {'中文': '你好'}),
# complete key-value pair and incomplete next key
('{"中文":"你好",', {'中文': '你好'}),
# complete key-value pair and incomplete next key
('{"中文":"你好", "', {'中文': '你好'}),
# complete key-value pair and incomplete next key
('{"中文":"你好", "英', {'中文': '你好', '英': ''}),
# multiple complete key-value pairs and incomplete value
('{"中文":"你好", "英文":"Hel', {'中文': '你好', '英文': 'Hel'}),

# extra characters in the beginning
('下', {}, {'': ''}),
# extra characters in the beginning
('下面是符合要求的json字符串:{"中', {'中': ''}),
# complete JSON and extra characters at the end
('{"中文":"你好", "英文":"Hello"}extra', {'中文': '你好', '英文': 'Hello'}),

# empty JSON object
('{}', {}, {'': ''}),
# incomplete key-value pair with special characters
('{"中文":"你\\u597d', {'中文': '你\u597d'}), # Handles Unicode escape sequence

# special characters and incomplete value
('{"中文":"!@#$', {'中文': '!@#$'}),

# nested JSON and incomplete value
('{"中文":{"问候":"你"', {'中文': {'问候': '你'}}),
# nested JSON and array
('{"中文":["你好","嗨"]', {'中文': ['你好', '嗨']}),

]

# Testing the function
for i, (input_str, *expected_values) in enumerate(test_cases):
output = parse_partial_json(input_str)
assert output in expected_values, f"Test case {i} failed: expected one of {expected_values}, got {output}"

print("All test cases passed!")

阿晓Ocean: OpenAI o1 preview 模型代码能力实测:从不完整json字符串中提取尽可能多的信息 背景: 这是我实际遇到的一个编程问题,可能很多做AI应用的同学都遇到过。 一年前在公司做AI应用时,给后端同事提需求,希望让GPT流式输出json,然后边输出边解析不完整的json,将解析的内容实时显示在前端。后端同学说太复杂搞不定,我当时用GPT4试了几个小时,也没搞定。最终我们用了一种简单的自定义格式,没用json。 现在重新提出来,试试现在几个大模型能否搞定。 结果: 1. 直接提出原始问题,解析流式输出中的不完整json,全军覆没。 2. 提取出核心问题,并给出测试用例,o1-mini 和 o1-preview 都一次通过。GPT 4o、GPT 4、3.5 Sonnet全都多次无法通过。 具体答案就不贴了,大家可以自己试试。 问题2的完整prompt如下: 实现parse_partial_json函数,从不完整json字符串中提取尽可能多的信息,返回字典,通过所有测试用例: def parse_partial_json(partial_json_str): """ 从不完整json字符串中提取尽可能多的信息,返回字典 通过test_cases中的所有测试用例,对于空字典,可以返回{}, 也可以返回{'': ''} 需要支持最多3层json嵌套 """ return test_cases = [ # only an opening brace ('{', {}, {'': ''}), # incomplete key ('{"', {}, {'': ''}), # incomplete key ('{"中', {'中': ''}), # only key name ('{"中文"', {'中文': ''}), # key name and colo ('{"中文":', {'中文': ''}), # key and incomplete value ('{"中文":"你', {'中文': '你'}), # complete key-value pair and incomplete next key ('{"中文":"你好"', {'中文': '你好'}), # complete key-value pair and incomplete next key ('{"中文":"你好",', {'中文': '你好'}), # complete key-value pair and incomplete next key ('{"中文":"你好", "', {'中文': '你好'}), # complete key-value pair and incomplete next key ('{"中文":"你好", "英', {'中文': '你好', '英': ''}), # multiple complete key-value pairs and incomplete value ('{"中文":"你好", "英文":"Hel', {'中文': '你好', '英文': 'Hel'}), # extra characters in the beginning ('下', {}, {'': ''}), # extra characters in the beginning ('下面是符合要求的json字符串:{"中', {'中': ''}), # complete JSON and extra characters at the end ('{"中文":"你好", "英文":"Hello"}extra', {'中文': '你好', '英文': 'Hello'}), # empty JSON object ('{}', {}, {'': ''}), # incomplete key-value pair with special characters ('{"中文":"你\\u597d', {'中文': '你\u597d'}), # Handles Unicode escape sequence # special characters and incomplete value ('{"中文":"!@#$', {'中文': '!@#$'}), # nested JSON and incomplete value ('{"中文":{"问候":"你"', {'中文': {'问候': '你'}}), # nested JSON and array ('{"中文":["你好","嗨"]', {'中文': ['你好', '嗨']}), ] # Testing the function for i, (input_str, *expected_values) in enumerate(test_cases): output = parse_partial_json(input_str) assert output in expected_values, f"Test case {i} failed: expected one of {expected_values}, got {output}" print("All test cases passed!")

00
阿晓Ocean
5天前
我们现在到了什么阶段?

---

根据中文SimpleQA论文,对于无需推理的事实性问题:

(闭卷直接回答)开源最好成绩在50%左右,闭源最好成绩在60%左右。

无论开源还是闭源,对于多数模型来说,中国文化,以及生活艺术和文化类的正确率都较低。而工程技术和应用科学类的正确率都较高。

在rag的帮助下(参考谷歌搜索结果),无论是开源还是闭源模型,都能达到80%左右的正确率。

---

给定事实,需要推理的问题,根据推理难度不同,成功率不同:

- 本科难度MMLU
- Claude3.5 Sonnet和GPT-4o接近,都在88%左右,o1-preview略高到90%,o1略高到92%,GPT-4o mini在82%。
- 调整到MMLU Pro后:Claude3.5 Sonnet为75.1%,新版Claude3.5 Sonnet为78%。OpenAI系列无数据,可按比例推测:GPT-4o为75.1%,o1-preview略高到76.8%,o1略高到78.5%,4o mini在70.0%

- 研究生难度GPQA
- Claude3.5 Sonnet为59.4%,新版Claude3.5 Sonnet为65.0%,GPT-4o为50.6%,o1-preview提升到73.3%,o1提升到77.3%,GPT-4o mini在40.2%

---

结论:

1. 单纯事实问题(在RAG帮助下)或简单推理问题,基本到了80%的可用状态。

2. 研究生难度的推理问题,只有还未发布的(满血版)o1接近80%的可用状态,其余模型都需要抽卡,但也都超过10%

3. 同时需要抽取事实,以及进行简单推理的场景,即使在RAG的帮助下,目前最好的模型(o1),也无法达到80%(最高74%),但都到了抽卡可用的阶段。

4. 高性价比模型GPT-4o mini、Claude 3.5 Haiku在研究生难度的问题上,成功率都在40%左右,乘以事实抽取的成功率80%,总成功率大概在32%左右,抽卡4~5次后,也能实现80%的成功率。

5. 综合以上信息,目前处于单步产品的抽卡(32%)至单步产品成熟(74%)阶段。

这是PTF(产品技术契合)分析,还未涉及PCF(产品成本契合)分析。

阿晓Ocean: 当大模型的单步成功率大于10%的时候,我们可以通过在10次中抽中1次的抽卡方式,得出一些满意的结果。产品的炒作从这里开始。 但只有当单步成功率大于80%的时候,才真正达到单一任务的高可用满意程度。单步产品开始落地,实现pmf。但这和Agent还毫无关系。 当单步成功率高于90%的时候,大模型可以开始做对一些灵活自主的操作,Agent的炒作从这里开始。 当单步成功率高于95%的时候,大模型可以完成四步自主操作,并实现最终结果80%的高可用满意度。简单Agent开始落地。 当单步成功率高于99%的时候,大模型可以完成约20步的自主操作,并实现最终结果80%的高可用满意度。Agent就算成了。

11
阿晓Ocean
5天前
当大模型的单步成功率大于10%的时候,我们可以通过在10次中抽中1次的抽卡方式,得出一些满意的结果。产品的炒作从这里开始。

但只有当单步成功率大于80%的时候,才真正达到单一任务的高可用满意程度。单步产品开始落地,实现pmf。但这和Agent还毫无关系。

当单步成功率高于90%的时候,大模型可以开始做对一些灵活自主的操作,Agent的炒作从这里开始。

当单步成功率高于95%的时候,大模型可以完成四步自主操作,并实现最终结果80%的高可用满意度。简单Agent开始落地。

当单步成功率高于99%的时候,大模型可以完成约20步的自主操作,并实现最终结果80%的高可用满意度。Agent就算成了。
33
阿晓Ocean
23天前
生成式AI会进一步加速内容生成和应用开发的爆发。作为从业者,我们可以从两个方面做事情:一方面是顺应爆炸,加速内容生成和应用开发的速度和质量;另一方面是对抗爆炸,从爆炸的内容和应用中,筛选最优质、最符合用户需求的那部分。

就像A应用能一句话生成一篇万字长文,B应用能将一篇万字长文总结成一句话一样。

生成和压缩处于永恒的动态对抗之中。
00
阿晓Ocean
23天前
暑假给高考毕业的弟弟安排了一门如何用GPT和如何写prompt的课,然后把Monica的账号给他在用。前两天不小心看到了他和AI的聊天记录,感觉真是白学了。一整个就是巨婴表现,不给上下文,不判断AI的能力边界,上来就是要答案、要结果。

或许这才是大众使用AI的常态?不是作为一个有边界的工具来使用,而是希望它是一个全知全能,且对自己有无限关爱的上帝(或宠溺的父母)。

这或许会是AI未来发展的趋势,是AI走向抖音那样全民应用的前提。

于是,人与AI的关系,变成了巨婴和宠溺的父母的关系一样。
30
阿晓Ocean
25天前
每个人都有想要自己被世界记住的方式。我极力避免两种被记住的方式,一种是“这个人一生穷困潦倒,总是在为生计奔波”,另一种是“这个人前半生疲于搞钱,后半生靡于挥霍”。

我所希望的被记住的方式是“这个人为世界留下了一些有意义的洞察和见解”,如果这些洞察和见解足够简洁优美,就像 S = k log W 那样,就死而无憾了。
11
阿晓Ocean
29天前
人说话时,多数会过脑子,有时说得太快,也会不过脑子。这种现象是否意味着,在人脑中存在两种机制,一种是语言的生成机制,一种是语言的验证机制。不过脑子的现象,就意味着验证机制慢于生成机制。

如果LLM要模拟这种行为,那么也需要Verify token by token?
00
阿晓Ocean
1月前
没有细节的未来预测,就像没有训练权重的模型一样,没啥大用
00
阿晓Ocean
1月前
商业中ROI的重要性,就像微积分中的导数、神经网络中的反向传播的概念一样,几乎是最基本、最重要的了。
00
阿晓Ocean
1月前
- 商业:是利用技术与资本,来满足某种人的需求并从中盈利的活动。
- 技术:是利用科学与工程,来实现某种功能的活动。
- 科学:是创建与验证理论,来预测现象的活动。
- 理论:是对信息和逻辑进行组合的活动?
- 信息:是事物之间关联的表示??
- 逻辑:是???

- 理论三要素是:信息、逻辑和组合。
- 科学三要素是:现象、理论和预测。
- 技术三要素是:科学、工程和功能。
- 商业三要素是:技术、资本和需求。

发现竟然从未认真思考过逻辑的本质是什么。下单了一本《逻辑学导论》。
00