=======================
== BigOrangeQWQ Blog ==
=======================

LLM Ideas

这里记录着我个人对 LLM Agent 的 Ideas LLM 现状 在这篇文章发出的时候,LLM 的能力在客观上依旧不足。但是 LLM 本身的能力边界依然有待开发 大部分的 Agent 处于野蛮探索的阶段,本文基于若干个符合直觉的假设,大胆提出未来 Agent 的发展方向。 假设 LLM 本质上是一个混沌系统。 软件链条极度脆弱,链条上的任意一个节点的崩坏都会导致整条链路的失败。 消耗更多的 Token, 达成更好的生成效果 单次生成承担任务越多,生成出来的事物越畸形扭曲 推导 基于上面的四条假设我们可以推导出很多东西 LLM 在合成软件的时候,它生成的内容越少,生成的代码越可靠 提示词工程是必要的,其是混沌系统的靶向药,也是限制工作量的紧箍咒 当前客观条件下,单一对话完成一个项目时,无论速度还是效果都不尽人意 非技术人员和 LLM 均存在大量难以明确洞悉的技术盲区 这四点将和前面的假设一起做出一个我个人认为符合直觉的 Agent 设计 生成将以函数为单位,每一个函数对应一个提示词,对于没有提示词的函数,交由 LLM 进行总结 LLM 表示出类似人类心智的事情,那么 Agent 可以应用上项目管理的模式 即一个 Agent 存在 3 个及以上的 SubAgent,其中每个 SubAgent 代表自身不同的身份 Leader(SubAgent) 负责项目整体逻辑/需求的调整,其负责提供使用的技术栈和所要实现的整体框架之类.. Mentor(SubAgent) 会接下 Leader 所产生的某一个模块方向的业务,生成对应的 TODO List,也负责验收 Worker(SubAgent) 负责接收 Mentor 的 TODO 项,每次根据 TODO 项里对函数的具体描述生成指定代码和单测。看起来是很慢的设计,但是对于 Mentor 来说,其可以同时启动无数个 Worker。后续进一步可以构建类似的 Thread Pool 的结构,用来并发进行工作。 这样会催生一个巨大的 . Read more...

浅说 ST表

数据结构 算法 动态规划
ST 表 ST 表是利用倍增思想做预处理的一种数据结构,而预处理所指的算法自然就是动态规划。 这是一个二维的的动态规划,它的状态如下: 设 $f(i,j)$ 代表第 $i$ 个数到第 $i + 2^j - 1$ 个数的最大值,即为:$f(i, j) = \max(i,i + 2^j - 1)$ 这里需要画下重点,请劳烦读者再观察一次该式,后面的推导全部基于此 $$f(i, j) = \max(i,i + 2^j - 1)$$ 可以发现 $f(i, j)$ 所管辖的区间取决于 $[i, i + 2^{j - 1} - 1] , [i + 2^{j - 1},i + 2^j - 1]$ 这两个区间。 得转移公式:$f(i, j) = \max(f(i, j - 1), f(i + 2^{j - 1}, j - 1))$ Read more...

个人的收藏网站

网站收集
CS Course Rust 官网 Rust 期刊 Rust TRPL Rust 圣经,不推荐入门 RISC-V 官网 Lua 官网 Lua 手册 License 选择自己喜欢的开源许可证吧! Python 文档 Python Cookbook 绘制流程图 画图 字节码/汇编 每日资讯 有向图/无向图编辑器

浅谈 Docker in Docker 的两种方法

容器 Docker DinD
DinD (Docker in Docker) 简介 在运行某一个容器时,该容器若存在运行其它容器的需求时,需要在需要运行其它容器的容器安装一个 Docker 环境 但是我们会发现安装一个 Docker 环境来启动其它容器的代价是巨大的,这样的容器会十分笨重且难以管理 于是可以自然的想到一个很重要的点,需要在容器里面复用容器外的 Docker 环境,这样既能启动容器,也很轻便快捷。 怎么复用呢?有什么方法能够支持复用? 当我们每次启动 Docker 容器时,是不是可以提供或者同步什么东西过去?环境变量,挂载文件还是网络呢? 是不是可以通过网络的形式做通信?藉此来连接到外部的 Docker 环境,我们是不是只需要一个 Client 而不需要启动一个 Docker 了。 有两种技术可言,一个是 DinD 容器,启动一个 DinD 容器,让其它容器通过 Network 形式连接到该容器后来创建新的容器,但这种方式因为要使用到 –privilege 选项而容易有安全风险问题。 第二个 DooD(Docker outside of Docker) 使用套接字(Socket)的解决方案,我们只需要将 /var/run/docker.sock 文件挂载到容器内部即可: docker run -v /var/run/docker.sock:/var/run/docker.sock ... 只需要在需要启动其它的容器内安装 Docker Cli 或者是其它能连接的 Client 即可解决此事。
1 of 1