Skip to content

Commit ef3027c

Browse files
authored
Merge pull request #53 from hobbytp/feat/rag_chat
Feat/rag chat
2 parents 495417a + 2941e01 commit ef3027c

16 files changed

Lines changed: 424 additions & 119 deletions

File tree

.ingest_state.json

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"analysis-dashboard.md": "cce17a3545fe8da5c14bbac0049631e7",
2+
"analysis-dashboard.md": "cfa8d627442b02b852f43cb61415ae54",
33
"en\\deepseek_r1.md": "b270612c9924b79c4625c1badc914670",
44
"papers\\voyager.md": "6277caac49c8663ad499dac58da06376",
55
"posts\\welcome.md": "21b9bc7618a683a1c1cfd468cbcb6a72",
@@ -59,7 +59,7 @@
5959
"zh\\claude\\claude_code.md": "456fc76cf79103f8916bd90697b4763f",
6060
"zh\\claude\\claude_mcp_server.md": "98086ff885a52b21ac3e48dd10b32c93",
6161
"zh\\claude\\claude_official_courses.md": "8cb62d2b63ea4ef9d2338a41c870b4cd",
62-
"zh\\claude\\claude_skills.md": "8db1f759fe6b21b51de16860fc9b6665",
62+
"zh\\claude\\claude_skills.md": "adcbff405078fe720e816681a78b5efd",
6363
"zh\\claude\\code_mode_for_mcp.md": "04aae2cf5085e78c1d611dbc7268c70d",
6464
"zh\\claude\\mcp_analysis.md": "49ecf8a0f9183b018717212f059c30ab",
6565
"zh\\claude\\mcp_usecases.md": "255ae7d1578d1e2d6415121e6e2634d3",
@@ -165,7 +165,7 @@
165165
"zh\\llm_providers\\llm_providers.md": "1eb431e7198e7633982d06e1f92cdde4",
166166
"zh\\mas\\agent_lightning.md": "e77665fbe3b581a0cf8020fb5538828d",
167167
"zh\\mas\\mas_reinforce.md": "22d14cf351eda74cfc539751adc5f39c",
168-
"zh\\mas\\mas_reinforcement.md": "259fe8da9ee349d8ed2e1c2f2265622f",
168+
"zh\\mas\\mas_reinforcement.md": "2ed76cda736e9e34d637a1872cac8eb1",
169169
"zh\\mas\\multipleagents.md": "6756fe2071a1c0d9aa7a92f65780352b",
170170
"zh\\mas\\agent_design_patterns\\Agentic_RAG_design_pattern.md": "0a915d4f1d0e8a57213b5051230e45f5",
171171
"zh\\mas\\agent_design_patterns\\agent_design_patterns_overview.md": "215896e8cc78f0ce93fd0fb063a5d321",
@@ -602,11 +602,16 @@
602602
"zh/ai_programming/github_copilot_smarter_with_fewertools.md": "fa71a2baca0ec7b1935060001cb1739e",
603603
"papers/voyager.md": "c6200204a1f33b42a43302ab933292c6",
604604
"zh/daily_ai/2025-12-10.md": "87cf13960ebc6b99481dc1e1140c0f18",
605-
"zh/projects/auto/open_autoglm.md": "2f5995630cfbcb477febeb091b0cd5fb",
606-
"zh/projects/chatbot/llm_council.md": "b5939ad69a36daf9fc4b8fc1c6bb662a",
607-
"zh/ai_spec/aaif.md": "696895c68fb9707f7c7e59701eceb4c1",
608-
"zh/ai_spec/AGENTS.md": "626752e8423bb943c6c314330ff13c1b",
609-
"zh/my_insights/open-autoglm-impact.md": "7b971fcd62b7db757d6ef315b809b634",
610-
"zh/daily_ai/2025-12-11.md": "499ce068828c81d95fbee6ad4b9e46f3",
611-
"zh/daily_ai/2025-12-12.md": "010685e546aea123774f5ba515aceb1e"
612-
}
605+
"zh\\ai_programming\\vibe_coding.md": "a89d68199ecb0318ba0d219041b019e4",
606+
"zh\\ai_spec\\aaif.md": "aef4a20a1214000279213f4cd8c0bb44",
607+
"zh\\ai_spec\\AGENTS.md": "8dee5bfec931508a99b3d2e67c2fde5f",
608+
"zh\\celebrity_insights\\linyuanqing.md": "544e942a5aa86448fc17374d95e337c0",
609+
"zh\\daily_ai\\2025-12-01.md": "87aab91502de3cd9db65e08c6eeda28e",
610+
"zh\\daily_ai\\2025-12-09.md": "a2e114aa5665c23d262a8c6bb3037d42",
611+
"zh\\daily_ai\\2025-12-10.md": "5ee873728f8e141a2eae7971585bc757",
612+
"zh\\mas\\workflow_context_combined.md": "3a5f85f0714d4f90b1d85348d731fd6f",
613+
"zh\\my_insights\\open-autoglm-impact.md": "9f97bd6675e798f16b9b0a8aafa3d41c",
614+
"zh\\papers\\ask_llm_verify_first.md": "a826eb1a3111cde103c11e77fcfd5e37",
615+
"zh\\projects\\auto\\open_autoglm.md": "d5b99c1afaca75653c1324c70b9f444a",
616+
"zh\\projects\\chatbot\\llm_council.md": "8210c6a388e8e83e31ee10e6b8434103"
617+
}

config/_default/params.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ enableSchemaOrg = true
1313
ShowLanguageSwitch = true
1414
DateFormat = "2006-01-02"
1515

16+
chatApiBase = ""
17+
1618
[imaging]
1719
sizes = [320, 640, 960, 1280, 1920]
1820
quality = 85
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
title: 何为Vibe Coding
3+
date: "2025-03-27T22:20:00+08:00"
4+
tags: ["Vibe Coding", "programming"]
5+
categories: ["ai_programming"]
6+
description: "Vibe Coding(氛围编程)是2025年备受关注的一种编程新范式,其核心是开发者通过自然语言与AI协作,将关注点从语法细节转向意图表达。"
7+
---
8+
9+
Vibe Coding(氛围编程)是2025年备受关注的一种编程新范式,其核心是开发者通过自然语言与AI协作,将关注点从语法细节转向意图表达。下面这个表格能帮你快速把握其核心脉络。
10+
11+
| 维度 | 关键信息 |
12+
| :--- | :--- |
13+
| **核心定义** | 一种以自然语言为驱动、AI为核心的编程新范式,开发者从“编码者”转变为“需求引导者”和“AI协作者”。 |
14+
| **提出者与时间** | OpenAI联合创始人Andrej Karpathy于2025年2月提出。 |
15+
| **核心理念** | “忘记代码的存在,专注于想法的实现”(Forget the code exists, but NOT that the product exists!)。 |
16+
| **工作方式** | 描述需求 → AI生成代码 → 审查反馈 → 迭代优化。 |
17+
| **关键影响** | 显著降低编程门槛,提高开发效率,推动开发者的角色转变。 |
18+
| **主要争议** | 代码质量与可维护性、安全漏洞、开发者技能退化、版权与合规风险。 |
19+
| **代表性工具** | Cursor、GitHub Copilot、Replit Agent等。 |
20+
21+
### 💡 深入理解Vibe Coding
22+
23+
要更深入地理解Vibe Coding,可以从以下几个方面入手:
24+
25+
* **技术架构的“三层”模型**:Vibe Coding的典型技术架构可以理解为“三明治”模型。
26+
* **上层(自然语言编译器)**:用户通过自然语言描述需求。
27+
* **中层(代码大模型)**:如GPT-4、Claude等大型语言模型,作为核心引擎将需求转化为代码。
28+
* **下层(IDE胶水层)**:如Cursor等智能编辑器,负责集成AI能力,实现代码的生成、预览和提交,形成工作闭环。
29+
30+
* **从“玩具”到“生产”的实践阶梯**:Vibe Coding的应用通常经历几个阶段。
31+
* **Toys(玩具阶段)**:快速生成简单的页面或工具,用于验证想法,例如十几分钟创建一个网页。
32+
* **Tools(工具阶段)**:用于解决具体的自动化任务,如编写一个定时爬取数据的脚本。
33+
* **MVP(最小可行产品阶段)**:小团队在几天内完成一个具备核心功能的应用,大部分代码由AI生成。
34+
* **Production(生产环境阶段)**:在大型项目中辅助开发,但核心架构和关键代码仍需人工深度审查和把控。
35+
36+
* **协议演进与未来趋势**:Vibe Coding正从“人机对话”向“多智能体协同”进化。MCP、A2A、AG-UI等协议的兴起,使得多个AI智能体可以像团队一样分工协作,共同完成更复杂的开发任务,这将进一步提升自动化程度和开发效率。
37+
38+
希望以上信息能帮助你全面理解Vibe Coding。如果你对某个具体的工具或者特定场景下的应用有更深入的兴趣,我们可以继续探讨。
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
title: 来自YC的Vibe Coding 的最佳实践
3+
date: "2025-04-20T22:20:00+08:00"
4+
tags: ["Vibe Coding", "programming"]
5+
categories: ["ai_programming"]
6+
description: 来自YC的Vibe Coding 的最佳实践
7+
---
8+
9+
10+
Vibe Coding 的最佳实践融合了专业的软件工程技术与有效利用大型语言模型(LLM)的特定技巧。
11+
12+
以下是获取 Vibe Coding 最佳结果的总结性建议:
13+
14+
### 一、 规划与架构
15+
16+
1. **投入时间规划架构:** 在将任务交给 Cursor 或其他编码工具之前,应先使用纯 LLM 花费“不合理”的时间来构建项目的范围和实际架构。
17+
2. **制定全面计划:** 第一步不是编写代码,而是与 LLM 合作制定一个**全面计划**,并将其保存在项目文件夹中的 Markdown 文件内。
18+
3. **分段实施:** 在实施过程中,应逐步完成计划,避免试图一次性完成整个项目。明确要求 LLM 一次只完成计划的某个部分(例如,“我们现在只做第二部分”)。
19+
4. **管理计划范围:** 在计划的初稿完成后,删除或移除不喜欢的内容,将某些功能明确标记为“不做”或“太复杂”,并保留一个部分用于未来的想法,告知 LLM 这些目前超出范围。
20+
21+
### 二、 版本控制与代码质量
22+
23+
1. **严格使用 Git:** 必须严格使用 Git 进行版本控制。不应完全信任工具内置的恢复功能。在开始新功能时,确保从干净的 Git 状态开始。
24+
2. **重置并重试:** 如果 LLM 陷入“兔子洞”(反复生成错误的或可疑的代码),或需要不断复制粘贴错误信息,应停下来反思,并使用 `git reset head hard` 重置到已知可工作的版本,然后重新开始。
25+
3. **避免代码堆积:** 如果尝试多次提示后得到了解决方案,最好先进行 Git 重置,然后将干净的解决方案反馈给 LLM,让它在一个干净的代码库上实现,以避免积累多层不佳代码(craft)。
26+
4. **经常重构:** 在代码工作并且测试实现之后,可以随时进行重构。可以请求 LLM 识别代码库中重复或适合重构的部分。
27+
5. **模块化设计:** 记住小文件和模块化对人类和 LLM 都有利。未来可能会倾向于服务型架构,其中 LLM 在清晰的 API 边界内工作。
28+
29+
### 三、 测试驱动与调试
30+
31+
1. **测试先行:** Vibe Coding 建议从反方向开始:首先手工制作测试用例(不使用 LLM 编写)。测试用例完成后,它们就成了 LLM 生成代码的强有力保障。
32+
2. **编写高层级测试:** 优先编写高层级的**集成测试**,模拟用户在网站或应用中的点击行为,确保端到端的功能正常工作,而不是低级别的单元测试。
33+
3. **利用测试套件:** 测试套件可以帮助尽早捕获回归问题,尤其是因为 LLM 经常会不必要地修改不相关逻辑。
34+
4. **快速修复 Bug:** 遇到 Bug 时,第一步是直接将错误消息(来自服务器日志或控制台)复制粘贴回 LLM。
35+
5. **复杂 Bug 需谨慎:** 对于更复杂的 Bug,可以要求 LLM 在编写任何代码之前先思考三到四种可能的起因。
36+
6. **添加日志和切换模型:** 如果遇到困难,应添加日志(logging)。如果某个模型失败,可以尝试切换不同的模型,因为它们可能在不同的场景中表现更佳(例如,Gemini、Sonnet 3.7、OpenAI 模型)。
37+
38+
### 四、 工具使用与上下文管理
39+
40+
1. **将 AI 视为编程语言:** 将 Vibe Coding 视为一种新的编程语言类型,通过语言而不是代码进行编程。因此,必须提供**非常详细**且必要的上下文和信息。
41+
2. **使用多个工具:** 最好同时加载多个工具(如 Cursor 和 Windsurf)。Cursor 可能更快,适用于前端或全栈任务;在等待 Windsurf 思考时,可以使用 Cursor 来更新前端。
42+
3. **直接访问 LLM UI:** 如果 AI ID 陷入无法实现或调试的循环中,直接将代码粘贴到 LLM 的网站 UI 中并提问,有时可以解决问题。
43+
4. **编写指令文件:** 编写详细的指令或规则文件(例如,Cursor rules 或 Windsurf rules),这对提高 AI 编码代理的效率至关重要。
44+
5. **本地文档:** 如果直接指向在线 Web 文档效果不佳,可以下载 API 文档并将其放在工作文件夹的子目录中,然后在指令中要求 LLM 先阅读这些本地文档,以提高准确性。
45+
6. **利用非编码任务:** LLM 不仅用于编码,还可以用于配置 DNS 服务器、设置托管(充当 DevOps 工程师),或生成和调整图像(充当设计师)等非编码工作。
46+
47+
### 五、 复杂功能与输入方式
48+
49+
1. **复杂功能先独立实现:** 如果正在处理一个 LLM 难以实现的复杂功能,应先在一个完全干净的代码库中将其作为独立项目实现一个小型的参考实现。然后,指示 LLM 参照该实现,并在主代码库中重新实现。
50+
2. **选择技术栈:** 选择具有大量高质量、一致的训练数据(例如,Ruby on Rails)的成熟框架,LLM 的表现往往更好。
51+
3. **利用截图:** 如今大多数编码代理都支持复制粘贴**截图**,这对于展示 UI 错误或引入设计灵感非常有用。
52+
4. **使用语音输入:** 可以使用语音工具(如 Aqua)通过口述指令与工具交互,输入速度更快(约每分钟 140 个词),且 AI 能够容忍次要的语法和标点错误。
53+
54+
### 六、 学习与实验
55+
56+
1. **利用 LLM 教学:** 可以利用 LLM 作为教师,让它逐行解释代码实现,帮助学习新技术。
57+
2. **持续实验:** 持续尝试新的模型版本(如 Gemini、Sonnet 3.7),以查看它们在不同场景(调试、长期规划、实现功能、重构)中的表现。
58+
59+
Vibe Coding 就像是几年前的提示工程(prompt engineering)一样,是一项可以通过不断摸索和学习最佳实践来显著提高结果的实践。
60+
61+
## 参考文献
62+
* [How To Get The Most Out Of Vibe Coding](https://www.youtube.com/watch?v=BJjsfNO5JTo)
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
title: "Sam Altman: 10 Years"
3+
date: "2025-12-11T11:11:00+08:00"
4+
draft: false
5+
tags: ["AI","Sam Altman", "OpenAI", "Ten Years"]
6+
categories: ["celebrity_insights"]
7+
description: "Sam Altman关于 OpenAI 十周年回顾的全文翻译。在这篇里程碑式的回顾中,Sam Altman 复盘了 OpenAI 从 15 人的“理想主义实验室”进化为全球 AGI 领航者的非线性历程,重点强调了 2017 年在 RLHF(基于人类反馈的强化学习)与无监督情感神经元上的技术奇点,以及“迭代式部署”策略对行业标准的重塑,并最终抛出了一个极具技术压迫感的预测:在未来十年内(2035 年前),人类几乎确定将构建出超级智能(Superintelligence)。"
8+
---
9+
10+
这是对Sam Altman关于 OpenAI 十周年回顾的全文翻译。原文在[这里](https://openai.com/index/ten-years/)
11+
12+
这篇文章不仅是对过去十年的总结,更是对未来十年“超级智能(Superintelligence)”时代的激进预测。
13+
他在文中特意提到了几个关键的技术转折点(如 Dota 1v1、情感神经元、RLHF,AGI),这些都是我们今天所熟知的 LLM 范式的基石。
14+
15+
##
16+
## 十年
17+
**——回顾十年的突破、经验教训,以及通往造福全人类的 AGI 之路。**
18+
19+
OpenAI 取得的成就,已经远远超出了我当初最大胆的梦想。当年我们立下的目标,说白了是一件疯狂的事——看似不可能、且史无前例。起步时前途极度不确定、从任何理性角度看成功概率都微乎其微,但在持续不断的努力之下,现在看起来,我们确实有机会完成我们的使命。
20+
21+
十年前的今天,我们向世界宣布了这一计划,尽管正式启动是在几周后的 2016 年 1 月初。
22+
23+
从某种意义上讲,十年是一段很长的时间;但如果放在“社会发展轨迹通常需要多长时间才会发生转折”这个尺度上,十年其实并不长。虽然日常生活看上去和十年前并没有翻天覆地的变化,但如今摆在我们面前的“可能性空间(possibility space)”,和当年那 15 个书呆子坐在一起苦思冥想如何推进时相比,已经完全不同了。
24+
25+
每次回看创业早期的照片,我首先受到冲击的是:大家看起来都太年轻了。但紧接着让我印象更深的是,那种几乎“不讲道理”的乐观,以及那种发自内心的快乐。那真是一段疯狂又有趣的时光:尽管我们被外界严重误解,但我们有一种根深蒂固的信念——这件事极其重要,即使成功的几率很小,也值得拼命去做;我们汇聚了非常出色的人才,并且保持着极度敏锐的聚焦。
26+
27+
一步一步地,伴随着少数几次胜利(以及很多次失败),我们逐渐建立起对正在发生之事的理解。那段时间最难的是搞清楚“具体该攻克什么”,但我们搭建出了一种极其有利于探索和发现的文化。深度学习无疑是一项伟大的技术,但如果不在真实世界中大规模部署、不积累实际运行的经验,就盲目开发,这似乎不太对劲。我就不赘述那些具体的故事了(真心希望未来有人能把这段历史系统地写下来),但当时我们总体的精神气质是:无论面前出现什么障碍,我们都去想办法解决——无论是研究下一步能通向哪里,还是如何筹钱购买更大的算力,抑或是其他任何问题。我们率先开创了让 AI 在实践中更加安全、更加稳健的技术工作,这种“基因”一直延续到了今天。
28+
29+
2017 年,我们取得了几项奠基性的成果:
30+
* **Dota 1v1 的成果:** 我们将强化学习(RL)的规模推到了一个新的高度;
31+
* **无监督情感神经元(Unsupervised Sentiment Neuron):** 我们第一次无法否认地看到,一个语言模型不只是学到了语法,而是真正学到了语义;
32+
* **基于人类偏好的强化学习(RLHF):** 我们展示了一条虽然粗糙但清晰可见的路径,即如何将 AI 与人类价值观进行对齐。
33+
34+
到了这一步,创新远未结束,但我们已经很清楚一件事:必须利用海量算力,将这些成果全部放大、扩展到一个全新的规模(Scale up),才有可能继续向前。
35+
36+
我们继续推进,不断打磨技术,并在三年前推出了 ChatGPT。全世界很快注意到了它,而在推出 GPT‑4 之后,这种关注度更是呈指数级增长——突然之间,“AGI(通用人工智能)”不再是一个听上去疯狂的念头。这过去的三年极度紧张、压力巨大且责任沉重;这项技术以一种前所未有的速度和规模被整合进现实世界。要支撑这样的节奏,需要极其强悍的执行力,我们不得不立即锻炼出这种新的“肌肉”。在如此短的时间内从无到有成长为一家庞大的公司并非易事,这要求我们每周做出数百个决策。我为团队在这些抉择中做对的大部分决定感到自豪,而那些做错的,主要责任在我。
37+
38+
我们不得不做出各种全新的决策类型。例如,在思考“如何让 AI 对全人类的益处最大化”时,我们制定了一种**“迭代式部署(Iterative Deployment)”**的策略:将相对早期的技术版本推向世界,让人们有时间形成直觉,让社会和技术在相互作用中共同演化。这在当时颇具争议,但我认为这是我们做过的最正确的决定之一,它后来也成为了行业标准。
39+
40+
OpenAI 走过十年,如今我们拥有的 AI,在我们最聪明的人所参加的、最困难的智力竞赛中,其表现已经优于绝大多数人类。
41+
42+
全世界已经在利用这项技术完成非凡的壮举,而我们预计,在未来一年里,会出现更多惊人的成果。与此同时,世界在缓解潜在负面影响方面,迄今为止做得也不错——但我们需要继续努力,确保持续向好。
43+
44+
我从未像现在这样,对我们的研究与产品路线图,以及实现使命的整体路径如此乐观。**再过十年,我相信我们“几乎可以确定”会构建出超级智能(Superintelligence)。** 我预计未来会感觉很“怪诞”:从某种意义上说,日常生活和我们最在意的那些事,可能变化甚微,我相信我们依然会更多地关注“人做什么”,而不是“机器做什么”。但从另一种意义上说,2035 年的人类所能做到的事情,很可能已经远远超出我们今天的想象力。
45+
46+
我非常感激那些信任我们、使用我们的产品来完成伟大事业的个人和公司。没有你们,我们只不过是实验室里的一项技术;我们的用户和客户在我们身上押下了在许多情况下看来是早期的、甚至“不讲道理”的坚定赌注,没有你们,我们的工作无法达到今天的高度。
47+
48+
我们的使命是确保 AGI 造福全人类。前路依然漫长,我们还有很多工作要做。但我为团队此刻所处的轨迹感到由衷自豪。我们已经在今天看到人们利用这项技术带来的巨大收益,而且我们知道,在未来几年里,还有更多更重要的变革即将到来。
49+
50+
## 参考文献
51+
52+
* [OpenAI Sam Altman: Ten Years](https://openai.com/index/ten-years/)

0 commit comments

Comments
 (0)