Home
Language
English
Türkçe
Bahasa Indonesia
About
Privacy Policy
Terms of Service
Pricing
Sign In
Download All
Share
Rin06
@Rin1785342
web3 冲浪中~
Joined September 2024
67
Following
172
Followers
332
Posts
Rin06
@Rin1785342
14 minutes ago
挤破头进大厂的人,常常把平台的光环误当成了自己的实力。AI 正在让小团队甚至一个人做出过去要一个部门才能做的产品,名片上的公司名称撑不了一辈子,能被人点名找上门的才是真本事。平台可以借力,但别把它当成你的简历本身。
Rin06
@Rin1785342
about 1 hour ago
不敢裸辞的人,怕的往往不是没收入,而是离开工牌之后不知道自己还值多少钱。AI 让一个人就能完成过去一个小团队的交付,先在业余时间验证自己能独立赚到第一块钱,比任何辞职信都有底气。走不走都行,但别让恐惧替你做决定。
Rin06
@Rin1785342
about 1 hour ago
为了躲开就业而读研的人,常常是花三年时间推迟一个迟早要做的决定。AI 正在把很多岗位的门槛从学历换成作品,毕业时手里只多了一张更贵的文凭,未必比早三年上手的人更有底气。学历可以加分,但别把它当成避难所。
Rin06
@Rin1785342
about 11 hours ago
疯狂考证的人,常常把收集证书当成了积累能力。AI 已经能在几秒内答对大部分证书考试的题目,雇主越来越想看的是你用它做成过什么。证书可以敲门,但别指望它替你开口。
Rin06
@Rin1785342
about 11 hours ago
说用 AI 写东西就是作弊的人,当年大概也觉得用计算器算账不算本事。工具从来不决定作品的高低,决定高低的是你提的问题和你做的取舍。真正该担心的不是别人用了 AI,而是你还在假装自己不需要。
Rin06
@Rin1785342
about 12 hours ago
觉得必须留在一线城市才有机会的人,可能还在用十年前的地图找路。AI 和远程协作让很多能力不再绑定工位和户口,在小城用大城市的报价接活已经不是新鲜事。城市可以选,但别把房租当成入场门票。
Rin06
@Rin1785342
about 12 hours ago
把在一家公司干满十年当成资历的人,可能只是把一年的经验重复了十次。AI 每半年就在改写一次工作方式,留在原地的人最先感受到的不是安稳,而是落后。忠诚可以给公司,但成长得留给自己。
Rin06
@Rin1785342
about 12 hours ago
@wasabi1029
互关!
Rin06
@Rin1785342
about 18 hours ago
有求不一定能应,但有关注必回
#浇朋友
#蓝V互动
Rin06
@Rin1785342
about 12 hours ago
@zhangyifk
互关!
Rin06
@Rin1785342
about 12 hours ago
@ailiangzi
已落地,在生产中使用!
Rin06
@Rin1785342
about 18 hours ago
从零设计一个 Agent 后端:一套能移植到任何系统的设计思路 都说 Agent 就是一个循环,看起来很简单。但真要自己做一个,要考虑的事情不少:怎么适配多家模型,怎么保证命令执行安全,在模型快速进化的今天,又要怎么设计 Harness 才能一直扩展下去。 这篇我从零设计一个 Agent 后端。比"Agent 怎么写"更重要的是,这套思路可以搬到任何系统上。 一、先把流程理清楚 一个 Agent 后端大致这样工作: 1. 新建一个对话,或者继续之前的对话。 2. 收到前端发来的用户消息。 3. 把指令、可用工具、历史消息组成上下文。 4. 把上下文发给模型,拿到回复。 5. 如果回复里有工具调用,就再调一次模型,审核这次调用是否合理(审核要单独组织一份上下文)。 6. 审核通过就执行工具,把结果连同之前的上下文一起再发给模型;审核不通过就返回拒绝原因。 7. 重复第 3 到第 6 步,直到模型不再调用工具,或者循环次数到了上限,再把结果返回前端。 过程中每条消息产生时都要持久化存储。 这个流程实现起来不难。不做任何设计,一个函数负责一步也能跑起来,但代码会很难维护、很难测试。想把模型从 OpenAI 换成 Anthropic 的协议,要改好几个地方;想测一下流程,就得真的调用模型,又贵又慢。 所以我们把系统分成三层,每层负责一种性质的工作。 二、三层结构 领域层:定义系统自己的语言。什么是对话,什么是工具,什么是上下文。每个系统对这些概念都有自己的理解,怎么定义它们,就决定了这个系统长什么样。 应用层:把这些概念编排成完整的应用。先做什么、后做什么,什么时候继续循环,什么时候结束。 适配层:把外部的东西翻译成我们自己的语言。外部存储、外部模型对概念的定义肯定和我们不一样。比如我们的对话是一个 Session 对象,存进 JSONL 文件是一行行 JSON,存进数据库是表里一条条记录。适配层负责来回翻译,让 Session 能在系统和外部之间流动。 你会发现,应用层和适配层都是为领域层服务的。确实如此,因为怎么定义领域,就是一个系统的本质。 三、对话:Session 对话是整个系统最重要的概念,因为系统的表现形式就是对话。 Session 里装: - id:字符串,方便以后继续这个对话。 - messages:消息列表,会随对话增长,所以再配一个 append 方法加入新消息。 消息有三种: - UserMessage:用户发的文本。 - AssistantMessage:模型的回复,除了文本还可能有工具调用。工具调用用 ToolCall 包装,包含 id、工具名和参数。 - ToolResult:工具执行结果,用 tool_call_id 说明是哪次调用的结果,content 存结果内容。 存取对话,在应用层定义一个 SessionStore,规定需要哪些方法:列出对话、保存对话、读取对话。 你可能会问,不是说和外部打交道的事放适配层吗?因为 SessionStore 只是一个接口,它只说明应用层需要什么。具体实现放在适配层,比如我用 JSONL 存,就写一个 JsonlSessionStore,多一个文件路径字段。这样编排流程时只依赖接口,不依赖具体实现:换技术很方便,测试时也能换成一个假的存储。这就是依赖倒置。 四、工具:Tool 组织上下文时要告诉模型有哪些工具,第 6 步还要真正执行工具。所以在领域层定义 Tool: - name:让模型能指定工具。 - description:让模型知道工具的用途。 - parameters:让模型知道要传什么参数。 - execute 方法:输入模型给的参数,输出 ToolResult 的 content。工具最重要的意义就是能被执行。 具体工具在适配层直接实现这个接口就行,比如一个让模型执行命令的 BashTool。 五、上下文:Context 调用模型时发的上下文到底是什么?在领域层定义 Context: - instruction:告诉模型这次做什么、守什么规则。 - tools:可用工具。 - messages:历史消息。 - output_type:规定模型返回什么类型的对象。 当然还可以加记忆、AGENTS.md 之类的字段,这里先保留最基础的四个。 因为 Context 会用在不同任务上,输出类型也不同:回复用户时要的是 AssistantMessage,审核工具调用时要的是审核结论。所以输出类型用泛型来定义。 六、调用模型:ModelClient 和 SessionStore 一样,在应用层定义一个 ModelClient 接口,只有一个方法 generate:传入 Context 和模型设置,返回 Context 里 output_type 指定的类型。 模型设置用 ModelSettings 包装,里面是用哪个模型和思考深度 effort,因为这两个参数总是成对出现。effort 我们自己定义了 6 档,和各家厂商的说法不一样,交给适配层翻译。 适配层实现三个主流协议:OpenAI、Anthropic 和 Google。光是"思考深度"这一个参数,三家叫法就不同:OpenAI 叫 reasoning_effort,Anthropic 叫 output_config.effort,Gemini 叫 thinking_level。以后出现新协议,在适配层再写一个类就行。只要实现了 ModelClient 接口,应用层一行代码都不用改。 七、两个角色:Assistant 和 ToolCallReviewer 回复用户和审核工具调用,需要的上下文不一样,所以定义两个角色来生成各自的上下文。 Assistant:负责回复用户。有自己的 instruction 和 tools,context 方法输入 Session,输出一个 output_type 为 AssistantMessage 的 Context。 ToolCallReviewer:负责审核工具调用。有自己的 instruction,但不需要工具。context 方法输入 Session 和待审核的 ToolCall,输出一个 output_type 为 Decision 的 Context。 Decision 是新定义的类型,包含两样东西:这次调用能不能执行,以及拒绝原因。被拒绝时,这个原因会作为 ToolResult 的 content 返回给模型。 到这里,领域层该定义的都定义完了。 八、编排:AgentService 在应用层定义 AgentService 包装整个流程。它持有: - ModelClient 和 SessionStore,用来调用外部服务。 - Assistant 和 Reviewer 两个角色,以及各自的模型设置。两个角色可以用不同的模型和思考深度,Reviewer 完全可以用更便宜、更快的模型。 - max_iterations:循环次数上限,防止模型反复调工具停不下来。 前端要用的功能都在 AgentService 里定义,比如新建对话、列出对话、发送消息。前端是命令行还是网页,应用层不关心,那是适配层的事:网页就提供一个 HTTP 接口,把请求转成对 AgentService 的调用;以后加命令行前端,再加一个适配器就行。 九、组装根 三层写完,还差最后一步:把它们接起来。现在各层只通过抽象打交道,AgentService 只认识 ModelClient 和 SessionStore,不知道有 AnthropicClient 和 JsonlSessionStore。 需要一个地方把具体的类创建出来、接到一起,这就是组装根,也是启动服务的地方。它是整个系统里唯一知道所有具体类的地方。以后换模型、换存储、换入口,都只改这一个文件。比如从 Claude 换成 GPT,只要改一行。 设计完成后,你可以把这些设计结论整个丢给 AI,让它帮你实现。记得加上 TDD 的策略,先写测试再实现。接口都限定好了,AI 只需要填功能,代码质量就不会差到哪去。 十、总结这套思路 先梳理流程,建立系统自己的语言作为领域层。再在应用层编排流程,并为外部服务定义接口。然后在适配层实现这些接口。最后用组装根把具体的类接起来。 这套思路可以用在任何系统上,不只是 Agent。 留两个作业 如果你想沿着这个例子练练设计能力,下面两个现在很流行的功能我没写进去,可以试试怎么设计: 分叉对话:用户从已有对话的某条消息开始,分出一个新对话。新对话带着这条消息之前的全部历史,之后两边各走各的,互不影响。 对话压缩:对话越长,发给模型的上下文越大,费用和延迟都会上升。压缩就是在对话变长后,让模型把较早的消息总结成一段摘要,之后发给模型的是摘要加最近的消息。 你会怎么设计?欢迎在评论区聊聊你的思路。
See More
Rin06
@Rin1785342
about 13 hours ago
觉得有了 AI 翻译就不用学英语的人,只看到了工具替你说话,没看到它也在替你思考。能直接读懂一手资料的人,永远比等翻译的人早一步拿到信息。AI 可以当拐杖,但别因此忘了怎么走路。
Rin06
@Rin1785342
about 13 hours ago
把35岁当成职场死线的人,常常把年龄焦虑当成了自己不学习的借口。AI 把很多新技能的上手时间从一年压到一个月,真正被淘汰的不是年纪大的人,而是停止更新的人。年龄挡不住你,停下来才会。
Rin06
@Rin1785342
about 14 hours ago
把加班到深夜当成努力的人,常常是在用时长掩盖效率。AI 能把很多重复活从三小时压到十分钟,还在手动熬夜的人,拼的其实是体力不是能力。勤奋值得尊重,但别把低效感动成奋斗。
Rin06
@Rin1785342
about 14 hours ago
非要找专业对口工作的毕业生,常常把四年前填志愿时的决定当成了一辈子的合同。AI 让跨行业学习的成本降到了历史最低,转行不再需要从头读一个学位。专业可以是起点,但别让它替你决定终点。
Rin06
@Rin1785342
about 15 hours ago
觉得币圈全是骗局的人,和觉得币圈遍地黄金的人,犯的是同一个错:都没花时间弄懂它。AI 已经能帮你几分钟读完一份白皮书,信息差正在被抹平,剩下的是判断力差。不碰可以,但别用无知当风控。
Rin06
@Rin1785342
about 15 hours ago
把每月记账省下几十块当成理财的人,常常省了小钱却错过了最该投资的自己。AI 工具一个月的会员费,可能换来你多出一项能报价的技能。节俭是美德,但别把对自己的投入也算成浪费。
Rin06
@Rin1785342
about 16 hours ago
给孩子报满补习班的家长,常常是在用金钱购买自己的心安。AI 已经能一对一讲题,标准答案越来越不值钱,值钱的是孩子会不会提出好问题。分数可以追,但别把好奇心卷没了。
Rin06
@Rin1785342
about 16 hours ago
把考公上岸当成人生终点的人,常常把稳定误认成没有风险。AI 正在重写大量流程化的文书工作,体制内也在算效率账。编制可以是选择,但别把一纸录用当成从此不用再学习的免死金牌。
Rin06
@Rin1785342
about 17 hours ago
真诚出摊! 出摊了兄弟们! ❗️在这里提个醒❗️ X新号想最快拿工资 原来真不能只顾着发帖 得疯狂串门 + 疯狂互动评论!!! 这流量直接起飞 有关必回!
#蓝v
#蓝v互关
#新人蓝v
#真诚交友
#浇朋友
Rin06
@Rin1785342
about 17 hours ago
@Soul5089
科技在于人怎么使用,危险的是人不是科技本身。
Last Seen Users on Sotwe
รักเมียรุ่นยาย
Seen from
Japan
PeachTwink 🍑
Seen from
Brazil
Haso
Seen from
Turkey
Meryem & yunus
Seen from
Turkey
Hilal
Seen from
Turkey
ONLYFANS STORE
Seen from
United States
sylvietheearlessdutchie
Seen from
United States
Saad
奶茶不甜
Seen from
Brazil
Seen from
Germany
Trends for you
1
Vikings
Under 10K tweets
2
Carson Wentz
Under 10K tweets
3
#WWERaw
Under 10K tweets
4
Massie
Under 10K tweets
5
Justin Jefferson
Under 10K tweets
6
Brian Flores
Under 10K tweets
7
Jordan Davis
Under 10K tweets
8
Joe Brady
Under 10K tweets
9
Benge
Under 10K tweets
10
Howie
Under 10K tweets
Most Popular Users
1
Elon Musk
@elonmusk
241.4M followers
2
Barack Obama
@barackobama
118.8M followers
3
Cristiano Ronaldo
@cristiano
114.5M followers
4
Donald J. Trump
@realdonaldtrump
111.9M followers
5
Narendra Modi
@narendramodi
107.1M followers
6
Rihanna
@rihanna
98.7M followers
7
NASA
@nasa
92.3M followers
8
Justin Bieber
@justinbieber
91.8M followers
9
KATY PERRY
@katyperry
90M followers
10
Taylor Swift
@taylorswift13
84M followers
11
Lady Gaga
@ladygaga
75.5M followers
12
Virat Kohli
@imvkohli
73.4M followers
13
Kim Kardashian
@kimkardashian
70.8M followers
14
YouTube
@youtube
68.7M followers
15
Neymar Jr
@neymarjr
66.4M followers
16
Bill Gates
@billgates
65.2M followers
17
Selena Gomez
@selenagomez
63.1M followers
18
The Ellen Show
@theellenshow
62.2M followers
19
CNN
@cnn
61.7M followers
20
X
@x
60.7M followers
Olivia
Online
✨
⭐
💫