你已经了解了 AI 的基础原理,现在让我们进入最重要的部分:如何调整你的思维方式来真正发挥 AI 助手的威力。
从传统编程到 AI 协作开发的转变,不仅仅是工具的更换,更是思维模式的革新。这一章将帮助你建立正确的"AI 心智模型"。
传统开发中,你是代码的创造者和执行者。每一行代码、每一个逻辑决策都出自你的大脑。这种模式就像是自己动手做一顿饭——从买菜、洗菜、切菜到下锅,每一步都要亲力亲为。
| https://github.blog/developer-skills/github/completing-urgent-fixes-anywhere-with-github-copilot-coding-agent-and-mobile/ | |
| This included the core purpose of the repository, the tech stack used, architecture constraints, coding standards, testing strategy, dependency management, observability, documentation, error handling, and more. | |
| https://github.com/github/awesome-copilot | |
| https://blog.cloudflare.com/introducing-react-why-we-built-an-elite-incident-response-team/ | |
| Vibe coding:向 AI 模型提供自然语言提示以生成代码的实践可能会产生关键漏洞,这些漏洞可以被利用者通过远程代码执行(RCE)、内存损坏和 SQL 注入等技术进行利用。 | |
| https://simonwillison.net/2025/Oct/7/vibe-engineering/#atom-everything |
| [ | |
| { | |
| "id": 1754581181413, | |
| "name": "播客中文总结", | |
| "system": "你是一位有帮助的助手。", | |
| "before": "我会发送给你一段播客转录,其中可能存在拼写错误,尽量理解即可。", | |
| "after": "深入总结以上播客内容,简体中文输出。" | |
| }, | |
| { | |
| "id": 1754581181414, |
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>TypeScript Match Engine Playground</title> | |
| <style> | |
| body { font-family: sans-serif; display: flex; flex-direction: column; height: 100vh; margin: 0; } | |
| .main-container { display: flex; flex: 1; overflow: hidden; } /* Changed from .container to .main-container */ |
| import os | |
| import json | |
| import time | |
| from datetime import datetime | |
| from openai import OpenAI | |
| import argparse | |
| from typing import Dict, List, Any, Optional, Union, TypedDict, cast | |
| from dataclasses import dataclass | |
| @dataclass |
original: https://github.com/wujianguo/openai-proxy
和 pyhttpdbg 一起用,可以观察app到底给大模型发送了什么
pyhttpdbg --script proxy.py
| createWithNestedDefaults = (messageType) => { | |
| const message = messageType.create(); | |
| console.log(message); | |
| // 遍历消息的属性 | |
| for (const [key, field] of Object.entries(messageType.fields)) { | |
| // 检查该属性是否是嵌套的消息类型 | |
| console.log(field) |
| // ==UserScript== | |
| // @name Mermaid Diagram Renderer | |
| // @namespace http://tampermonkey.net/ | |
| // @version 0.1 | |
| // @description Render Mermaid diagrams from selected text | |
| // @author Claude | |
| // @match *://*/* | |
| // @require https://cdnjs.cloudflare.com/ajax/libs/mermaid/8.14.0/mermaid.min.js | |
| // @grant GM_addStyle | |
| // ==/UserScript== |
| document.addEventListener('DOMContentLoaded', function() { | |
| const c = document.getElementById("c"); | |
| if (!c) { | |
| console.error("Canvas element with id 'c' not found"); | |
| return; | |
| } | |
| const ctx = c.getContext("2d"); | |
| if (!ctx) { | |
| console.error("Unable to get 2D context for canvas"); |
| // MyProtocol.h | |
| #pragma once | |
| #include <array> | |
| #include <vector> | |
| #include <string> | |
| #include <memory> | |
| #include <chrono> | |
| #include <mutex> |