# 关于 AI 编程的一些浅思 ## 概述 本文探讨了当前 AI 编程领域的快速发展和变化,从 Agent 框架、AI 浏览器到 IDE 集成和 CLI 工具,以及 AI 对软件开发范式的影响。作者分享了对这一领域的观察和思考,并列举了众多主流框架和工具。 ## 主要内容 ### 1. Agent 框架 * **定义**: 能够自主感知环境、做出决策并采取行动以实现特定目标的 AI 系统。 * **代表性框架**: * LangChain & LangGraph: LLM 应用开发框架,用于构建、管理和部署智能代理。 * AutoGen: 创建多智能体 AI 应用程序的框架。 * CrewAI: 轻量级、快速的 Python 框架,用于构建自主 AI 代理。 * LlamaIndex: 用于构建 LLM 驱动代理的领先框架。 * Agno: 支持 Agent 间共享记忆、知识和推理能力的多 Agent 系统框架。 * GPT Researcher: 用于在线研究和生成报告的智能体代理。 * **发展趋势**: 从依赖代码的任务编排到无需编码的 AI 浏览器代理,再到能操作真实计算机界面的系统级代理。 ### 2. AI 编程助手 * **分类**: * **IDE 集成**: VSCode, Cursor, Windsurf, Zed, Trae 等。 * **VSCode 插件**: GitHub Copilot, Gemini Code Assist, Claude Code for VSCode, Tabnine, Cody 等。 * **Online 生成式**: v0.dev, bolt.new, Replit AI 等。 * **CLI**: Codex CLI, Claude Code, Gemini CLI, aider, Open Interpreter 等。 * **GitHub Copilot**: 特殊的存在,集成了插件、网页版和 GitHub 深度集成。 * **Cursor**: 体验优秀的 AI IDE,但受 VSCode 插件限制风波影响。 ### 3. Terminal 终端 * **Warp**: 体验优秀,支持 Agent、MCP 等功能。 * **Starship**: 终端美化工具。 * **Nerd Fonts**: 编程字体,添加了大量字形。 ### 4. AI 开发语言 * **JS**: 简单易上手,常为首选。 * **Python**: AI 编程一等公民,许多 AI 框架使用 Python 开发。 * **Go & Rust**: 常用于服务或命令行开发,侧重性能。Rust 因其原生化优势(减少外部依赖)被用于重写 CLI。 ### 5. 大模型协议 * **MCP (Modal Context Protocol)**: 开放标准,规范如何向 LLM 提供上下文信息,在编程领域较为热门。 * **AG-UI (Agent-User Interaction Protocol)**: 代理-用户交互协议。 ### 6. AI 文档 * **Context7**: 通过 MCP 机制,从源头获取最新文档和代码示例,提升 LLM 输出准确性。 * **DeepWiki**: 基于 GitHub Repo 源代码生成可对话式文档。 * **Gitingest**: 将 GitHub 代码库转换为 LLM 可读的文本摘要。 * **Sequential Thinking MCP Server**: 为复杂问题提供结构化思维的工具支持。 ### 7. AI SDK * **AI SDK (Vercel)**: 基于 TypeScript,支持多种前端框架和运行时环境,统一 API 接口。 * **Google Gen AI SDK**: 支持 Gemini 的 TypeScript 和 JavaScript 工具包。 * **OpenAI SDK**: TypeScript/JavaScript 访问 OpenAI REST API。 * **Anthropic SDK**: TypeScript/JavaScript 访问 Anthropic REST API。 ### 8. AI 代码生成 * **框架友好性**: Next.js, React, Tailwind CSS 等框架对 AI 代码生成友好。 * **可视化工具**: shadcn/ui (组件库) + tweakcn (主题编辑器)。 ### 9. 开源 Chat UI * **Open WebUI**: 可扩展、用户友好的自托管 AI 平台,支持离线运行。 * **Chat SDK**: 基于 Next.js 和 AI SDK 构建的聊天机器人应用模板。 * **LobeChat**: 开源 ChatGPT/LLMs 聊天应用,支持语音合成、多模态、插件系统。 * **Cherry Studio**: 支持多个 LLM 服务商的桌面客户端。 * **Text generation web UI**: Gradio Web UI,文本生成领域的目标。 ### 10. 扩展阅读与核心概念 * **Vibe Coding**: Andrej Karpathy 提出的新型编程方式,开发者用自然语言向 LLM 提出需求,系统自动生成和修正代码。 * **软件演进**: * **软件 1.0**: 指令式编程。 * **软件 2.0**: 数据驱动神经网络。 * **软件 3.0**: 自然语言编程 (LLM)。 * **LLM 本质**: 被比作数字世界的“操作系统”,具有“公用事业”、“晶圆厂”、“操作系统”等特性。 * **技术扩散方向**: LLM 技术似乎首先在普通消费者中普及,然后才服务于大型企业。 * **LLM “心智”**: * **超能力**: 知识渊博,记忆力强。 * **认知缺陷**: 幻觉、锯齿状智能、顺行性遗忘、安全漏洞。 * **LLM 应用**: 具备上下文管理、多模型协调、应用特定 GUI、自治滑块等特性。 * **人机协作**: AI 负责“生成”,人类负责“验证”。关键在于加速验证和“牵住” AI 的缰绳(控制粒度)。 * **为“代理”而设计**: 构建 LLM 友好的信息格式和工具。 * **“全民编程”时代**: Vibe Coding 降低了编程门槛,让每个人都能参与。 * **上下文工程 (Context Engineering)**: 取代“提示词工程”,更准确描述了为 LLM 提供恰当上下文的核心技能,融合了工程方法与直觉艺术。 ## 结语 AI 的演进正深入到应用和操作系统层面,目标是赋予 AI 更大的操作权限。未来的软件开发将更侧重于如何编排 AI、GUI 和操作系统,构建能与 AI 协同工作的智能应用。开发者需要理解 LLM 的能力与局限,并掌握上下文工程等关键技能,参与到软件自治的变革中。