专栏名称: 赛博禅心
拜AI古佛,修赛博禅心
目录
相关文章推荐
FBIF食品饮料创新  ·  半年500%:三只松鼠短视频时代的增长之道! ·  3 天前  
AIGC开放社区  ·  炸裂!OpenAI的Sora惨遭泄露,有人用上了! ·  6 天前  
AIGC开放社区  ·  炸裂!OpenAI的Sora惨遭泄露,有人用上了! ·  6 天前  
51好读  ›  专栏  ›  赛博禅心

读屏不靠截图:ChatGPT 客户端的原理、实现与边界

赛博禅心  · 公众号  · 互联网短视频  · 2024-11-19 20:24

正文

ChatGPT 的 Mac 客户端现在可以连接常用的一些应用程序,比如 VSCode、XCode、iTerm2,这样可以直接就这些应用程序上的内容去提问,效果很棒! 

地址:https://openai.com/chatgpt/desktop 


它基于原生应用程序的能力以及加上用户对它的授权,可以获取到这些应用当前窗口的内容,然后将窗口的内容整理成提示词一起提交到 GPT,这样 GPT 就可以根据窗口内容来处理了,提示词类似于下面这样: 

<windows><instructions>
You are being provided with textfield content from windows the user has asked you to focus on.
instructions><window><title>Visual Studio Codetitle><app_name>Codeapp_name><textfields><textfield id="窗口文件名">
【窗口内容】
textfield>textfields>window>windows>


 

通过请求分析,可发现:它不是通过截图获取内容的,是直接获取窗口完整内容的,比如VSCode,需要额外安装插件以获取完整文本,所以窗口被遮挡也没关系。 



具体的请求分析

可以将鼠标悬停在 ChatGPT Mac 客户端横幅上,查看 ChatGPT 发送哪些内容。 

 

在历史消息中,鼠标悬停在消息顶部,也可以看发送过的内容。 



工程技巧与边界

仔细查看,发现:

  • 使用编辑器和 IDE(Xcode、VS Code、TextEdit)时,ChatGPT 会包含打开的编辑器窗格的全部内容,直到达到最大长度限制被截断。

  • 如果在编辑器中选择文本,ChatGPT 会重点关注选中的内容,窗口的全部内容仍然会包含在上下文中。

  • 使用命令行窗口(Terminal、iTerm)时ChatGPT 包含最后 200 行内容。如果在窗口中选中文本,ChatGPT 将重点关注所选内容以及相邻文本,直至截断限制。

 

这个功能确实不错,但要说能替代 Cursor 那还太扯了: 

  • 它不是项目级别的,只是窗口级别的,编程是要用到整个代码库的

  • 它的结果不能自动更新回窗口,需要手动复制粘贴