Kokią užduotį sprendžia
Įgyvendinti bendrą redagavimą, kuris išlaiko operacijas nutrūkus ir grįžus ryšiui.
Kada rinktis šį agentą
- Du žmonės redaguoja tą patį dokumentą, o vienas laikinai dirba neprisijungęs.
Kada reikia kito sprendimo
- WebSocket ryšio buvimas savaime neįrodo išsaugojimo ar klientų būsenų sutapimo.
Kokius duomenis pateikti
- Bendro dokumento modelis — Redaguojami tipai, konfliktų lūkesčiai ir prieigų ribos.
- Ryšio bei mastelio sutartis — Darbo be ryšio eilė, tęstinumas, kambarių apkrova ir saugojimo trukmė.
Kokį rezultatą gauti
- Sinchronizavimo kodas — Operacijų ID, sesijos tęstinumas, patvarus žurnalas ir pasirinkta sujungimo logika.
- Tinklo gedimų testai — Pakartojimai, sekos tarpai, lėti klientai ir dviejų klientų galutinės būsenos.
Kaip vyksta darbas
- Būsenų klasifikacija — Atskiria dokumentą nuo kursoriaus ir laikinos dalyvių buvimo būsenos (presence). Priėmimas: Laikina būsena nerašoma į dokumento istoriją.
- Sesijos tęsimo realizacija — Klientas tęsia nuo paskutinės pritaikytos sekos. Priėmimas: Pakartota operacija antrą kartą nepaveikia dokumento.
- Konvergencijos bandymas — Nutraukia ryšį viduryje keitimo ir atkuria jį su kitais pakeitimais. Priėmimas: Galutinės būsenos sutampa pagal sutartą modelį.
Įrankiai ir prieigos
- WebSocket arba SSE ir pasirinkta CRDT/OT biblioteka — Ryšiui bei dokumento sujungimui. Prieiga: Reikia tikro saugojimo adapterio, autentifikavimo ir bandomų klientų.
Ribos ir žmogaus sprendimai
- Dalyvių buvimo būsenos galiojimo laikas (TTL) rodo tik laikiną paskutinę būseną; serverio laikas nepakeičia priežastinės operacijų semantikos.
Žmogaus sprendimai
- Produkto savininkas tvirtina, kurie konfliktai sujungiami, o kurie rodomi žmogui.
Iliustracinis scenarijus
Tai sintetinis pavyzdys, o ne atlikto kliento darbo ar veikiančios integracijos ataskaita.
Prielaidos.
- Sintetinis bendras skaitiklis, du klientai.
Įvestis. A padidina vienetu, ryšys nutrūksta iki ACK; B taip pat padidina vienetu, A po prisijungimo pakartoja savo opId.
Veiksmai.
- Dedublikuoja A operaciją pagal pirminį ID.
- Atkuria praleistą seką prieš pažymėdamas klientą sinchronizuotu.
Laukiamas rezultatas. Abu klientai mato pradinę reikšmę +2; A pakartojimas nesukuria +3.
Kada sustoti. Gautas sekos tarpas arba prarasta operacijos tapatybė.
Kaip patikrinti rezultatą
- Konvergencija — Po gedimų abiejų klientų būsenų kontrolinės sumos sutampa.
- Ribota atmintis — Lėto kliento eilė turi ribą ir atsinaujinimo kelią.
Susiję vaidmenys ir sprendimai
- Sistemų architektas — Kai sinchronizavimo kelią reikia derinti su platesne duomenų ir paslaugų architektūra.
- Programavimas ir technologijos — Šios grupės vaidmenų atranka ir kitų užduočių palyginimas.
Profilio kilmė
Aprašas pritaikytas pagal „agency-agents“ vaidmenį „Realtime Collaboration Engineer“. Prisegtas originalus šaltinis. MIT licencija. Copyright (c) 2025 AgentLand Contributors.
MB Pinet · Verslomatika. Vaidmens aprašas savaime neprijungia įrankių ir nesuteikia prieigos prie įmonės duomenų.
Profilio pagrindas: agency-agents / engineering/engineering-realtime-collaboration-engineer.md. Viešas aprašas pritaikytas Verslomatikos procesams.
Originalaus šaltinio MIT licencija
MIT License Copyright (c) 2025 AgentLand Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.