AI编程学习笔记(I)

学习来源:labuladong算法教程

AI写代码的效果,核心取决于两大关键:LLM大模型本身的能力上限,以及围绕模型构建的Agent工程实现成熟度。前者决定"智商",后者决定"执行力",二者结合才能产出高质量代码。

一、核心概念区分:LLM与AI编程Agent

1. LLM(大语言模型)

代表模型:Qwen、Claude、Deepseek等,是AI的"大脑",负责语言理解、逻辑推理与文本生成。

2. AI编程Agent(智能体)

代表工具:Cursor、Antigravity、Claude Code等,是LLM的"手脚"。

本质是"LLM+工具调用+循环决策"的工程化产物,能自主完成读文件、写代码、跑测试、排错等全流程任务。

二、LLM底层原理:不是"理解",是精准的概率匹配

1. 核心本质:概率预测模型

LLM的核心逻辑是根据已有文本,预测下一个token(字/词)出现的概率,属于统计意义上的模式匹配,并非真正"理解"语义。

  • 规模效应:参数量越大、训练数据越海量(涵盖文本、代码等),概率预测越精准,表现越像"能理解";
  • 推理特性:直接给答案易出错,先写推理过程、再给结论,准确率大幅提升(相当于"打草稿")。

2. 关键参数:控制输出的"确定性"与"创造性"

(1)Temperature(温度)

  • 作用:控制模型选字的随机程度;
  • 温度=0:每次选概率最大的token,输出最确定、最保守(适合写代码、严谨任务);
  • 温度调高:倾向选低概率token,输出更有创意、更不可控(适合文案、创意写作)。

(2)Context(上下文)

  • 定义:模型预测下一个token时依赖的所有文本(输入问题、对话历史、系统设定);

  • 窗口限制:上下文有固定长度(窗口),超出会"遗忘"早期内容;

  • 压缩技巧:将早期对话总结为摘要,保留关键信息、丢弃细节,节省窗口空间

3. 模型进化:从Base到Instruct,再到RLHF

(1)Base模型(基础模型)

  • 功能:纯概率预测,做文本补全(输入半句话,续后半句);
  • 缺陷:无法理解指令,不能直接回答问题。

(2)Instruct模型(指令模型)

  • 升级:在Base模型基础上,用指令-回答数据对微调,再经RLHF优化;
  • 能力:能识别指令、回答问题,效果质的飞跃,训练成本远低于预训练。

(3)RLHF(人类反馈强化学习)

  • 流程:模型对同一问题生成多个回答→人类打分排序→模型根据打分调整策略;
  • 价值:让模型明确"用户输入是指令,不是待续写文本",输出更贴合人类需求。

4. 推理加速:思维链(CoT)与思考强度

(1)CoT(思维链)

  • 本质:用更多计算量换更高准确率,强制模型输出分步推理过程;
  • 效果:每一步中间结果成为后续输入,逻辑更严谨,代码错误率降低。

(2)思考强度参数

  • 作用:单一模型内调节推理深度;
  • 强度高:反复推演、多步骤验证,准确率高但耗token;
  • 强度低:直接给答案,速度快、省token;
  • 优势:无需切换模型,一个API调用按需调档。

三、Agent工程核心:让LLM"动起来"的关键技术

Agent的核心是LLM+Tool Use(工具调用)放入循环,智能来自两方面:模型推理能力(想对下一步)+工具能力(把想法变行动)。

1. Tool Use(工具调用):LLM的"外接能力"

  • 本质:LLM输出结构化工具调用请求(如JSON),外围程序解析并执行,结果返回上下文;
  • 关键:模型不直接调用API,只输出"调用意图",执行靠代码,结果靠上下文流转
  • 价值:让LLM突破"纯文本限制",能读文件、跑命令、查数据、改代码。

2. System Prompt:定义Agent的"行为规则"

  • 作用:设定模型不可绕过的规则(如"只写Python代码""代码必须加注释");
  • 地位:Agent的"行为准则",直接决定输出风格与合规性。

3. ReAct模式:Agent的"思考-行动"循环

  • 流程:思考(Reasoning)→行动(Acting)→观察结果→再思考,循环往复直到任务完成;
  • 案例:写代码→跑测试→发现报错→分析原因→改代码→再测试,全流程自主闭环。

4. Skills:可复用的"工作流程SOP"

  • 本质:把复杂任务流程写成文档(如"代码审查流程""PR处理流程"),Agent按文档分步执行;
  • 价值:无需重复指令,一次定义、多次复用,降低使用成本;
  • 渐进式披露:启动时只给Skill名称+简介,任务相关时再加载完整内容,节省上下文。

5. MCP(模型上下文协议):工具互通的"标准化接口"

由Anthropic推出,核心解决工具碎片化、适配成本高的问题,堪称AI界的"USB-C接口"。

MCP完整协议流程:

(1)核心架构:Client-Server

  • Server:封装工具/认证信息,暴露标准化接口(如文件读写、数据库查询);
  • Client:Agent(Claude Code、Cursor)内置客户端,自动发现并调用Server工具。

(2)三大核心能力

  • Tools:可执行函数(如跑命令、改代码);
  • Resources:只读数据(如文件、文档);
  • Prompts:可复用提示模板。

(3)价值

  • 标准化:M个Agent适配N个工具,复杂度从M×N降至M+N;
  • 易扩展:无需重复开发接口,直接接入生态工具(如GitHub私有库、公司内部文档)。

四、上下文管理:Agent性能的"决胜关键"

模型能力固定时,上下文塞什么、怎么塞、塞多少,直接决定Agent表现。

核心矛盾:有限窗口内,最大化信息利用率。

1. 最佳实践

  • 单窗口单任务:一个上下文只聚焦一个问题,新问题开新窗口,避免信息混杂;
  • 精简输入:只保留核心指令、必要参考代码,删除冗余对话;
  • 结果压缩:工具返回结果后,提炼关键信息再喂回上下文,减少token消耗。

2. 常见误区

  • 上下文越长越好:过长会导致"信息稀释",模型抓不住重点,且成本飙升;
  • 重复指令:反复强调同一要求,占用窗口空间,无实际收益。

五、高级技巧:多Agent协作与自定义Agent

1. Sub Agent(子智能体):分工提效

  • 用法:主Agent指令"用Sub Agent分别调研需求、写代码、做测试,再汇总";
  • 优势:分工明确、并行处理,复杂任务效率更高;
  • 成本:每个Sub Agent有独立上下文,token消耗随数量增加,需权衡性价比。

2. 自定义Agent:沉淀高频流程

  • 场景:重复代码审查、PR处理、部署流程;
  • 做法:把固定流程+规则封装成自定义Agent,一次配置、终身复用,无需每次重复说明。

六、实践:Deepseek API调用

1. 基础调用(curl)

接口格式其实只是一种约定。

AI对话,本质其实就是往一个接口发一个JSON数组。

bash 复制代码
OpenAI格式:
CMD版本:
curl -H "Content-Type: application/json" -H "Authorization: Bearer sk-" -d "{\"model\":\"deepseek-v4-flash\",\"messages\":[{\"role\":\"system\",\"content\":\"你是一个友好的助手。\"},{\"role\":\"user\",\"content\":\"你好。\"}],\"thinking\":{\"type\":\"disabled\"}}" https://api.deepseek.com/chat/completions
PowerShell版本:
curl 'https://api.deepseek.com/chat/completions' `
-H 'Content-Type: application/json' `
-H 'Authorization: Bearer sk-XXXXXXXXXXXXXXXXXXXXXX' `
-d '{
    "model": "deepseek-v4-flash",
    "messages": [
      {"role": "system", "content": "你是一个友好的助手。"},
      {"role": "user", "content": "你好。"}
    ],
    "thinking": {"type": "disabled"}
}'

JSON返回:
{
"id":"61c33487-bb99-40d7-b3b2-b857dce1a517",
"object":"chat.completion",
"created":1777447577,
"model":"deepseek-v4-flash",
"choices":[
{
"index":0,
"message":{
"role":"assistant",
"content":"你好!很高兴见到你。有什么我可以帮你的吗?"
},
"logprobs":null,
"finish_reason":"stop"
}
],
"usage":{
"prompt_tokens":11,
"completion_tokens":12,
"total_tokens":23,
"prompt_tokens_details":{
"cached_tokens":0
},
"prompt_cache_hit_tokens":0,
"prompt_cache_miss_tokens":11
},
"system_fingerprint":"fp_058df29938_prod0820_fp8_kvcache_20260402"
}      


Anthropic格式:
CMD:
curl https://api.deepseek.com/anthropic/v1/messages -H "Content-Type: application/json" -H "x-api-key: sk-XXXXXXXXXXXXXXXXXXX" -H "anthropic-version: 2023-06-01" -d "{\"model\":\"deepseek-v4-flash\",\"max_tokens\":256,\"system\":\"你是一个友好的助手。\",\"messages\":[{\"role\":\"user\",\"content\":\"你好。\"}],\"thinking\":{\"type\":\"disabled\"}}"

PowerShell:
curl https://api.deepseek.com/anthropic/v1/messages `
-H "Content-Type: application/json" `
-H "x-api-key: sk-XXXXXXXXXXXXXXXXXXXX" `
-H "anthropic-version: 2023-06-01" `
-d '{
    "model": "deepseek-v4-flash",
    "max_tokens": 256,
    "system": "你是一个友好的助手。",
    "messages": [
      {"role": "user", "content": "你好。"}
    ],
    "thinking": {"type": "disabled"}
}'

返回JSON:
{
"id":"aa417bfd-df5f-4efa-8136-071db8ecf0ec",
"type":"message",
"role":"assistant",
"model":"deepseek-v4-flash",
"content":[
{"type":"text","text":"你好!很高兴见到你。今天有什么我可以帮忙的吗?"}
],
"stop_reason":"end_turn",
"stop_sequence":null,
"usage":{
"input_tokens":11,
"cache_creation_input_tokens":0,
"cache_read_input_tokens":0,
"output_tokens":12,
"service_tier":"standard"
}
}

2. 流式传输(SSE)

  • 作用:逐字输出、防超时,适合长代码生成;
  • 注意:流式不生效时,检查数据到达节奏缓冲层位置,排查网络或代理问题。

七、总结

AI写代码的本质,是**概率模型(LLM)+工程化执行(Agent)**的组合:

  • LLM决定上限:靠规模、CoT、RLHF提升推理能力;
  • Agent决定下限:靠Tool Use、MCP、上下文管理保障执行力;
  • 核心决胜点:有限上下文内,高效组织信息、精准调用工具
相关推荐
甲维斯15 分钟前
还要啥Codex!DeepSeek接入Zcode远程连接!
人工智能
百胜软件@百胜软件27 分钟前
百胜软件亮相“AI消费新生活”主题日活动,AI智能运营平台入选市级案例征集
人工智能·生活·零售数字化·数智中台·珠宝行业
sunfdf40 分钟前
知识学习场景下的智能应用实践大纲
学习
「、皓子~1 小时前
海狸IM 2.0 正式发布:六端齐发,开源 IM 迈入新阶段
flutter·electron·开源软件·ai编程·交友·im
专注搞钱1 小时前
GPT-4o写设备Recipe:从3小时到10分钟
数据库·人工智能·gpt·半导体
闻道参看2 小时前
贝芯宠AI灵兽 ELFVET 大模型聚焦临床应用,强化宠物诊疗综合能力
人工智能·宠物
MartinYeung52 小时前
[论文学习]重新思考大型语言模型忘却目标:梯度视角与超越
人工智能·学习·语言模型
财经资讯数据_灵砚智能2 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年6月14日
大数据·人工智能·python·ai·信息可视化·自然语言处理·灵砚智能
影视飓风TIM2 小时前
数据结构 | 链表超全笔记(单链表+双链表+高频算法题)
数据结构·笔记·链表
二哈赛车手2 小时前
新人笔记---最终版智能体图片分析完整方案,包括一些总结于经验,以及各种优化点讲解
java·笔记·spring·ai·springboot