powershell 如此难用吗,大模型都绷不住
powershell 如此难用吗,大模型都绷不住
1
tomyark123 23h 1m ago 加 skills 没有改善吗
|
2
ruanimal 22h 59m ago 脑瘫的 "\" 路径符号,导致模型的 shell 命令很容易出问题,比如遇到转义。。
|
3
yafoo 22h 30m ago 每次执行命令都是错几次才成功
|
4
shadowyue OP 我已经绷不住装了 wsl
|
5
Duolingo 22h 20m ago 在本站别人那抄来的适用于 codex 的 AGENTS.md ,自己略微改了一下,其它 agent 改改也能用:
``` ## Windows 约束 **当前环境是 Windows 10 / pwsh7** - 默认禁止使用 Bash 语法,除非确定此 shell 处在 Linux 环境 - 不要使用 Bash 引号/转义习惯,在 PowerShell 命令里,复杂正则优先用单引号包裹。 - 如果正则本身同时包含单引号和双引号,优先拆成多个简单 rg 命令。 - 执行多行 Python 禁止使用 Bash heredoc ;改用 PowerShell here-string | python - - pwsh 中,语句块表达式(如 `foreach`、`if`)不能直接作为管道输入。 需要先使用 `$()` / `@()` 包裹,或先赋值给变量。 普通命令输出可直接进入管道,无需额外包裹。 - PowerShell 使用 `rg` 时,通配目录必须先用 `Get-ChildItem -Filter` 展开为真实路径,禁止直接把含 `*` 的搜索路径传给 `rg`。 ``` |
6
timnotom 22h 13m ago pi agent 默认用的是 git bash ,感觉问题不大? 体验就还行
|
7
lisxour 22h 11m ago @shadowyue 你装了 wsl 之后,命令调用可能宿主 wsl 两个环境混着调用,包括前端一些库是需要编译成本地代码的,很容易命令报错,你楼下的可以用,写了提示词好很多了
|
9
mmdsun 22h 7m ago via iPhone codex 会这样吧 Claude Code 除非你设置了 CLAUDE_CODE_USE_POWERSHELL_TOOL 才会用系统原生命令。
|
10
zed1018 22h 5m ago 其实我发现不光是 pwsh ,zsh 也经常肘击,时不时就出现转义导致的拼接出现问题。
|
12
yippees 21h 39m ago
被 ai psw cmd 转义折腾得,,现在直接让它写个 py / js 运行了.
|
13
yiyiwa 21h 28m ago
windows 下,还有比 pwsh 更加好的吗?这个才是原生啊。
|
14
tianhehechu 21h 21m ago 因为早年互联网的教程、github 的 README ,都有一种奇怪的习惯:
假装个人用户占比最大的 Windows 从未存在, 然后在讲解操作命令的时候,只给出 Linux 命令; 在演示图形操作的时候,录制 Mac 操作操作视频、贴 Mac 操作截图 或者使用 HTML 渲染一个 Mac 窗口作为装饰。 后来训练 AI ,从网络上爬取教程。AI 自然就更熟悉 Linux / Mac 命令。 Mac 搭了 Linux 的便车。 |
15
netlous 21h 16m ago @tianhehechu 好几个倒反天罡的点,都不知道该如何评论了
|
16
CuteGirl 21h 2m ago
各种反人类设计 都不想吐槽
|
17
cellsyx 20h 55m ago
用的人少,训练数据少,AI 容易出错
恶性循环了 |
18
crocoii 20h 44m ago via Android
不如当初继续发展 dos ,现在的 powershell 命令简直没法看。
|
19
ashuai 20h 37m ago @tianhehechu 有没有一种可能,win 用户 99.9999%不用 cli
|
20
coolcoffee 20h 30m ago via iPhone
|
21
liudon 20h 19m ago
前段时间折腾了一个 windows 应用,实在是太难了。。。
|
22
qiubo 19h 1m ago
因为这个原因换了 mac
|
23
Retas 18h 47m ago
是的,WSL 才是归宿
|
24
CatCode 17h 59m ago
作为一个 Win/Linux 双修用户,我的猪脑子都能兼容 Windows Powershell/Powershell 7/Bash ,不知道为啥 AI 还玩不转
|
25
lujiaosama 17h 55m ago 凑活用吧。安装 PowerShell7 和 RG 。 然后全局 AGENTS.MD 里加入以下内容
``` ## Windows 与命令执行 - Windows 环境使用当前 PowerShell 7 ;不得调用 `powershell.exe`(当前机器会降级到 Windows PowerShell 5.1 )。除非任务明确要求,不嵌套调用 `pwsh.exe`、`cmd.exe`、Git Bash 、WSL 或其他 shell 。 - 确需启动独立 PowerShell 7 进程时,使用 `pwsh.exe -NoLogo -NoProfile`,避免加载用户 profile 注入额外命令与配置。 - 直接使用 PowerShell 语法;避免 Unix 命令及 `cat`、`find`、`where` 等含义不明确的别名或同名程序。 - PowerShell 字符串和正则在无需变量展开时使用单引号;需要展开时使用双引号,相邻字符有歧义时写 `${name}`。双引号字符串内使用反引号而非反斜杠转义。 - 多行文本使用 PowerShell here-string ,不使用 Bash heredoc (`<<EOF`)。 - 将 `foreach`、`if` 等语句块的输出接入管道时,使用 `& { ... } | ...` 包裹,不直接在 `}` 后接 `|`。 - 命令失败时先检查命令、路径、引号及退出码,不随意切换 shell 。 ## 检索 - 文本检索优先使用 `rg`,文件枚举优先使用 `rg --files`,按文件名查找使用 `rg --files | rg`。 - 不把含 `*` 的路径直接作为 `rg` 的 PATH 参数;文件类型筛选使用 `-g`,目录通配先用 `Get-ChildItem -Directory -Path` 展开为 `FullName` 后再传给 `rg`。 - `rg` 不可用时,使用 PowerShell 的 `Get-ChildItem` 和 `Select-String`;如需安装工具,先征求用户同意。 - `rg` 退出码 `1` 表示没有匹配结果,不视为执行错误。 ``` |
26
sanxidiot 17h 37m ago
因为 windows 之前的理念就是一切 ALL IN GUI ,cli 这种东西在微软的理念里面本来就该被 gui 给替代。但是问题是微软大公司病,内部斗争非常严重,导致 gui 没做起来,cli 还只有基本功能。结果到了 AI 时代,agent 需要 cli 而不是 gui ,这直接暴露了微软最大的弊病。事实上,要不是 powershell 勉强在公司内斗中保留下来,否则现在微软在 AI 时代会更加尴尬。
|
27
PrinceofInj 17h 34m ago @CuteGirl PowerShell 可不反人类,比 bash 那些反人类的命令记忆方便多了。PowerShell 反的是 AI ,AI 看多了 bash 的那些莫名奇妙的缩写后不认识 PowerShell 的人类可读命令了。
|
28
tianhehechu 15h 7m ago @netlous 你反驳不了事实,所以哑口无言而已
|
29
LokiSharp 14h 44m ago
历史遗留原因 pwsh 有很多个版本,AI 的语料会被交叉污染
|
30
CivAx 14h 41m ago
@tianhehechu #28 说得好,希望你能为全世界商业公司最依赖的 CRI 写一份 Powershell compatible layer
|
31
mxT52CRuqR6o5 14h 5m ago 我觉得和反不反人类关系不大,跟后训练关系很大,很难想象大模型厂商会用 windows 环境去后训练
|
33
CuteGirl 9h 38m ago
@PrinceofInj 如果 PowerShell 的那些命令和 bash 比都不算反人类 那我真的无话可说
|
34
maolon 9h 33m ago
openai 买了一堆 mac 用来专项训练模型的 computer use 和 terminal use ,但是你从来没听说 openai 买了哪家的 windows 机器来专项训练这个
|
35
xiangran0028 9h 31m ago
年初放弃 win 了,改用 mac 开发嵌入式之后爽的一批
|
36
Msxx 8h 49m ago via Android 一部分原因是默认安装 powershell5 导致的,powershell7 问题就能明显减少,但又不是默认版本,导致 AI 为了兼容性也经常使用 5 的写法,不过 ChatGPT5.6 在这方面有明显改善了,之前 ChatGPT5.5 经常出问题。
|
37
PrinceofInj 8h 24m ago via Android
@CuteGirl 考你一下 get-netadapter 这个 cmdlet 是做什么的?不要查,直接猜。另外 ss 是干什么的?也不要查,直接猜。
|
38
privater 8h 15m ago 历史渊源吧,ai 研究是从大学实验室出来的,而大学里面 CS 基本 linux + Mac 占了绝对的主流。
哪怕是 10 多年前还在深度学习时各种 python ,jupyter 的东西都是主流的演示和教程环境了,如今的 AI 不过是延续了这个习惯,Windows 是真的小众。 反倒是国内,因为当初盗版 Windows 的流行,让 Win 成了绝对的办公主流平台,反而逆向影响到了大学和研究部门的倾向和采购。举个例子,海外的任何网站和服务都不需要安装 IE 插件,而 10 多年前各种学校还是银行 IE 插件都是主流,你即便是用 Mac 或者 linux 都寸步难行,挂个虚拟机跑 IE 都是刚需。 时间再往前,大家也发现 MS 这公司别看 20 年前是巨人,在如今的世界认知范围里面都是二流存在,其中就包括他家各种内斗和抢夺资源导致自己的技术很难服人,所以即便是 powershell 也没法成为事实上的主流,而本部还有 wsl 这类东西挖墙脚。简单来说就是技不如人,理不服众,你还有去追随这种非主流就是自己负担概念转换成本了。 |
39
junyee 8h 5m ago
我自学了一堆语言和脚本.唯独这个 powershell 学不进去.
可能是碰巧没去学 C#. 而且 powershell 版本太多,换个环境就不一定能完整 执行,当然这其中有版本和精简原因,而不像 linux 所有 shell 都支持 ash. 批处理入门快,但是上限低,坑也同样多. 如没有统一的转义符. '/' 用在了路径符, '^' 在某些情况也会出问题(这个符号在正则时又被常用到),有的命令需要使用双符号来转义 . 交互式和批处理又不一样. 没有 stdout 输出捕获符导致只能用 for ,这又带来更多天坑. 然后 win32 历史原因,代码页,换行符又会带来一堆异想不到的问题. |
40
zuosiruan 7h 39m ago via iPhone
powersbell7+,我用的倒是非常流畅。
|
41
ko20 7h 19m ago
|
42
fredweili 7h 13m ago
美国开发者都是 mac ,win ? who care?
|
43
DoomSlayer 7h 6m ago via Android
@zxjxzj9 试试 oh my posh
|
44
zealotxxxx 7h 4m ago
你没发现因为 ai 的缘故,跟 ai 相关的应用几乎都是 mac + win 么。而且大多数还都是 mac 先上。
|
45
skinny 6h 55m ago
管道结果是一个坑,你不能确定返回值是一个对象还是一个数组,除非你强制转换成数组。
部分命令因为历史原因有坑,为了保证兼容性坑也保留了,比如删除命令的递归搜索删除,它的命令参数和直觉非常不符,必需搭配递归查询再通过管道删除。 写脚本时按推荐风格是应该使用完整拼写的,但是它又提供很多缩写别名,很多人图省事就全是缩写,AI 都学了忘,所以写得差 |
46
Rorysky 6h 53m ago
我记得去年 ai coding 能力还不是那么好的时,让 kimi 写了一个 powershell 脚本,整整写了一天,大概用了 50% 月额度,主要坑就是 中文编码 和版本支持啥的问题。当然我是在 mac 上让它写的
|
47
vioulo 6h 47m ago
之前用 codex 会给代码里面加其他编码的字符,经常是改下代码,代码里面的中文注释就乱码了,我还每次让它修。我后面就直接用 linux 解决了
|
48
coconne 6h 44m ago
装 fastctx ,然后让 ai 帮你写个 powershell7 的规范(有部分 win 系统命令还是需要 powershell )
|
49
coconne 6h 43m ago
不过 fastctx 只支持 codex/cli ,忘记说了
|
50
cloudzhou 6h 42m ago @tianhehechu 事实个鬼啊,别说 PowerShell ,之前的 window cmd 我就没见几个人用过
你这就叫倒置因果,不是什么坏习惯,而是 windows 的命令行,从来不是占主流 unix/linux 世界本来留下丰富的文档,而 ai 天然本文友好,这些知识库手到擒来 朋友们,https://man7.org/linux/man-pages/man1/man.1.html 庞大的 man 文档世界 每一条命令,每一个 libc 关键原语,都在这里详细的说明者,可以说从计算机体系诞生延续到现在,数代人的积累 |
51
tf2 6h 39m ago
powershell 算勉强能用。。
cmd 那一坨你写都头痛。。 |
52
richiewu 6h 9m ago
@PrinceofInj AI 又不需要见文生义,要的是一致性的训练数据,要的是输出也是标准输出流方便解析
|
53
tianhehechu 5h 57m ago
@cloudzhou 看清我的原文了吗,命令好、图像操作演示,甚至官方文档示例,都拿 Mac 举例。
|
54
cloudzhou 5h 53m ago @tianhehechu 你有没有想过,如果开发者本身不是使用 Mac ,或者类 Unix 系统,列举的命令之类的,还真没有太多人,本来 Windows 开发的,然后还专门给你转成 Max/Unix 命令
“然后在讲解操作命令的时候,只给出 Linux 命令;” 我反驳的,就是你这一点,如果自己开发用 Windows ,大概率就会带上 Windows 的开发文档,包括命令 |
55
nosay 5h 51m ago
@tianhehechu #14 对对对,别人做个演示,还得特意买个 Mac 是吧?今日笑点被你承包了
|
56
Hansah 5h 44m ago
我是用 win11+PS7 ,没遇到你们说的问题啊
|
57
ShadowPower 5h 31m ago
倒不是 powershell 难用
只是大模型训练数据里全是 bash 我用 fish ,出问题的概率都比 bash 大 |
58
xiangyuecn 5h 29m ago
为什么不直接内置一个 python node java 还能固定环境版本 还能跨平台,随便用个都行啊,几十 G 都可以占用 还差这几十 M 吗🙂
本身很多东西就得装 python 直接内置一个多好 |
59
lanfeng579 5h 20m ago
@richiewu 所以楼主说的是反 AI ,但是不反人类
|
60
Zenon 5h 18m ago
@tianhehechu #14 正经人谁用 Windows CLI 啊
|
61
marcong95 5h 9m ago
Win 10 + PS 5.1 体感还好,遇到的主要还是 GBK 编码导致的问题
|
62
v2exgo 4h 50m ago @tianhehechu #14
有没有一种可能,奇怪是你,而不是互联网上所有的教材 |
63
v2exgo 4h 45m ago
2026 年了,就别用 Windows 进行开发了。
|
64
Ryanzlab 4h 38m ago
为什么不装 powershell7 和 WSL2,你基本上不会遇到大战 powershell 的情况。。。
|
65
kaf 4h 28m ago
用 git 命令行不就好了
|
66
SomeBottle 4h 9m ago
确实应该还是后训练中 powershell 的相关数据少了的缘故,对模型来说其 shell 母语更多是 Unix 系的,这也就会导致写 powershell 命令时出现转义出错、不知道其对变量名大小写敏感等问题,严重的时候会造成毁灭性的数据误删
(一个 Codex 的真实案例就是 Agent 在一个脚本中用 $home 表示临时目录(因为临时目录名字里含有 home ),随后删除这个临时目录,$home 在此等同于只读的 $HOME ,powershell 不允许赋值,但不会阻止后续删除的执行,因此造成了严重的数据损失)。 Windows 上开发的话尽量还是用 Git Bash 或者 WSL 吧。 |
67
duolanengda 2h 47m ago
我其实没搞懂,明明加几句 prompt 就能让 agent 使用 pwsh 能少出现不少问题,为什么 codex 和 claude 偏偏不这么做吗,是不是 openAI 和 Anthropic 的人自己也几乎不用 Windows
|
68
jaylengao 2h 43m ago
已经全部切到 Wsl 了,WezTerm+Herdr ,体感良好。
|
69
rb6221 2h 35m ago
很多人都在说什么开发者都用 Linux/mac 云云,有没有想过,当 coding 需求增长见底的时候,你的用户人群已经开始有越来越多的办公领域小白,那你还不用 win 平台语料去加强训练,怪我是吧?那就别怪我用钱投票了
|
70
visitantzj 2h 34m ago
说反了,cmd/vbs 也好各种 shell 也好才是真反人类,长时间不用就记得一团浆糊;一直觉得 Powershell 这个命令体系设计得太天才了,以前没 AI 的时候经常靠命令行提示就能折腾个八九不离十,没错,就是纯靠猜能给你整出来。Bash 顺手纯粹是用得多习惯了,非说好那才叫斯德哥尔摩。
|
71
Geon97 2h 15m ago
难用微软偏要设计出来反人类的东西,我直接就 git bash
|
72
seenthewind 2h 14m ago
不建议在 windows 上用 agent ,我在 mac 和 Linux ( ubuntu )上都部署过不同的 agent 。
同样的事情,在 windows 上消耗 token 的速度是最快的,甚至很快就都达到 token 上限。(我用的频率不高,之前不怎么达到) 我只能理解是国外大多的 agent 都不是在 windows 原生设计的,所以对 win 的支持差到离谱。 |
73
sagnitude 2h 6m ago
deepseek harness 会自动用 pwsh 用的挺好的,没怎么见报错
|
74
cj941030 2h 5m ago
终于有人发这个贴了。再加上有些客户端,包括 codex 之前有版本有 bug ,错误的跑到 wsl 执行命令,本机环境乱的跟坨 x 一样,到处报错
|
75
unused 1h 46m ago
CLI 在 *nix 是一等公民,在 Windows 上是二等
|
76
netlous 1h 33m ago
@tianhehechu 如果有人说人类是靠着头发排开空气产生浮力来走路,我根本无力争辩
|
77
dingwen07 1h 20m ago
PowerShell 现在只是缺训练数据,实际上这玩意可比 sh 、bash 和 zsh 都要适合 LLM
PS 最大的问题是多行命令用的是 ` |
78
missx 1h 1m ago
反正,我用 MiniMax code 什么的经常遇到命令报错
|
79
jark006 28 mins ago
我现在除了必须需要 Windows 的项目,其他一律在 Ubuntu/WSL 下开发。bash 和大模型亲和力太强了,一用 powershell 就打架,强如 opus/gpt 也偶尔犯错,万一哪天一个转义语法错误,删了重要文件就 GG 了
|