news 2026/10/8 4:11:26

个人AI助手代理搭建实战:从开源模型到多AI协作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
个人AI助手代理搭建实战:从开源模型到多AI协作

AI Agent这个词最近有点被说烂了,但真正值得关注的不是厂商发布会上的PPT,而是你自己能不能也养一个“代理人”。个人AI助手代理大战已经打响,这场大战不只是大模型厂商在打,也不只是开源社区在打,它同样延伸到每一个普通用户面前——现在你完全可以靠一台普通电脑,把开源模型、工具调用、消息路由这几层东西拼起来,组成一套专属于自己的AI代理助手。这篇文章不聊虚的,直接拆解什么是AI代理、为什么你值得搭一套,以及一台个人电脑上怎么落地。我会把技术选型、代理层的设计、多AI协作的编排逻辑和踩过的坑一起写出来,适合想从“聊天用户”升级为“Agent玩家”的朋友参考。

1. AI代理大战,到底在争什么

1.1 Agent不是聊天机器人,是会跑腿的实习生

我见过太多人把AI Agent理解成“能陪我聊很久的AI”,这个认知差得有点远。聊天机器人是“你问一句,它答一句”,顶多是带上下文记忆的问答工具。而AI Agent的核心区别在于:它有一套“规划-执行-观察-再规划”的闭环。简单说,你给它一个目标,它能自己拆解步骤、调用工具、读取结果,再根据结果决定下一步做什么,直到把目标完成。

举个例子就很直观。你让一个普通聊天机器人“整理一下最近三天的项目日志,提炼出风险点”,它会给你一篇建议性质的模板文本,告诉你“你应该做A、B、C”。但你让一个Agent做同样的事,它会自己去翻日志文件、按日期过滤、识别关键错误码、对比历史记录里出现过的风险模式,然后输出一份带证据链接的报告。前者是“告诉你该怎么做”,后者是“直接把活干了交给你”。

这就是ReAct模式(Reasoning + Acting,推理与行动交替进行)的价值。Agent的每一次循环,都是“思考接下来做什么 → 调用某个工具 → 观察工具返回结果 → 再思考”。这个循环跑得越快、工具越丰富,Agent就越像真正的“代理人”而不是语音助手。我习惯把Agent想象成新来的实习生:你给他目标和权限,他跑来跑去帮你查资料、填表格、发邮件,干完了回来汇报。你要是只把他当成一个对讲机,那永远体验不到代理的威力。

1.2 大战的三方参与者

把视角拉高一点,“个人AI助手代理大战”其实有三波人在打。

第一波是模型厂商。国外有GPT系列、Claude系列,国内有通义千问、DeepSeek、智谱等,大家都在卷Agent能力:长上下文、函数调用、多模态理解。这一层的竞争决定Agent的“脑力上限”。

第二波是开源社区和框架。LangChain、LlamaIndex这类早期框架面对新的Agent范式已经显得有些笨重,社区里更流行的是轻量化的方案:直接用OpenAI兼容接口、Function Calling协议,甚至用MCP(Model Context Protocol)把工具层标准化。加上Ollama这类本地推理工具,个人跑7B、14B参数模型已经不需要昂贵的显卡了,一台带8GB以上显存的游戏本就能玩。

第三波就是个人开发者。我想强调这个群体的角色,因为这是前几年完全不具备的条件:现在你可以用极低的成本,把一个开源模型调教成“只负责写代码的专家Agent”,再让另一个模型“只负责总结文档”,中间加一个调度层协调它们。这种“多AI协作”的模式,听起来很高大上,但实际上你今天就可以搭出来。

1.3 个人需要面对的“代理”双关

我得提醒一句,“代理”这个词在这篇文章里有两层含义,缺一不可。

第一层是AI Agent,也就是智能体,是“帮你干活的大脑”。第二层是技术代理,也就是网络代理层,负责把模型服务、工具服务、密钥管理统一起来。你在搭建个人AI助手的时候,如果不加这层代理,会遇到一堆现实问题:每个模型一个地址、每个服务一把Key、日志散落各处、换模型就要改代码。而有了代理层,所有模型都收敛到一个统一的入口,像一个公司前台,你只跟前台打交道,不用管后面哪个房间坐着谁。

我后面所有实操内容,都会围绕这两层展开:先通过代理层把多个模型的API收敛成统一格式,再在这个基础上搭Agent调度逻辑,让多个AI协作起来。这也是目前个人AI助手领域最务实的玩法。

2. 个人AI助手代理的架构选型:本地模型还是云端API

2.1 两条路线的成本账

在实际动手之前,先做一个绕不开的选择:到底用本地模型还是云端API?我的建议是别急着二选一,先看自己的需求。

对比维度本地模型(Ollama + 开源模型)云端API(厂商模型接口)
隐私性数据不出本机,隐私最好数据会经过服务商,敏感业务要谨慎
每次调用成本用电费,几乎为零按Token计费,长期高频用不便宜
延迟受本机显卡算力影响,7B模型通常很快受网络影响,稳定但可能波动
模型效果开源模型在通用任务上略逊顶尖闭源顶级闭源模型综合能力更强
自由度可微调、可换任意开源模型只能使用厂商提供的接口和模型
部署门槛需要装环境和考虑硬件显存注册账号拿Key就能用

我自己的准则是:高频的、私密的、模板化的任务走本地模型,比如整理周报、格式化日志、本地文件检索;低频率的、需要强推理的、创意性任务走云端API,比如头脑风暴方案、分析复杂问题。这两者不是互斥关系,而是在代理层做路由,让请求按规则分流。

本地模型这块,Ollama几乎是目前个人玩家的事实标准。原因有三:跨平台、一条命令就能启动服务、原生提供OpenAI兼容接口。如果你电脑显卡显存不足,还可以退而求其次用CPU跑小参数模型,虽然慢一点,但做一个“邮件分类Agent”绰绰有余。

2.2 为什么必须有一个代理层

很多新手上来就写代码直连模型服务,短期看着简单,等你想同时接三个模型的时候,代码就乱成一锅粥了。你会在每个模块里写一遍Base URL、API Key、模型名,还要处理不同模型返回格式的差异。这就是代理层存在的意义。

代理层的核心作用有五点:

  • 统一入口:所有AI能力都走同一个HTTP地址,不同模型只是路径或路由规则不同。
  • 格式转换:把厂商模型的返回格式归一化成统一结构,Agent逻辑不用关心背后是哪家模型。
  • 密钥管理:密钥集中在代理层保管,客户端不接触真实密钥,降低泄漏风险。
  • 日志审计:所有请求都经过代理,在哪里调用、耗时多少、传了什么参数,全部有记录。
  • 模型路由:根据规则把请求分发给不同模型,实现负载均衡或按任务分流。

用生活化的类比,代理层就是公司的总机前台。你找人办事不需要知道每个员工的分机号,只需要告诉前台“我要找技术部”,前台转接过去。将来技术部换人了,你的拨号方式不变,这就是代理层给你省心的核心价值。

2.3 用Nginx给本地模型服务做反向代理

实现代理层有很多方式,但我最推荐新手从Nginx入手。原因很简单:Nginx本身就是一个成熟的反向代理工具,稳定、内存占用低、配置直观,而且在你的个人电脑上跑一个Nginx完全没负担。

假设你已经在电脑上通过Ollama跑起了本地模型,默认地址是http://127.0.0.1:11434。现在你想给外部工具(比如CherryStudio或自己写的脚本)提供一个统一的、带鉴权的访问入口,可以这样配置:

server { listen 8080; # 所有 /v1/ 开头的请求都转给 Ollama 的 OpenAI 兼容接口 location /v1/ { proxy_pass http://127.0.0.1:11434/v1/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # 模型输出可能比较慢,把超时时间拉长 proxy_read_timeout 300s; proxy_connect_timeout 30s; # 限制请求体大小,防止有人传超大内容打爆内存 client_max_body_size 10m; # 简单的Header鉴权,只有带对Key的请求才会被转发 if ($http_x_api_key != "your-local-secret") { return 403; } } }

这段配置看起来不复杂,但有几个细节值得你注意。

第一,proxy_pass后面带了/v1/路径,这很关键。Ollama的OpenAI兼容接口就是挂在/v1/下面的,去掉它路由会404。第二,proxy_read_timeout必须设长,模型生成一段长文本可能需要几十秒甚至几分钟,用默认的60秒超时,响应稍长就会被掐断,这在跑Agent的时候尤其致命。第三,用X-API-Key做最简单的鉴权,虽然只是明文比对,但对个人内网环境已经够用。

配好之后,你所有需要调用模型的工具,只需指向http://127.0.0.1:8080/v1,不用再关心Ollama到底在哪个端口。将来你想把某个请求转发到云端模型,只需要在Nginx里加一条location规则,或者用一个更智能的路由层,客户端代码一行都不用改。

2.4 工具层:让Agent真正“动手”的接口

模型有了,代理层有了,还差最后一块拼图:工具层。Agent不能只靠思考活着,它必须能调用外部工具,才能“跑腿”。

工具层的实现方式,推荐先理解Function Calling的思想:你在请求模型时,通过JSON Schema告诉它有哪些工具可用,模型在推理过程中如果觉得需要某个工具,就在返回内容里携带一个“调用请求”。你的代码负责执行这个请求,把结果回传给模型,模型继续推理。

举个例子,你给Agent注册了两个工具:search_web(query)和read_file(path)。当用户提问“对比Qwen2.5和Llama3.2的Github Star数”时,Agent的思维过程大致是:先调用search_web查两个仓库的Star数据,再调用read_file读取本地笔记里关于这两个模型的评价,最后综合生成结论。整个过程里,Agent像不像一个真正在查资料的人?

工具层的价值在于放大了模型的“执行力”。同样一个模型,没有工具只能写建议,有了工具就能给结果。我甚至见过有人给Agent挂了个自动化测试工具,让它在改完代码后自动跑测试用例,失败就自己修,这就是个人AI助手从“问答”走向“生产”的开始。

3. 实操:搭建一个支持多AI协作的个人助手代理工作台

3.1 目标架构:一个调度者加多个专家Agent

到了真正动手的环节,我会给你一套可以直接复制的架构,而不是零散的命令。

整体的组织方式,我称作“调度者-工人”模型。一个中心调度进程负责接收任务、拆分任务、分发给下游模型,再把结果汇总。下游的模型各司其职:一个模型专职做代码生成,一个模型专职做文本摘要,一个模型专职做信息抽取,它们自己不关心完整任务,只负责把自己那一亩三分地做好。

我把这个架构拆成四层来看:

  • 入口层:接收你的问题或任务,可以是命令行、API接口,也可以是一个简单的网页。
  • 调度层:核心逻辑。负责分析任务,决定调用哪个模型、是否要调用工具、如何合并结果。
  • 路由层:通过Nginx或自建路由服务,把请求分发到对应模型后端。
  • 工具层:一组可被Agent调用的函数,比如读文件、搜日志、执行命令。

这样一个架构有一个明显的好处:每个环节都能独立替换。你觉得摘要模型效果不好,换个模型重新拉起来就行,调度代码不用动。这比起写死一个模型的做法,可维护性高了一个数量级。

3.2 第一步:准备模型运行环境

模型的“大脑”准备

实操从安装Ollama开始。Ollama支持Windows、macOS和Linux,安装完打开终端:

# 拉取一个通用模型和一个代码专用模型 ollama pull qwen2.5:7b ollama pull llama3.2:3b # 启动服务,默认监听 11434 端口 ollama serve

我选Qwen2.5当通用模型,是因为它在中英文混合场景表现均衡,而且中文用户用它做日志整理、周报生成这些日常任务非常顺手。Llama3.2用来做轻量级快速响应,比如意图识别、简单分类,速度快、资源占用小。

如果显卡不够,可以换更小的模型,比如qwen2.5:3b或者phi3:mini。跑不动没关系,个人玩Agent的重点是先把链路跑通,模型效果可以后续慢慢升级。

代理层的准备

按前面给的Nginx配置,把/v1/请求转发到11434端口。然后测试一下:

curl -X POST http://127.0.0.1:8080/v1/chat/completions \ -H "Content-Type: application/json" \ -H "X-API-Key: your-local-secret" \ -d '{"model":"qwen2.5:7b","messages":[{"role":"user","content":"说你好"}]}'

能正常返回内容,说明代理层工作正常,外部工具以后只需要对着8080端口说话就够了。

3.3 第二步:写一个最简的Agent调度循环

我不推荐一上来就上LangChain这类重框架,先用几十行Python把核心循环跑起来,你能对Agent的运行机制有更直观的理解。

import json from openai import OpenAI # 统一走自己的代理层 client = OpenAI( base_url="http://127.0.0.1:8080/v1", api_key="your-local-secret", ) def summarize_text(text: str) -> str: """工具1:调用本地大模型做摘要,限定使用特定模型""" resp = client.chat.completions.create( model="qwen2.5:7b", messages=[ {"role": "user", "content": f"请用三句话概括以下内容:\n{text}"} ], temperature=0.3, ) return resp.choices[0].message.content def extract_keywords(text: str) -> list[str]: """工具2:抽取关键词""" resp = client.chat.completions.create( model="llama3.2:3b", messages=[ {"role": "user", "content": f"提取这段文本的5个关键词,以JSON数组返回:\n{text}"} ], temperature=0, ) return json.loads(resp.choices[0].message.content) def run_agent(user_task: str, available_tools: dict): """最简Agent循环:让模型决定调用哪个工具,把结果喂回去,直到模型认为任务完成""" messages = [ {"role": "system", "content": ( "你是一个任务调度助理。你可以使用以下工具:" + json.dumps([{"name": name, "description": desc} for name, desc in available_tools.items()]) + "。如果需要调用工具,只输出JSON格式:{\"tool\": \"工具名\", \"args\": {...}}" )}, {"role": "user", "content": user_task}, ] for step in range(3): # 最多跑三轮,避免死循环 resp = client.chat.completions.create( model="qwen2.5:7b", messages=messages, temperature=0, ) reply = resp.choices[0].message.content.strip() # 尝试解析成工具调用 try: action = json.loads(reply) if action.get("tool"): tool_name = action["tool"] tool_args = action.get("args", {}) print(f"[step {step}] 调用工具: {tool_name}") result = available_tools[tool_name](**tool_args) messages.append({"role": "assistant", "content": reply}) messages.append({"role": "user", "content": f"工具返回结果:{result},请继续处理或给出最终回答。"}) continue except json.JSONDecodeError: pass # 没有工具调用意图,说明模型给出了最终回答 print(f"[step {step}] 最终回答:") print(reply) return reply print("达到最大步骤,停止循环。") return reply if __name__ == "__main__": run_agent( "请读取本地文件 report.txt 的内容,提取关键词并做三点总结。", { "read_local_file": lambda path: open(path, encoding="utf-8").read()[:2000], "summarize_text": summarize_text, "extract_keywords": extract_keywords, }, )

这个脚本虽然简陋,但它把Agent最核心的“循环”跑通了:模型根据任务内容决定要不要调用工具,调用完工具把结果带回上下文再继续思考。你会看到,真正“决策”的是模型,而你的代码只负责执行工具和搬运消息。

我这里有个心得:不要试图一次性把Agent逻辑写得很完美。先让它只会调一个工具,跑通以后再加第二个、第三个。每加一个工具,都要想清楚它的入参和出参是否清晰,否则模型会陷入到底该传什么参数的纠结,最终输出一堆不规范的调用。

3.4 第三步:让多个AI协作起来

多AI协作是热词里反复出现的方向,但很多人一听“多Agent系统”就觉得要上分布式框架,其实个人场景里,用三种简单的协作模式就够了。

第一种是流水线模式。任务像工厂流水线一样,经过“A模型理解意图 → B模型提取数据 → C模型生成报告”,每个模型只处理一个环节。比如做一场行业调研,第一步用普通模型过滤资料相关性,第二步用信息抽取模型提炼要点,第三步用总结模型组稿。流水线的优势是稳定、可控,每个环节可以单独调优。

第二种是竞争模式。同一个任务同时发给两个不同的模型,谁的答案质量高就取谁的。这个模式在代码评审场景特别好用:一个模型写代码,另一个模型当挑剔的评审员,两个模型对同一段代码各抒己见,最后由你仲裁。

第三种是投票模式。适合做分类或者判断类任务,三个模型各投一票,少数服从多数。比如你写了一段推广文案,拿不准措辞语气,可以让三个模型分别判断“是否自然”“是否会被识别为广告”,综合结果再决定改还是不改。

多AI协作的效果不在于模型数量多,而在于“角色分工”清晰。我给每个模型都写了一份角色说明书,放在调度层的配置里:

{ "router_config": { "default": "qwen2.5:7b", "code": "qwen2.5:7b", "light": "llama3.2:3b", "summary": "qwen2.5:7b" }, "role_prompts": { "code": "你是一名严谨的Python工程师,习惯先写测试再写实现,输出代码必须包含类型标注。", "summary": "你是一名文案编辑,擅长把冗长材料压缩成逻辑清晰的三段式摘要。" } }

调度层根据任务类型选择router_config里的模型,注入对应的role_prompts,剩下的逻辑完全复用同一个Agent循环。你会发现,角色提示词对模型输出的影响,有时候比换一个更大的模型更明显。

3.5 第四步:把外部知识库和工具接进来

Agent如果只能调用“另一个模型”当工具,威力还是有限,真正的生产资料是文件、数据库、网页这些外部资源。

我建议你先把本地文件系统接入Agent,这是性价比最高的一步。给Agent注册几个基础工具:读取文件内容、搜索文件名、统计文件行数、读取最近的日志片段。这些工具完全可以在Python内实现,不需要额外服务。当你能够让Agent自己“翻日志找报错原因”时,你会明显感受到它从一个闲聊机器变成了能干活的生产工具。

再进阶一点,可以接入一个本地向量库做知识库检索。流程是先把你的笔记、文档切片,用嵌入模型转成向量存起来,然后给Agent注册一个search_knowledge_base(query)工具。每次Agent遇到问题,先检索知识库里有没有相关历史沉淀,再结合检索结果生成答案。这一步会让你的Agent拥有“长期记忆”,不再每次对话都从零开始。

接入外部HTTP服务也是常见需求。你可以在工具函数里用requests调用你公司内网的服务接口,比如查工单、查排期。调用时记得要超时处理,不然Agent可能卡在一个永不返回的请求上。

4. 常见问题与踩坑实录

4.1 路由键设计混乱:代理键和自然键的坑

热词里提到的“代理键 自然键”虽然来自数据库领域,但我在AI代理路由里也踩过一模一样的坑。一开始我为每个模型配置了“自然键”,比如用模型全名qwen2.5:7b做路由标识,后来模型升级成qwen2.5:14b,所有依赖旧名字的配置全乱了,代码里还要兼容新旧两种叫法,非常痛苦。

后来我改成“代理键”思路:给每个模型分配一个稳定不变的标识,比如model_code_01,路由层自己维护“代理键 → 实际模型名”的映射关系。任务调度时引用的是代理键,换模型只改映射表,调度逻辑完全不用动。

这个教训我建议你早点吸收:所有路由配置、工具名称、模型标识,尽量使用稳定、无实义、不随版本变化的ID,把“名字”和“实体”解耦。你不想将来每个Agent工具调用都带一串历史遗留的补丁逻辑的话,这一步值得认真做。

4.2 上下文泄漏与Agent“失忆”

Agent跑几轮之后,上下文会越来越长,模型开始“忘记”最初的目标。我遇到过一种典型的失控情况:让Agent对比两个方案,它中途调用了一次工具,工具返回了一大段日志,结果模型被日志带跑偏,开始分析日志内容,完全忘了原始任务是对比方案。

解决思路有两个。第一,在调度层维护“任务记忆”和“工作记忆”的分离。任务记忆是用户最初的目标,每轮循环都把它塞回最后一次消息里,提醒模型不要跑偏。第二,给工具返回内容设上限,比如只回传前2000字符,防止一次性塞入太多噪声。如果你需要处理长文档,应该让Agent先分块读取,而不是让一个工具调用直接把整本书塞进上下文。

4.3 API Key集中管理,别让密钥烂在客户端

我在自己搭代理之前,习惯把各模型服务的API Key直接写在工具脚本里。后来脚本越传越广,有同事问我要代码,我不得不花一个下午把所有硬编码的Key换掉。这件事之后,我把所有密钥统一收口到代理层,客户端只认一个代理层的临时凭证。

Nginx侧可以用X-API-Key做简单校验,更严谨一点可以在代理层做IP白名单,只允许局域网内特定设备访问。再往上走,可以用一个简单的认证服务签发短期令牌,代理层校验令牌后再转发请求。对于个人场景,我建议至少做到两点:真实密钥只存在于代理层环境变量或配置文件中;所有外部访问必须经过鉴权。

日常维护时,还可以定期检查代理层的访问日志,看看有没有异常的调用来源。个人环境的入侵迹象往往就是日志里出现了你不知道IP的请求。

4.4 工具调用失败的死循环

Agent调用工具不是每次都成功的。文件路径打不开、网络请求超时、数据格式不对,这些都是常事。最气人的是,有些模型的“返工”能力很差:工具报错后,它不分析原因,而是用完全相同的参数再调一次,连报错结果都一模一样,形成死循环。

我现在的做法是三层兜底。第一,每个工具函数内部做异常捕获,返回统一的错误结构,比如{"status": "error", "message": "文件不存在"}。第二,在Agent循环里维护一个全局步骤计数器,单轮任务最多执行5次工具调用,超了就强制终止,把已收集的结果返回给用户。第三,工具返回的错误信息后面,附上一句“请修改参数后重试,不要重复相同请求”。别小看这句废话,它对模型的行为约束非常有效。

4.5 本地模型并发与显存排队

本地模型的显存是固定资源,多个请求同时到达时,很容易出现OOM导致服务崩溃。Ollama默认会串行处理请求,排队等待时间过长时,前端会误以为服务挂了。

我给个人工作台加了一个极简的排队策略:在代理层限制并发请求数,超过阈值就返回“忙碌,请稍后再试”,而不是让请求一直挂着。同时把Ollama的OLLAMA_MAX_LOADED_MODELS环境变量设成1,避免多个模型同时驻留显存互相挤占。如果你确实需要多个模型并行服务,就按任务优先级排好队,宁可让低优先级任务多等一会,也不要让高优先级的Agent因为显存不足而中断。

4.6 长任务如何避免“跑一半就断”

Agent做一次复杂任务可能要调用十几次工具,每一次模型推理都要花时间,中间任何一环断掉都会前功尽弃。我开发了一个“断点续跑”的思路:每完成一个工具调用,就把当前的消息历史序列化保存到本地JSON文件。如果进程崩溃,重新启动时加载这个文件,从最后一步继续,而不是从头开始。

这个机制实现起来不难,但对于日常使用体验的提升是颠覆性的。你不需要再守着终端等结果,哪怕半夜任务断了,第二天看一眼断点日志就能续上。

写在最后:先跑通最小闭环,再谈花活

我个人在实际操作中的体会是,AI代理大战再热闹,也不如自己拥有一套可掌控的代理助手来得踏实。搭建这套系统的第一周,我沉迷于加各种工具:自动整理周报、自动归档邮件、自动跑测试。但回过头来发现,最稳定的不是那些花哨的自动化流程,而是我肯花时间打磨的那个最小闭环——一个模型、一个代理层、三个工具函数。

最后分享一个小技巧:给每个模型建一个纯文本的“能力自述”文件,里面写清楚它擅长什么、不擅长什么、适合在多长的上下文中工作。调度层的提示词每次都会读取这个文件,让模型自己给自己画像。这个做法很土,但实测下来比任何花哨的模型路由算法都好使,因为最了解模型的人,不是别人,是你自己在使用中积累的那份记录。

这一仗还没打完,模型会越来越强,工具会越来越多,但个人的护城河永远是对工具的理解和对流程的掌控。趁现在入场,成本最低。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/8 4:11:25

用Python打造技能学习打卡工具:SQLite存储与可视化实践

如果你有过这样的经历:年初信心满满地计划“今年掌握Python”,结果三个月后还在第一章节徘徊,那这篇文章特别适合你。我花了两个周末,用Python写了一个技能学习打卡工具,核心功能就一句话:设定每天学一小时…

作者头像 李华
网站建设 2026/10/8 4:11:23

两级VSC并网逆变器αβ坐标系P-Q解耦控制Simulink仿真

做并网逆变器仿真的朋友,应该都绕不开无功-有功解耦控制。最近我在Simulink里搭了一套基于两电平VSC的实时无功-有功控制器,控制器的电流反馈直接走αβ转换,不经过同步旋转坐标,结果动态性能比我预想的干净很多。这篇记录一下整个…

作者头像 李华
网站建设 2026/10/8 4:11:17

OpenAI Codex Windows版正式发布:一个人就是一支Agent团队

先说点实在的。OpenAI Codex Windows 版正式发布这件事,我觉得值得单独写一篇来聊。它跟我之前用过的那类 AI 编程工具确实不是一个路子——Codex 不是一个只会在光标旁边给你补全代码的助手,而是一个能自己接任务、自己拆任务、自己跑命令、自己看报错、…

作者头像 李华
网站建设 2026/10/8 4:11:08

Grok 4.7 登陆 Bedrock:代码、文档与浏览器任务实战接入指南

1. 从一条更新说起:Grok 4.7 在 Bedrock 上能用了意味着什么前几天刷到一条消息,Grok 4.7 在 Bedrock 上正式可用。我第一反应不是"又一个模型上架",而是"终于不用为了试一个模型去折腾三套账号体系了"。做 AI 应用落地的…

作者头像 李华
网站建设 2026/10/8 4:11:06

匿名模型Space Bunny登顶调用量第一:API接入实战与避坑指南

最近几天,整个 AI 应用开发圈都在聊同一个名字:Space Bunny。各大监测平台上的调用量排行里,这个带着点俏皮味道的模型一路爬升,直接冲到全球调用量第一,社区里好多人拿它和 Anthropic 的 Opus 系列对比,说…

作者头像 李华
网站建设 2026/10/8 4:10:22

CLI-Anything:让GIMP、Inkscape等桌面软件支持Agent调用的神经接口

1. CLI-Anything 是什么:不是 CLI 工具,而是桌面软件的“神经接口” 很多人第一次看到 CLI-Anything 这个名字,下意识会以为它是个类似 curl 或 jq 那样的命令行工具——输入指令、输出结果、完成任务。但实际完全相反: C…

作者头像 李华