V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Chuckle  ›  全部回复第 1 页 / 共 12 页
回复总数  236
1  2  3  4  5  6  7  8  9  10 ... 12  
3 天前
回复了 DeepSIeep 创建的主题 程序员 你们 code 都用哪个 AI。费用多少啊
公司开的 cursor ,这个月已经 100 多刀了
8 天前
回复了 Comyn 创建的主题 Java ai 编程的情况在你们使用什么 IDE
vscode 族群 https://i.imgur.com/agAJ0Rd.png 现在用 cursor
@linhey #8 看了,我们一个微前端 app 入口 50 多个依赖包,依赖包还有依赖包,业务组件都是封装抽离的,构建注入这套不现实,在看 bippy 动态注入的方案了
10 天前
回复了 287854442 创建的主题 程序员 MCP 是不是已经死了?没人再提这个了
skill 本身就是个 tool ,也就是个 mcp 协议的东西
@linhey #5 组件在依赖包里怎么办,发到生产包的总不能编译时注入 debug-data 属性吧 https://i.imgur.com/MAyk5GN.png
@Chuckle 只改 app 的构建,能做到给安装的依赖包产物里的组件加上 data-***的额外信息么
最近刚好也需要个从页面元素定位到源码的方案,为的也是 AI 能知道要改哪里、影响范围评估等等。
umi+qiankun 微前端,要改的东西都在独立包里,app 工程就是个页面入口,有时候套快 5 层包人找起来很麻烦,本地只跑 app 的 source map 也没用,安装的包产物都是服务器构建出来的,构建时在节点上注入大量信息也不太行,除非每个包都构建两个版本,构建生产 app 用的 和 开发时带信息的产物。
我现在做法是提取 dom 特征节点(还是有注入一些特殊属性的)、url 路径等元信息,克隆所有的几百个包到本地,让 AI 自己先暴力找,确实能找到,就是慢,也费 token 。优化的话,找到了就把信息落向量数据库里,类似 RAG 一样,特征信息变动还是少的,特征节点嵌套结构也稳定,下次找就快了,至少能快速找到对应包工程,再去定位具体代码。
不过,如果从 React 本身入手,模仿 React Scan 运行时注入应该更好?
另外 AI 写代码确实好用,就是测试起来太麻烦了,很难自闭环,业务链路长又大,e2e 测试的时候没数据,或者接口报错,AI 能自己 call 后端,或者自己造、自己修(
光结构化替换的话信息本身没变,对 AI 来说没区别,要是塞多无用中间代码,200k 上下文里就 1k 有效代码的话,信息多了,对 AI 才有点麻烦
nestjs ,司内内部服务、监控之类的都用它,业务还是用 java
12 天前
回复了 x1024m 创建的主题 程序员 怪不得这么多中转站
哪有平白无故的便宜,就差库克做苹果 ai 都得买中转了
13 天前
回复了 blueeon 创建的主题 程序员 为什么放弃了 RAG? RAG 的六大难题
思路不错,大模型缺少的始终是信息,无论是提示词工程还是知识库,都是为了更好地给大模型提供信息,剩下的就是相信大模型本身的计算能力了,我也在考虑将信息抽象若干层,当然这个若干层不能是人定的,而是用模型学习计算出来的,形成一张可扩展的、有层次的信息地图。让大模型能够自由寻找。这有点像人脑的记忆结构,人脑也会压缩记忆信息,回想起来的时候,往往只是模模糊糊知道大概发生了什么,有什么人、做了什么事之类的,如果需要想起来,可能会去找照片、录像、日记等等。
13 天前
回复了 383394544 创建的主题 Google Antigravity 清空了我的 .zshrc
有上下文可以回滚,不过就怕是命令删除、清空了文件,这种文件内容不在上下文的,或者上下文已经被压缩了,就寄了,话说现在这些 agent 为啥不考虑搞个备份机制,每次对现有文件的写操作都先把原文件备份到一个地方,这个地方设置个 50g 也够用了吧,新的替代旧的
21 天前
回复了 Surfire 创建的主题 macOS 昨晚升级完 26.3.1 以后🪜用不了了?
clash x pro 无问题
@capgrey 嗯,抓包看了下,mcp 是 schema fc ,skill 也放在 tools 里,看起来就是预设提示词,很灵活,大模型要了之后才把对应的 skill.md 读给大模型,神 token 啊
那感觉要是团队协作的话,能搞个类似 git 的工具呀,记录每个人产生的 AI 改动及对应的对话啥的,然后每次对话结束都让 AI 自己总结这个项目注意的点,AI 对话时容易出错的地方等等到一个 markdown 里,不断迭代,这个项目就越来越被 AI 熟悉了?就是感觉久了之后仓库大小会爆炸。。。。https://i.imgur.com/N9E3iZ2.png
@povsister 怎么说呢,好像也没有比这更好的设计了 https://i.imgur.com/NIvxivj.png 大模型 API 好像有个通用的 oneAPI 来着,看消息格式也是老熟悉的 schema 呀 https://i.imgur.com/NtlrLSd.png
cursor 的回答,看起来大差不差。

1. 一堆 Markdown + 「描述每个干啥」+ AI 挑着读?
对,就是这么设计的。

Cursor:.cursor/rules/ 里每个规则是 markdown (或 .mdc ),用 YAML frontmatter 写:
globs:匹配哪些文件时这条规则生效
description:这条规则在什么情况下有用
alwaysApply:是否每次都带
客户端/Agent 根据「当前对话涉及的文件 + 描述」决定哪些规则被加入本次请求,相当于「按需挑着读」。

Claude Code:.claude/rules/ 里也是多份 markdown ,可以用 frontmatter 的 paths 做路径匹配,只有命中当前工作文件时才加载对应规则,同样是「按需」。

所以:有结构的 markdown 组合 + 用 frontmatter/描述说明「每条干啥、何时用」+ 由客户端/Agent 根据当前上下文决定带哪几条,这个理解是对的。

2. JSON 是干啥的?给 AI 读还是给代码读?
两种都有:

给人/给 AI 的说明:很多项目里会有 README 、CONTRIBUTING.mdAGENTS.md 等,是自然语言 + 一点约定格式(比如「## 规则」「## 命令」),主要给 AI 当说明读。

给程序读的配置:
Cursor 的规则列表/索引可能用配置(不一定是裸 JSON ,也可能是 YAML )记录「规则文件路径、glob 、描述」等,客户端代码读这些配置,决定本次请求要附上哪些规则、以什么顺序。
Claude Code 的 .claude/settings.json 是结构化配置,给 Claude Code 客户端读,不是给模型当「正文」读的。

所以:JSON/配置 = 给客户端程序做「规则调度、匹配、优先级」; markdown = 给模型当「可读的规则/说明」。模型主要吃的是 markdown 内容,不是 JSON 结构本身。

3. Markdown 里是「没特定结构的自然语言」吗?
不完全是。通常会有约定俗成的结构,但不是严格 schema:

常见区块:项目概述、常用命令、目录结构、命名/代码风格、禁止事项、示例等。

仍然是自然语言句子 + 列表 + 代码块,没有强制「必须有哪些 key 」的 JSON 式结构。

有的客户端会约定简单 frontmatter (如 globs 、description 、paths ),其余正文自由写。

所以:半结构:有惯用区块 + 自然语言描述规则/规范,不是完全无结构,也不是完全像 API schema 那样死板。

4. 目录结构:.claude 、.cursor 、AGENTS.md
是的,各客户端有自己约定的目录/文件:

Cursor:.cursor/rules/(多条规则)、历史上有 .cursorrules 单文件。

Claude Code:.claude/(如 settings.json )、.claude/rules/、根目录 CLAUDE.md

通用/多客户端:很多项目会放 AGENTS.md 或 README 里写「给 AI 的说明」,谁支持谁就读。

所以:是的,大家会把「给 AI 用的东西」按各客户端的约定放到特定文件夹(如 .cursor 、.claude )或根目录固定文件名(如 AGENTS.md ),不同客户端各读各的。

5. 调外部能力:HTTP 还是 stdio ?谁发请求?能力谁提供?
两种都有,而且「谁发请求」要分清:

MCP ( Model Context Protocol )里常见两种传输:
stdio:和本地进程用标准输入输出通信(例如本地 MCP server 、本地后端)。
HTTP:和本地或远程 HTTP 服务通信。

谁真正发请求:
模型只做决策:「我要调某个 tool (例如 get_hitokoto )」。
真正发 HTTP 、读文件、执行命令的,是 AI 客户端( Cursor/Claude Code 等)或 MCP 客户端。
客户端根据「当前可用的 tool 列表 + 模型选的 tool + 参数」去执行:发请求、调 MCP 、跑 shell 等。

Markdown 里写啥:若你自己写一个 MCP server 或 HTTP API (比如「一言」),一般会在规则/文档里写:请求地址、方法、入参/出参长什么样,这样 AI 在「工具描述」或上下文中看到后,才知道该选哪个 tool 、传什么参数。工具本身的 schema (名字、参数、描述)往往由 MCP server 或客户端配置提供,markdown 更多是补充说明、示例、注意事项。

所以:通信方式 = HTTP 或 stdio 都常见;发请求/读写文件/执行命令 = 客户端或 MCP 客户端自带或通过 MCP 获得; markdown 里写请求地址、入参出参是为了让 AI 正确选择并填写参数。

6. 和 AI API 发请求时传啥?「按需传」怎么实现?
传的是「一串」多段内容,但不会无脑全塞:

发给模型的大致组成:
系统提示(含「你是什么、默认行为」);
被选中的规则/文档(上面说的「挑出来的」 markdown 等);
对话历史(可能截断或摘要);
当前用户消息;
有时还有「当前打开/选中的文件」等。
这些在客户端里会拼成一条或几条消息(例如 system + user/assistant 轮次),本质上就是字符串( token 序列),再加上校验、会话 id 、模型参数等 API 元数据。

「不能一股脑都传」怎么办:
规则/文档:用 globs / paths / description 做匹配,只把「和当前编辑文件、当前问题相关的」规则附进本次请求;
代码库:用语义检索( embeddings + 向量相似度)或路径/符号索引,只取「和当前问题最相关的片段」放进上下文;
对话历史:超过一定长度就截断、摘要或滑动窗口,保证不超模型 context 上限。

所以:和 API 交互时,除了鉴权、会话、模型参数,主要就是在传「选好的规则 + 选好的上下文 + 对话」组成的字符串;按需传 = 客户端用匹配规则 + 检索/索引 + 历史裁剪,只把「用得上的」塞进这次请求,而不是把整个仓库和所有规则都塞进去。
别吵了,前后端都用 js 吧,开发起来绝对快 https://i.imgur.com/agAJ0Rd.png 我们这是真前端自己用 nestjs 写低代码、监控之类的后端
@air1314 是公司号,先换成 sonnet 用用吧,主要不知道这 token 咋算的,其它都 0.几刀
正确的姿势? cursor 开 opus4.5 ,用量付费先设个 1w 刀额度。没错,ai 编程=花钱编程,所谓各种技术啥的就是大力(上下文)出奇迹,简单点,每次把你写好的提示文,复制粘贴几次再发送,效果都能有明显提升。
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5786 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 06:45 · PVG 14:45 · LAX 23:45 · JFK 02:45
♥ Do have faith in what you're doing.