Softanza
DémarrerEnglish
Softanza
Un paradigme

Le Softanzuter

Pas de l'informatique réactive sur une machine abstraite. Une façon de programmer de façon déclarative des disciplines complexes : des motifs liés à du code, des facultés qui partagent un état, et un esprit construit dessus.

La définition

Les documents de conception de la bibliothèque la définissent dans les mots de l'auteur, repris et rendus mécaniques :

Un Softanzuter est la représentation computationnelle d'une machine pensante, fondée sur un ou plusieurs Regexuters, qui lui permet de reconnaître des motifs de pensée et d'y réagir.

L'unité est le motif. Un motif sur n'importe quel support est lié à du code. Le déclencher est la réaction. L'état que le déclenchement écrit est lui-même un support sur lequel d'autres motifs se déclenchent, et chaque déclenchement garde sa provenance, la réponse à pourquoi. C'est ce qui le sépare d'un flux de données qui traverse le temps.

L'échelle

  1. Le motif. Reconnaissance pure sur un support : une chaîne, une liste, un nombre, une matrice, une table, un temps, un graphe. Il ne fait rien. construit · six langages de motifs dans la bibliothèque
  2. Le Regexuter, et ses frères sur d'autres supports. Un arc réflexe : des motifs liés à du code, un moteur par support. On lui donne des données, il déclenche ce qui correspond et enregistre un état avec son heure, son ordre, la correspondance et la valeur calculée. Une faculté, pas un esprit. construit · un Regexuter et un Listexuter tournent
  3. Le Softanzuter. Plusieurs Xuters qui partagent un état et enchaînent jusqu'à un point fixe : l'état qu'une faculté écrit est un support sur lequel les autres se déclenchent. conçu, pas construit · aujourd'hui chaque déclencheur part une fois et les Xuters ne partagent pas un état
  4. L'agent. Un Softanzuter incarné dans un monde, avec un but, une mémoire, des outils et une responsabilité. Les agents contiennent des Softanzuters, les Softanzuters contiennent des Xuters. construit · l'enchaînement ci-dessous s'exécute

Échelon 1, exécuté

Échelon 1, le Regexuter : trois motifs, chacun lié à un petit calcul ; le texte passe et chaque correspondance déclenche le sien.

Softanza
rxu() {
	Trigger(:Number = "(\d+)")
	Trigger(:WordInQuotes = '"([^"]+)"')
	Trigger(:EmailAddr = "([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})")

	@C( :When = :Number, :Do = '{
		@value = @number(@value) * 2
	}')
	@C( :When = :WordInQuotes, :Do = '{
		@value = upper(@value)
	}')
	@C( :When = :EmailAddr, :Do = '{
		@value = "CONTACT: " + @value
	}')

	Process('Contact "john doe" at john@example.com or call 555123 for a "quick response"')
	? @@NL( ResultXT() )
}
Sortie
[
	[ 1110246, "555123" ],
	[ '"JOHN DOE"', '"john doe"' ],
	[ '"QUICK RESPONSE"', '"quick response"' ],
	[
		"CONTACT: john@example.com",
		"john@example.com"
	]
]

exécuté le 2026-10-08 21:46 dans la bibliothèque au commit 4a184e6f0 ; tiré de base/test/regexuter/06_computing_multiple_triggers.ring(s'ouvre dans un nouvel onglet)

Échelon 3, exécuté

L'agent ci-dessous garde sa mémoire sous forme de faits, et trois compétences s'enchaînent : une commande passée est cuisinée, puis dressée, puis servie. Le résultat de chaque compétence est un fait sur lequel la suivante se déclenche, et l'agent continue jusqu'à ce que plus rien ne change.

Échelon 3, l'agent : le résultat de chaque compétence est un fait sur lequel la suivante se déclenche, et l'agent continue jusqu'à ce que plus rien ne change.

Softanza
oChain = new stzPIAgent("cook")
oChain.MemoryQ().Learn("order", "state", "placed")
# three skills chain: placed -> cooking -> plated -> served
s1 = new stzAgentSkill("cook")
s1.SetWhen(func oM { return oM.Fact("order", "state", "placed") })
s1.SetDoes(func oM { oM.Forget("order","state","placed") oM.Learn("order","state","cooking") return 1 })
s1.SetVerifiedBy(func oM { return oM.Fact("order","state","cooking") })
s2 = new stzAgentSkill("plate")
s2.SetWhen(func oM { return oM.Fact("order", "state", "cooking") })
s2.SetDoes(func oM { oM.Forget("order","state","cooking") oM.Learn("order","state","plated") return 1 })
s2.SetVerifiedBy(func oM { return oM.Fact("order","state","plated") })
s3 = new stzAgentSkill("serve")
s3.SetWhen(func oM { return oM.Fact("order", "state", "plated") })
s3.SetDoes(func oM { oM.Forget("order","state","plated") oM.Learn("order","state","served") return 1 })
s3.SetVerifiedBy(func oM { return oM.Fact("order","state","served") })
oChain.AddSkill(s1)
oChain.AddSkill(s2)
oChain.AddSkill(s3)
nC = oChain.Pursue()
chk("all three skills fire in the cascade", nC = 3)
chk("the order reaches its final state", oChain.MemoryQ().Fact("order","state","served") = 1)
Sortie
  [OK] all three skills fire in the cascade
  [OK] the order reaches its final state

exécuté le 2026-10-08 21:46 dans la bibliothèque au commit 4a184e6f0 ; tiré de base/test/agentic/piagent_narrated.ring(s'ouvre dans un nouvel onglet)

La manière Softanza L'esprit est programmatique par défaut, et un modèle d'IA est une faculté parmi les autres, jamais la définition de l'esprit. La boucle de l'industrie, un modèle d'IA qui appelle des outils, est le cas particulier de cette échelle : une faculté, aucune gouvernance. Softanza offre le cas général, en local.

Ce qui reste une vision

Le moteur universel (prévu)

N'importe quel langage de motifs devient un support de calcul, avec une seule interface pour ajouter des déclencheurs et des calculs, traiter des données et lire les dépendances. C'est l'un des douze moteurs de paradigme de la conception du moteur.

Le Regexuter génétique (vision)

Fait évoluer une population de motifs contre un critère d'adaptation. Son but a été trouvé plus tard : induire un motif à partir d'exemples, ce dont répondre par l'exemple a besoin.

Le Regexuter quantique (vision)

Tient un motif dans plusieurs états à la fois, chaque lecture pondérée et classée. Son but : l'espace des solutions du même protocole, quand plusieurs réponses sont acceptables.

Le Regexuter linguistique (vision)

Prend des règles de grammaire pour déclencheurs.

Un mot, trois sens

Dans la conception, le Softanzuter est le support universel de l'échelon 2. Dans le moteur tel que construit, le module qui porte le nom est le substrat de l'agent, ses emplacements et ses boîtes aux lettres bornées, qui est le corps de l'échelon 3 et rien de l'enchaînement de l'échelon 2. Dans l'architecture de l'intelligence, c'est la machine pensante de plusieurs Xuters. Les trois sont une seule échelle lue de trois côtés, et l'échelle ci-dessus montre comment elles s'emboîtent.

en construction L'échelon 2 est le maillon manquant : l'enchaînement jusqu'au point fixe et l'état partagé ne sont pas construits, et les deux moteurs de l'échelon 1 tournent chacun seul. Une narration du Regexuter est publiée avec son code, et une partie ne se compile pas : ses derniers blocs sont le pseudo-code des frères. C'est pourquoi cette page raconte les frères comme une vision.

Sources : l'article le Regexuter comme support de calcul réactif ; les gardes 06_computing_multiple_triggers.ring(s'ouvre dans un nouvel onglet) et piagent_narrated.ring(s'ouvre dans un nouvel onglet) ; l'échelle est dans SOFTANZA_INTELLIGENCE_ARCHITECTURE.md(s'ouvre dans un nouvel onglet).