Back to "StyloAgential Workflow:我如何构建和管理大型的 (和HUGEMS K2系统使用代码LLM {(}Part @1)"

This is a viewer only at the moment see the article on how this works.

To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk

This is a preview from the server running through my markdig pipeline

Agents AI Architecture LLM Patterns StyloAgent

StyloAgential Workflow:我如何构建和管理大型的 (和HUGEMS K2系统使用代码LLM {(}Part @1)

Saturday, 18 July 2026

这是两个“:”中的问题和StyloAgent model.的一部分。 《工作流实践》 使用该选项@. @ @ @ info

代码生成不久前不再是问题了 @.@ 模型写好代码@.}它们遵循文档中的常规, 它们正在编辑 @,}如果你在失败的测试中指向它们... ...它们通常会修正它...

不工作的部分是记忆@. @%

瓶颈已不再是 @"@ can the model write the code ?"}这是#"_does 写代码的东西 记住为什么这个系统就是这样吗?%?"}

每个新的会话 都开始对系统一无所知 它即将改变它 Stylo. 蝙蝠侠 这是两个仓库,} 仪表板上的风险带是在阅读时生成的, 而且从未缓存过 □,} 确切地说有一个数据库连接工厂 SQLite 商店绝对不能在 Postgres-write 與PostgresMPK3}一起 。 这些都不在正在编辑的文件里。

这是关于我为停止支付成本而建造的工作流程 我称之为StyloAgent@,}这是建立和运行 Stylo @._Bot today.的舰队

最近释放


核心问题=:建筑漂移

Stylo.Bot'S检测引擎不是普通的 ASPMS K2NET CROUD AP}. 它运行在EphemeralMS SignalSink 每个请求是黑板@ , @ 单 ScheduleCoordinator }μK1cccroid ,§ 校正琌刚弄 而不是缓存. ê贺琌玻珇俱翴 . 琵ウ眖所观测到的行为中吸取教训 而不是匹配静态列表MS K5

代码LLM并不想建立它所看到的东西 它想要在它的训练数据中 造出100万次

.+NET反射 MS K2+PLAIN CRUD3+ +Stylo}.+BOT='计划模式

|A# BackgroundService 每个定期工作 @ |% 1 ScheduleCoordinator 发射滴答信号 @|

|A# ConcurrentDictionary 用于存储@ | @ atoms hold state;}没有在 MS K2 memory 持久性 {|}\ MPK3{

|A# switch 绘制一个字符串到分类@| @ nearest @ -centroid叙级@ MS K2}漂移 @ I, Leiden @ |

| 缓存位置的计算值 @| 在读取@( computute\ MS K3 at}-read) | 光着身子 DbContext @|_州立大學 住在引擎裡 #,}讀取於接合機上 | * {\fn方正黑体简体\fs18\b1\bord ILogger 以检查发生的事情,@| 信号宣布+; 讯号Sink是黑板 @|

左侧的每个单元格都是教科书 ASP.NET, 在正常的 AppMS K1} 右侧的每一个单元格对 Stylo.Bot.} CLAUDE.md 明确说: @, 明确的@:/ centroids not rules *, 没有背景服务使用调度员{,}没有在_-memory商店}, 没有任何缓存有利于新鲜性 比地区=, 信号和原子不是 ASP>.NET 规范\□.}

它没有抱住. CLAUDE.md 每个会话中都是新加载的, 和每个会话,每会话都与模型竞争 's priors and loses . 模式返回到其培训数据的平均值@, 即 CROUD}.

这个重整工作周的费用是多少? 没有一个戏剧性失灵 一个缓慢的流血 BackgroundService 返回到一个协调员的选项@, @ a ConcurrentDictionary 静悄悄地成为寄生虫商店 switch 语句在会话后被转换回一个 procilmology lookup@, @% 此错误从来不是点@ .。 该偏移就是点@ .} A per-repo 指令文件是检索Q,, 而检索不够充分 *: 这个代理拥有它前面的规则=,不理解为什么时间形状重要\ MS K8 并且反正侵蚀了它

不是" 代理商不能满足 ' @ t代码% "}但代理商可以维持架构 't 没有更大的指令文件固定了它._给建筑主一个拥有者做了".}


这件事的大小

缩放没有导致漂移 % . 它乘以 * .*

Stylo,Bot 不是玩具 . 它是一个博托MS K2 检测平台 @:}一个FOSS探测引擎 通过YARP网关来连接网络应用程序

诚实地计数@: @%

  • Stylo.Bot :FOSS探测引擎和商业层的两个主要仓库*.
  • 大约20个-+5个项目 在商业回收范围内
  • 我自己的 Nuget 软件包中有许多产品共享@: Mostlylucid.Ephemeral -=YTET -伊甸园字幕组=- 翻译: StyloExtract, StyloFlow, StyloIssues, 清晰度.
  • 基础设施“:+Helm taggs” “,+”一个缩微胶片“MS K2Qs clocation@,+” 一个秘密商店“MSSK4+”集装箱注册簿“.+”
  • 一个行销网站 运行检查和嵌入真实的仪表板

每一个浮点都是表面,漂流会渗入,。 一个新鲜的剂必须对所有它们都保持同样的时空纪律 . 将单一的探测接缝切入网关\ , 商业插件MS K3 仪表板投影+, 和部署管道{. 写着改变从来都不是最困难的部分}保持建筑稳定 同时使结构固定在任何地方 □,


单一超级神话 @-_Agent

产业界不断达成相同的答案 @:给代理商更多上下文@. Bigger window @MS K2 million_-token 提示#.RAG 将正确的文件拉到实时系统. MCP+.记忆层,以总结和重放过去的会话 *.}

所有这些改进了检索@.}它们都无法增进理解 @.

Retreival 找到相关的文件@. @ access understand 知道为什么这个文件是这样的 它会保护什么?

观察在Stylo@._Bot @:}的冷剂启动。

  1. 用于探测管道的Greps.
  2. 它读了管弦乐队 .
  3. 判决有三条轴,
  4. 它注意到商业插件通过依赖注射取代FOSS接缝@.

30分钟后,它知道可以做一个“-line change”. 然后会话结束,所有东西都蒸发了 下一个会话支付相同的30分钟 “.}大上下文窗口让每个重新发现更便宜"MS K4" 它不会使重新发现的没有必要."

更聪明的搜索是错误的修复@. @ 搜索本身必须停止发生 @ . @


人类如何实际构建软件

没有一位工程师能理解整个企业系统 @. 真正的公司里没有人拥有支付量@, auth}, 数据管道, 以及他们的头部前端同时完全解析. 这不是一个失败的#. 这就是大型系统是如何建造的_.

团队将系统分解为域, 并在每个域设置一名专家@. 付款人拥有支付权 @. 他们知道历史_, 尖锐边缘}两年前的决定

拥有权比百科全书知识更重要 专家不需要知道一切 他们需要深入了解他们的领域

使分解的系统保持一致性的是通讯@.}支付者在更改符号格式前与被认证人交谈.}拉动请求跨越边界,而该边界的所有者在.}_BARBAR_该结构始终一致不是因为一个人持有全部的#,}而不是因为持片的人彼此交谈>.}

这是每个真正的团队如何操作 .Q代码代理 以相反的方式运行


我的问题不同了

在一个小的App.中,漂移将是一种烦恼。 在我拥有的一个系统里,它是一个腐蚀性{,}因为它们不是一个系统_. 它们都是单独的产品, 在不同的仓库里}♪, 通过我拥有的软件包来互相喂养

基质是 Mostlylucid.Ephemeral我自己的NuGet软件包 @:}执行原始和数据流 检测引擎建在#.+Stylo@.+Bot上面 StyloExtract 用于布局@ - @ finger 打印匹配 @ ,} StyloFlow -驱动的工作流程和许可 StyloIssues 这篇文章中的舰队是建在我的包件上, 也由我的包件“:”和“SlearnVIEW”组成。 Mostlylucid.Avalonia.UITesting 我用工具“,”构建产品,

这是真正的狗食 ,,它是什么使漂移危险\NSK1 一个新鲜的剂 BackgroundService 或 a/ ConcurrentDictionary 它正在腐蚀一个包 每一个这些产品都站在. 在一个储存库中的漂移船和在两个保存库的表面

一个漂流原始的 . 每个产品都以它为基础

在这种规模中,编码从来都不是最困难的部分 . 保持建筑结构不受不断回归的影响 是,


所有权*,非上下文

上下文为错误的轴 @ .} 使用会议次数的成本比例 * MS K1} 不代表窗口大小@ ,} 因此更大的窗口会损失到一个更长的时间@ I- living project

问题不是#"}我如何给一个代理更多上下文?

将知识装入窗口并随着視窗@ . @ 给予专家它, 它会往前传送\ MS K1} 检测专家不会每次会话都重新加载探测结构@ I. 它已经拥有它的@ O,{ 并且它从上次的作品开始\ , 因为上一次它把它写成自己而不是别人的概要=.}

然后,一个课程付费来扩展这个系统。 “,”不是重新“-”、“Derive it@. ” 这是每天早上新雇用的员工,而是一个团队,人们在那里保留自己的工作 ‘.’


Stylo 代理模型

StyloAgent 将结构转换为运行进程 @ . @ the parts

  • 概览概览概览 建筑师兼协调员overview-它拥有三份活文件“(spec,架构” “, 名册’), 仲裁范围争议” “, 和加入工作的路线'.}它不从事域内工作本身‘.
  • 专家专家 :#域所有者 @._% foss- 拥有检测引擎@. @% deploy- 拥有这栋建筑 -to @-stabaking @MS K2}to@-producation production. mae- B. 成员国和电子商务 dash- 和 edit- 自己的仪表板读写路径@. @ prod- 自己的平台安全@. @% test- 拥有套件@. @ 每一个都有文件 @ ,} 而不是任务@ MS K2
  • 信息总库 : @ a git-}后背@ MS K2}文件 *-% file 用 inbox, outbox, archive,和 saved-context. 信件带有优先级和表面 在代理@'s 翻转边界 @.}
  • 体液补充和脱水 “: ”每个代理都保留着一个活的上下文文档“. ”当它停下来时,它会脱水;当它唤醒后,它还会再补充水合物 \ . ”
  • 工作空间 :FOSS repo 和作为单一工作空间的商业 repo注册
  • 通信通讯通讯通讯 : 1 hard rules @. 停留在您的车道@. 在您不拥有的文件中打一个阻塞器, 您可以停止和留言 overview- 而不是与所有者对撞@. @%

StyloAgent 驾驶舱:}代理商和左下方的讯号公交车站{, 中央可对接代理终端{MS K2和时间线 </> 文档</> 在右侧=.} 路由器面板上的 / Git @/}

它实际上是什么

StyloAgent 是一个在 @. @NET @MS K2}和 Avalonia.}(每个专家都是真正的) claude PTY,}在驾驶舱中运行,有自己的终端, 自己的工作室 , 和它的上下文文档MS K3 驾驶舱是MCP服务器的东道主 代理商呼叫并挂勾插座报告他们的状态{. 产品本身由四个所有者}, 建造,而该结构与所有权图+:加倍。

flowchart TD
    operator([Human operator])
    subgraph SA["Styloagent cockpit"]
        cockpit[Cockpit Shell<br/>Avalonia + Dock]
        bus[Coordination and Fleet<br/>Channel, Mcp, Diagrams]
        session[Session and Terminal Runtime<br/>Sessions, Hooks, PTY]
        repo[Git and Document Library<br/>worktrees, Lucene search]
    end
    agents[Agent fleet<br/>claude specialists]
    fs[(Filesystem and Git<br/>durable trace + worktrees)]

    operator --> cockpit
    cockpit --> bus
    cockpit --> session
    cockpit --> repo
    bus --> session
    session -->|runs claude over a PTY| agents
    agents -->|MCP verbs| bus
    bus -->|reads and writes channel files| fs
    session -->|writes context doc on dehydrate| fs
    agents -->|commit in own worktree| fs

    style SA fill:none,stroke:#6b7280,stroke-width:1px
    style cockpit fill:none,stroke:#7c3aed,stroke-width:2px
    style bus fill:none,stroke:#d97706,stroke-width:2px
    style session fill:none,stroke:#2563eb,stroke-width:2px
    style repo fill:none,stroke:#16a34a,stroke-width:2px
    style agents fill:none,stroke:#6b7280,stroke-width:2px
    style fs fill:none,stroke:#16a34a,stroke-width:3px
    style operator fill:none,stroke:#6b7280,stroke-width:2px

MCP是核心 . 驾驶舱是 MCP 服务器的主机@,,专家要协调的一切工作都是 MCP 用一个工具呼叫来对抗它,}不是公约或文件 它希望另一个代理商会读@MS K2。动词集是协调层 @:}

  • send_message / check_inbox :#路线工作并拉动它,}优先级: MS K2_resoved
  • spawn_agent 店主拆散了新专家
  • claim / heartbeat / release “:”序列访问共享环境@(an SSH host @,}一个部署目标#)}所以两个代理商不会相撞=.
  • dehydrate_agent / rehydrate_agent 将专家停在公园里并修复它
  • wrap_up @ :_ 测试@ MS K1} 合并 * , 清理已完成的分支 *.}
  • report_issue, architecture_impact, agent_color, list_fleet @ :_ files a bluster ,} 预览一个设计更改, 在它降落前@ MS K2} 保留名册和 C4{ 在一个颜色方案上 @ MPK4}

在下面的文件“-drout 通道”是人们所说的“MS K1}不是机制‘.』的持久跟踪。 这个机制就是 MCP 服务器在转弯边界时向活代理发送一个服务机@.Git Worksets 给每个专家一棵孤立树,用“,”来承诺,但是MCP层使得他们成为一支舰队,而不是一套碰巧共享文件夹<.>的程序。

活动时间线: 最新MS K1 每个代理机' 工具操作的首次种子 及其触摸到的文件, 生命周期和注意状态\ , 以及他们通过大巴发送的信息MSQ5

公交车如何实际运送

send_message 在频道中写入一个耐久的标记文件, 并以 @ - process@ MS K1} A 提供 ChannelDeliveryCoordinator 显示新文件的手表@, 保留一个已见集, 所以每条消息都会被发送一次 : @ , 将它传送到现场收件人@ MS K2 并掌上实际推进到送件服务@ I.

断开消息的硬中断如何不是一个 free @ -_ For@ MS K1}all MSSK2} 一则信件带有优先级@ I,, 而运行时间决定了该优先级进入发送模式@. 这是真实的 DeliveryMode 一个中断的梯子 @ : @

public enum DeliveryMode
{
    Interrupt,       // send ESC to break the current turn, inject immediately
    NextPrompt,      // queue; inject when the agent next reaches idle
    Poll,            // not pushed; the agent checks on its own cadence
    Convenient,      // surfaced in the Bus HUD only
    Informational,   // never actioned or injected; shown as info
}

发送是空闲的@- @gated和在-once}MSSK3},确认为已观察到的侧面 <-_effect}MS K5}这不是一个允诺*.}当前转弯的紧急消息破解 *%.}正常人等待下一个闲置的提示 这样它不会腐蚀代理商中"-siew}MSC9

如何强制执行所有权

在你的车道上停留不是荣誉制度 . 建筑有一台机器 - 可读投影 ownership.yaml,和a OwnershipMap 解析代理商前缀中拥有该代理商的 repo- relative path

// most-specific glob wins, so a session- carve-out inside cockpit-'s
// src/Styloagent.App/** beats the broad glob
public string? OwnerOf(string? path) { /* ... */ }

A PreTooluse Gate 消耗了解答器并阻止代理商撰写文件, overview- 此地图与 C4 图表@ maggage @ .}相同的数据, 谁拥有什么和谁拥有哪一种源的强制执行图片 %,}绝不要两张漂移副本. *

活的-docs环圈

overview- 它的系统快速在铁路上运行。 在三层工作 : @- n下移, 不要跳过前端@.\ }

flowchart LR
    spec["spec.md<br/>what the system is"]
    shape["architecture.md<br/>C4 shape, owner-coloured"]
    fleet["proposed-agents.yaml<br/>who owns each component"]
    spec --> shape --> fleet
    fleet -.->|specialists report on the bus| spec

    style spec fill:none,stroke:#2563eb,stroke-width:2px
    style shape fill:none,stroke:#d97706,stroke-width:2px
    style fleet fill:none,stroke:#16a34a,stroke-width:2px

Spec 第一 : 系统是 @,} 在任何其它事情之前与人类达成一致 . 然后形状为#: 单一的 C\4 元件图,其中每个元件都由预定所有者来颜色...". 之后机队=: 每个顶端的-级元件中建议一个代理@, 分享其组件's color. 作为专家学习真实系统并报告 busQ,} overview- 将结果折叠回到形状“,”的Spec,reMS K1derives中,并调整机队 “.}三份文件保持对设计的实时投影而不是衰变为虚构‘.’}


取代任务的专家

大多数代理工具创建工人@. 描述一个任务\ , 一个工人旋转起来 , 是不是它 @,失踪了\ I. 下一个任务是一个新的没有记忆的工人\ MPK5个专家从未积累 因为没有任何东西可以在\ NSK6中累积

StyloAgent创建专家 . foss- 这不是一个曾经触摸过检测引擎的工人。 它是一个探测引擎 '}所有者 -, * 而且它会一直保存着每关的所有者..."."这个区别不是化妆品・.* 这就是为什么舰队抓住了一个错误, 一个任务_-基地的工人会错过了~.>

舰队名册: 每种专家颜色MS K1 由前缀{, 编码,拥有子系统}, 与推荐的代理商

已知机器人出现在仪表板上, 被评为非常高的风险@.。 很明显的动作, 一个新鲜工人做的#,是重新调配产生风险带的投影, foss- 之所以没有这样做“,”是因为 foss- 它发现,只有在存有经核实的索赔状态的指纹时,风险波段针才与友好匹配;确定该状况的方法”=,} UpdateClaimVerificationAsync*,有 生产中的零呼叫器@._profession and remotioning the p投影不可能修好它#.}所以每个已知的机器人都认为非常危险

该诊断来自累积所有权 . foss- 已经绘制了管弦乐队的地图@,、判决作曲家 @,和先前会话中的索赔单}#. 这个错误在搜索时是隐形的,而且对拥有者来说显而易见.

StyloAgent本身证明了这一点 . 工具由自己的舰队建立 cockpit- 拥有 Avalonia shell*, bus- 协调与交付 , session- 拥有PTYs和产卵状态机器 repo- 他们学到的艰难教训被写进他们的上下文中, 以至于他们永远不再阅读@.真正的碎片。 session-@'_s 自己的上下文文档@:}%

## HARD-WON DISCIPLINE (enforced this session, confirmed by overview-)
- Commit by explicit pathspec, atomically, in ONE command. The shared tree has ONE git
  index. A bare `git commit` after `git add` lets ANOTHER agent's concurrent commit sweep
  your staged files (it happened: my clipboard work landed mis-attributed in cockpit-'s 5e54207).

一个基于工作的任务“-”的工人在碰撞中撞击了该任务,下一个工人又再次撞击了它 “, ”因为没有任何东西能将教训传到前面去“MS K3 ” session- @, @understand why\ ,Q} 并编码了拼图作为谁的一部分。 这是执行任务和成为专家的区别。#.@


代替再回收的补液

寒冷的会话始于仪式@: @search the codebase_,}总结一下您找到什么#,}重建建筑...",}试着记住上次发生的事

补液去除仪式@. 序列变为 @: 提醒专家, 恢复状态#, 继续_.

州里每个专家的档案中都有一份生命 这是实际保存的背景 foss-@,# 轻巧修剪 #:#

# foss- saved context

## Repo state
- Branch: main. My fix commit: 9b849629 (NOT pushed) - the known-bots-VeryHigh fix.

## DONE this session
- known-bots-VeryHigh fix (9b849629) - overview APPROVED, shipped:
  ROOT: UpdateClaimVerificationAsync had ZERO prod callers (never wired). Every fp
  stayed 'unverified' -> known bots read VeryHigh. Redeploying #115 could never fix it.

## NEXT (open, in priority order)
1. overview follow-up: add a REAL end-to-end test through the REAL store, not a double.
2. RISK display Face 1 (still OPEN): risk band missing from dashboard LIST rows.

## Guardrails
- ANY prod fingerprint-DB op = staging-first + express human go.
- CF-IP caveat: if the gateway verifies the bot against CF egress not the real client IP,
  the latch never sets -> still VeryHigh.

新鲜 foss- 它知道最后一项承诺为什么存在 , - 什么仍然开放\ , 是什么,哪些护栏限制下一步行动.\ no rediscovery,}因为专家为自己的未来自己写了这篇文章..."." 其中一条规则是严格规定它从来没有包含秘密值\ : 它只包含一个指针

这是一台真正的状态机器 @,}不是比喻@.}代理会话在四个州移动 Unspawned, Live, Dehydrated, Exited.

flowchart LR
    Unspawned[Unspawned] -->|spawn: PTY + launch prompt| Live[Live]
    Live -->|write context doc, stop PTY| Dehydrated[Dehydrated]
    Dehydrated -->|rehydrate: restore from context| Live
    Live -->|wrap up: test, merge, cleanup| Exited[Exited]

    style Unspawned fill:none,stroke:#6b7280,stroke-width:2px
    style Live fill:none,stroke:#16a34a,stroke-width:2px
    style Dehydrated fill:none,stroke:#d97706,stroke-width:2px
    style Exited fill:none,stroke:#6b7280,stroke-width:2px

“脱水”写下上下文文档, 并释放 PTY,。 所以停泊专家在睡梦中不花费任何费用, 而它又恢复了“再活” ,。 从第一个转弯起“. 包装” 是干净的出口@:} 驾驶舱运行着这个工程项目<'s 测试> @, 将工作树与主@MS K7 合并起来, 并且删除“ , ” 或由于一个失败, 它保持了工作樹, 并将问题归档到三重. 不取决于维持热度的上下文窗口吗? .} 记忆保存在磁盘“MS K11” 上, 国家机器读回Q.


继续到 {2} part

这就是问题所在, 《工作流实践》 将舰队丢弃在不熟悉的系统上 在库库之间工作 为什么每个决定都来源于,


相关条款

logo

© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.