[{"data":1,"prerenderedAt":544},["ShallowReactive",2],{"navigation":3,"projects-page":39,"projects":53},[4,26],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Projects","\u002Fprojects","projects",[9,13,17,21],{"title":10,"path":11,"stem":12},"AntiAgent","\u002Fprojects\u002Fantiagent","projects\u002Fantiagent",{"title":14,"path":15,"stem":16},"Cubist","\u002Fprojects\u002Fcubist","projects\u002Fcubist",{"title":18,"path":19,"stem":20},"Eliane","\u002Fprojects\u002Feliane","projects\u002Feliane",{"title":22,"path":23,"stem":24},"Genario","\u002Fprojects\u002Fgenario","projects\u002Fgenario",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"Blog","\u002Fblog","blog",[31,35],{"title":32,"path":33,"stem":34},"Symbolic descent: gradient descent, applied to rules instead of weights","\u002Fblog\u002Fsymbolic-descent","blog\u002Fsymbolic-descent",{"title":36,"path":37,"stem":38},"Laws from single experiences: an online symbolic world-model for ARC-AGI-3","\u002Fblog\u002Fsymbolic-world-model","blog\u002Fsymbolic-world-model",{"id":40,"title":5,"body":41,"description":42,"extension":43,"links":44,"meta":49,"navigation":50,"path":6,"seo":51,"stem":7,"__hash__":52},"pages\u002Fprojects.yml",null,"Products I have built or am building, and the research alongside them, from applied AI tools in production to research on symbolic autotelic agents. Each entry links to the live product, where one exists, and collects the writing attached to it.","yml",[45],{"label":46,"to":47,"color":48},"Get in touch","mailto:louismanhes@icloud.com","neutral",{},true,{"title":5,"description":42},"wFWXcXqpOnw31tQPHe-DSRCppXFSCUjx48xFdMTzqCE",[54,148,225,285],{"id":55,"title":22,"body":56,"color":131,"date":132,"description":133,"extension":134,"featured":50,"icon":135,"image":41,"logo":136,"logoDark":41,"meta":137,"navigation":50,"order":138,"path":23,"seo":139,"status":140,"stem":24,"tagline":141,"tags":142,"url":146,"__hash__":147},"projects\u002Fprojects\u002Fgenario.md",{"type":57,"value":58,"toc":126},"minimark",[59,68,71,76,123],[60,61,62,63,67],"p",{},"Genario is AI software and services for screenwriting and audiovisual production, built for screenwriters, producers, and studios working on film, series, and documentary. The French company was founded in 2019 by Louis Manhès, a robotics and AI engineer, and David Defendi, a French screenwriter and novelist whose credits include the series ",[64,65,66],"em",{},"Braquo",". It remains active.",[60,69,70],{},"The work has two parts: the Genario application, a writing and analysis tool, and Genario Studio, a services arm. The application is organized as a set of distinct named functions rather than a single general chatbot, and it routes requests to current third-party AI models, swapping them as new ones become available.",[72,73,75],"h2",{"id":74},"what-it-does","What it does",[77,78,79,87,93,99,105,111,117],"ul",{},[80,81,82,86],"li",{},[83,84,85],"strong",{},"Brainstorming"," of ideas and directions.",[80,88,89,92],{},[83,90,91],{},"Script creation"," from an outline or source material, with an adjustable creativity setting.",[80,94,95,98],{},[83,96,97],{},"Adaptation"," of a script into a novel, a synopsis, or a scene-by-scene breakdown.",[80,100,101,104],{},[83,102,103],{},"Reading notes",", producing studio-style coverage on plot, pacing, and characters.",[80,106,107,110],{},[83,108,109],{},"Version comparison"," of two screenplay drafts, returning a change report.",[80,112,113,116],{},[83,114,115],{},"Corrections"," for grammar, style, and structure.",[80,118,119,122],{},[83,120,121],{},"Translation"," that preserves the source file format, so a PDF stays a PDF and an FDX stays an FDX.",[60,124,125],{},"Genario Studio handles custom AI work for producers and studios, spanning development, pre-production, and post-production. Reported usage is over 20,000 users and 45,000 projects, with industry ties to Banijay and Pathé Films and an association with the World AI Film Festival in Nice.",{"title":127,"searchDepth":128,"depth":128,"links":129},"",2,[130],{"id":74,"depth":128,"text":75},"#6366f1","2019-01-01","Genario is a French company founded in 2019 building AI software and services for screenwriting and audiovisual production, with a writing and analysis application and a custom-services arm, Genario Studio.","md","i-lucide-clapperboard","\u002Fprojects\u002Fgenario\u002Flogo.png",{},1,{"title":22,"description":133},"Active","AI software and services for screenwriting and audiovisual production",[143,144,145],"Screenwriting","Audiovisual","Script analysis","https:\u002F\u002Fgenario.fr\u002F","t49m3ey2D6aQapn1LTP9bInGHJ_cBGXXU3cb18xhq2E",{"id":149,"title":10,"body":150,"color":210,"date":211,"description":212,"extension":134,"featured":50,"icon":213,"image":41,"logo":214,"logoDark":215,"meta":216,"navigation":50,"order":128,"path":11,"seo":217,"status":140,"stem":12,"tagline":218,"tags":219,"url":223,"__hash__":224},"projects\u002Fprojects\u002Fantiagent.md",{"type":57,"value":151,"toc":206},[152,155,159,166,173,177,180,200,203],[60,153,154],{},"AntiAgent is a web-based learning tool that combines a document editor, an AI writing assistant, and a spaced-repetition scheduler. It is for people who want to study a subject or build a skill while keeping the cognitive work their own. Its premise is that learning should sharpen the user's own thinking rather than delegate it, summarized as \"Learning for humans. In the age of machine learning.\"",[72,156,158],{"id":157},"how-it-works","How it works",[60,160,161,162,165],{},"The unit of work is a ",[83,163,164],{},"page",": an editable document on a chosen subject or skill. Pages are written in a block editor that supports formatting, drag-to-reorder, and a slash menu.",[60,167,168,169,172],{},"Material can be ",[83,170,171],{},"imported"," from URLs, PDFs, YouTube, audio, and prior pages. An embedded agent can, on request, stream a researched and cited section directly into the page.",[72,174,176],{"id":175},"the-three-review-modes","The three review modes",[60,178,179],{},"Once a page exists, it generates three recurring review activities:",[77,181,182,188,194],{},[80,183,184,187],{},[83,185,186],{},"Memory",": typed-answer flashcards that the AI grades in plain language.",[80,189,190,193],{},[83,191,192],{},"Thinking",": Socratic dialogues, with modes to debate, rehearse, converse, or explain, and adjustable difficulty.",[80,195,196,199],{},[83,197,198],{},"Skill",": rubric-based exercises graded by the agent, where the rubric is written in the page itself.",[60,201,202],{},"These activities are not reviewed on a fixed cadence. Timing is set by the FSRS spaced-repetition algorithm, which schedules the next return for the day estimated retention is most at risk.",[60,204,205],{},"Pages can be published publicly in one click and forked by others; the creator keeps ownership and progress.",{"title":127,"searchDepth":128,"depth":128,"links":207},[208,209],{"id":157,"depth":128,"text":158},{"id":175,"depth":128,"text":176},"#0ea5e9","2026-01-01","AntiAgent is a web-based learning tool pairing a document editor and AI writing assistant with an FSRS spaced-repetition scheduler that generates memory, thinking, and skill reviews from pages you author.","i-lucide-notebook-pen","\u002Fprojects\u002Fantiagent\u002Flogo.svg","\u002Fprojects\u002Fantiagent\u002Flogo-dark.svg",{},{"title":10,"description":212},"An AI notebook where pages teach you back",[220,221,222],"Learning","Spaced repetition","FSRS","https:\u002F\u002Fwww.antiagent.io\u002F","uKrpU_ibVurRXztJGPNWxQPZBKTJV1rgjtpw_HWKrag",{"id":226,"title":18,"body":227,"color":270,"date":211,"description":271,"extension":134,"featured":50,"icon":272,"image":41,"logo":273,"logoDark":41,"meta":274,"navigation":50,"order":275,"path":19,"seo":276,"status":140,"stem":20,"tagline":277,"tags":278,"url":283,"__hash__":284},"projects\u002Fprojects\u002Feliane.md",{"type":57,"value":228,"toc":267},[229,232,235,237,240,246,252,258,264],[60,230,231],{},"Eliane is a French SaaS for independent home-care nurses (infirmiers libéraux, IDELs). It addresses one layer of their work: the coordination and renewal of prescriptions (ordonnances). It is not a billing tool, and it does not handle cotation, télétransmission, or tour scheduling, the functions broader IDEL suites already cover. The scope is deliberately narrow, limited to the prescription and its administrative validity.",[60,233,234],{},"Data is hosted in France and the service is GDPR-compliant. It runs on the web, iOS, and Android. Pricing is a single tier at 29 EUR excl. tax per month per nurse, with a 30-day trial and no card required.",[72,236,158],{"id":157},[60,238,239],{},"The workflow has four steps.",[60,241,242,245],{},[83,243,244],{},"Capture."," The nurse photographs a prescription. Eliane reads patient data, medications, prescriber, and special mentions, and detects bizone and secure prescription formats.",[60,247,248,251],{},[83,249,250],{},"Detect."," Eliane applies thirteen business rules in parallel to flag anomalies that could lead to a CPAM (French health-insurance) rejection: missing mandatory mentions such as \"à domicile\", vague or non-compliant durations such as \"jusqu'à cicatrisation\", drug interactions, and drug-class duplicates.",[60,253,254,257],{},[83,255,256],{},"Prepare."," Eliane drafts emails, specialist transmissions, and calendar reminders, with pre-alerts 7 to 10 days before a treatment deadline.",[60,259,260,263],{},[83,261,262],{},"Validate."," The nurse reviews and validates each item before it is sent, which maintains a compliance trail.",[60,265,266],{},"Around a single patient, several parties usually need to stay informed: the treating physician, a specialist, the hospital, the pharmacy, the patient and caregivers, and the PSAD (home health-care provider). Eliane coordinates this communication over email, SMS, and MSSanté; Pro Santé Connect is noted as forthcoming. The documentation covers twelve recurring clinical situations, from stable chronic conditions to palliative home care, diabetes, wound care, and controlled-substance prescriptions.",{"title":127,"searchDepth":128,"depth":128,"links":268},[269],{"id":157,"depth":128,"text":158},"#059669","Eliane is a French SaaS for independent home-care nurses that handles prescription coordination and renewal, reading ordonnances, detecting anomalies before CPAM rejection, and coordinating communication among the parties around a patient.","i-lucide-stethoscope","\u002Fprojects\u002Feliane\u002Flogo.png",{},3,{"title":18,"description":271},"Prescription coordination for French home-care nurses",[279,280,281,282],"Healthcare","Nursing","SaaS","Compliance","https:\u002F\u002Feliane.io\u002F","zZckpHuVELthjSk6tBEvvy2boAOlGMC5Nd_WMxaXLBc",{"id":286,"title":14,"body":287,"color":528,"date":211,"description":529,"extension":134,"featured":50,"icon":530,"image":531,"logo":41,"logoDark":41,"meta":532,"navigation":50,"order":533,"path":15,"seo":534,"status":535,"stem":16,"tagline":536,"tags":537,"url":41,"__hash__":543},"projects\u002Fprojects\u002Fcubist.md",{"type":57,"value":288,"toc":520},[289,293,327,334,338,341,347,353,359,362,372,375,378,382,397,401,404,411,422,426,429,455,458,462],[72,290,292],{"id":291},"the-mission","The mission",[60,294,295,296,299,300,303,304,307,308,315,316,315,321,326],{},"Watch a child in a new place. Nobody hands them a goal or a reward function. They poke at things, notice what surprises them, invent little challenges, and out of that self-directed play comes an ever-growing repertoire of skills. Developmental AI researchers call such a learner ",[83,297,298],{},"autotelic",", from the Greek ",[64,301,302],{},"auto"," (self) and ",[64,305,306],{},"telos"," (goal): an agent that invents, selects, and pursues its own goals, driven by curiosity rather than external reward (",[309,310,314],"a",{"href":311,"rel":312},"https:\u002F\u002Fwww.frontiersin.org\u002Fjournals\u002Fneurorobotics\u002Farticles\u002F10.3389\u002Fneuro.12.006.2007\u002Ffull",[313],"nofollow","Oudeyer & Kaplan, 2007","; ",[309,317,320],{"href":318,"rel":319},"https:\u002F\u002Fjmlr.org\u002Fpapers\u002Fv23\u002F21-0808.html",[313],"Forestier et al., 2022",[309,322,325],{"href":323,"rel":324},"https:\u002F\u002Farxiv.org\u002Fabs\u002F2012.09830",[313],"Colas et al., 2022",").",[60,328,329,330,333],{},"Cubist's mission is to build one, with a twist. The autotelic agents of Oudeyer, Colas, and colleagues are usually powered by deep reinforcement learning. Cubist is symbolic all the way down. Its model of the world is a set of laws you can read. Its skills are small closed-loop programs. And the algorithm that improves both is a discrete cousin of gradient descent we call ",[83,331,332],{},"symbolic descent",".",[72,335,337],{"id":336},"the-bet-symbolic-not-gradient","The bet: symbolic, not gradient",[60,339,340],{},"Almost everything that learns at scale today learns by gradient descent: nudge billions of opaque weights down a loss. It works spectacularly well when data is plentiful and the world holds still. But an agent dropped into a new world, learning from a single unfolding life, needs three things that gradients make expensive.",[60,342,343,346],{},[83,344,345],{},"Continual learning."," A neural network trained on something new tends to silently overwrite what it knew, the classic problem of catastrophic forgetting (McCloskey & Cohen, 1989). A theory made of discrete laws does not have that failure mode. A law that is already correct produces no error, and a learner driven by errors never touches it. One experience is enough to add a law, and adding it breaks nothing.",[60,348,349,352],{},[83,350,351],{},"Reasoning."," An explicit theory is something you can do things with: query it, plan through it, spot the exact situations it does not cover. Every law is a falsifiable claim. The world either behaves as the law says, or the law gets revised. A weight vector predicts; a theory explains.",[60,354,355,358],{},[83,356,357],{},"Interpretability."," When a symbolic model fails, the failure has an address: this condition was too narrow, that rule missed an entity. When it succeeds, the model is its own documentation.",[60,360,361],{},"To make this concrete, here is a real theory Cubist learned on one of the benchmark games, in about eight seconds of play:",[363,364,369],"pre",{"className":365,"code":367,"language":368},[366],"language-text","# up key: the player (the only width-5 entity) moves 5 cells up\nACTION3: (self.width == 5) ⇒ move := (0, -5)\n\n# down key: the same player moves 5 cells down\nACTION4: (self.width == 5) ⇒ move := (0, 5)\n\n# right key: whatever sits on row 43 slides 5 cells right\nACTION2: (self.row == 43)  ⇒ move := (5, 0)\n\n# on every action, the entity with a direct neighbour (the life-bar)\n# shifts its colours one notch: time is running out\nany:     exists(nbrs(d1))  ⇒ recolor := (0,0,0,2, 0,0,0,0, 0,0,0,-2, 0,0,0,0)\n","text",[370,371,367],"code",{"__ignoreMap":127},[60,373,374],{},"Four laws, and you know the game. Each one states when it fires, who it applies to, and what happens. When the world contradicts a law, that law and only that law is revised.",[60,376,377],{},"The honest counterpart: gradients win where perception is raw and data is abundant. The symbolic bet targets the opposite regime, low data, a single life, and a demand for explanations. That happens to be the regime children, robots in the field, and scientific discovery all live in.",[72,379,381],{"id":380},"the-benchmark-arc-agi-3","The benchmark: ARC-AGI-3",[60,383,384,385,390,391,396],{},"Betting on a research direction means picking a test you cannot fool. Ours is ",[309,386,389],{"href":387,"rel":388},"https:\u002F\u002Farcprize.org\u002Farc-agi\u002F3",[313],"ARC-AGI-3",", the interactive-reasoning benchmark from the ARC Prize Foundation. The agent is dropped into a grid-world game with no instructions, no stated goal, and a handful of abstract actions, and must figure out what the game is while playing it. Scoring emphasizes sample efficiency: solving with fewer actions beats solving with more. That is ",[309,392,395],{"href":393,"rel":394},"https:\u002F\u002Farxiv.org\u002Fabs\u002F1911.01547",[313],"Chollet's definition of intelligence"," as skill-acquisition efficiency made operational, and a benchmark where the goal is never stated is exactly the right exam for an agent whose whole premise is inventing goals for itself.",[72,398,400],{"id":399},"where-it-stands","Where it stands",[60,402,403],{},"The world-model half is built and measured. Playing each of the 25 public ARC-AGI-3 games for a single 200-step life, with no pretraining, no gradients, and no game-specific tuning, Cubist learns each game's mechanics online as a small theory of laws, predicting every frame before learning from it. Held-out accuracy climbs from 0.46 in the first quarter of a run to 0.72 in the last, and 23 of 25 games end better than they started:",[60,405,406],{},[407,408],"img",{"alt":409,"src":410},"Per-game held-out prediction accuracy (F1), first quartile of the run versus final quartile. 23 of 25 games improve within a single 200-step life.","\u002Fprojects\u002Fcubist\u002Flearning-progress.png",[60,412,413,414,417,418,421],{},"The ",[309,415,416],{"href":37},"results post"," covers the representation, the learning algorithm, every metric, and where the model breaks. The ",[309,419,420],{"href":33},"method post"," works through symbolic descent itself and the full parallel with gradient descent.",[72,423,425],{"id":424},"whats-next-the-autotelic-loop","What's next: the autotelic loop",[60,427,428],{},"A model that predicts well is necessary but not sufficient. Prediction is not control, and on its own the world-model solves no levels. The second half of the program closes the loop:",[77,430,431,437,449],{},[80,432,433,436],{},[83,434,435],{},"Gaps become goals."," The model is honest: it never asserts a change it cannot justify, so its coverage gaps are a precise map of what is still unknown. That map is the agent's intrinsic motivation. Act where the theory is blind.",[80,438,439,442,443,448],{},[83,440,441],{},"Skills as programs."," Behaviours are grown as closed-loop programs over the theory's own vocabulary, scored by imagining them forward through the world-model before spending a real action, and kept in an open-ended repertoire the way ",[309,444,447],{"href":445,"rel":446},"https:\u002F\u002Farxiv.org\u002Fabs\u002F2006.08381",[313],"DreamCoder"," grows a library of reusable abstractions.",[80,450,451,454],{},[83,452,453],{},"The loop."," Model the world, find what you cannot explain, invent a skill to probe it, and let the sharper model expose new gaps. Open-ended, self-directed, and readable at every step.",[60,456,457],{},"This is the part under active construction.",[72,459,461],{"id":460},"references","References",[77,463,464,475,485,495,502,510],{},[80,465,466,467,471,472,333],{},"Oudeyer & Kaplan (2007). ",[309,468,470],{"href":311,"rel":469},[313],"What is intrinsic motivation? A typology of computational approaches",". ",[64,473,474],{},"Frontiers in Neurorobotics",[80,476,477,478,471,482,333],{},"Colas, Karch, Sigaud & Oudeyer (2022). ",[309,479,481],{"href":323,"rel":480},[313],"Autotelic agents with intrinsically motivated goal-conditioned reinforcement learning: a short survey",[64,483,484],{},"JAIR 74",[80,486,487,488,471,492,333],{},"Forestier, Portelas, Mollard & Oudeyer (2022). ",[309,489,491],{"href":318,"rel":490},[313],"Intrinsically motivated goal exploration processes with automatic curriculum learning",[64,493,494],{},"JMLR 23(152)",[80,496,497,498,333],{},"Chollet (2019). ",[309,499,501],{"href":393,"rel":500},[313],"On the measure of intelligence",[80,503,504,505,333],{},"ARC Prize Foundation (2026). ",[309,506,509],{"href":507,"rel":508},"https:\u002F\u002Farxiv.org\u002Fabs\u002F2603.24621",[313],"ARC-AGI-3: a new challenge for frontier agentic intelligence",[80,511,512,513,471,517,333],{},"Ellis et al. (2021). ",[309,514,516],{"href":445,"rel":515},[313],"DreamCoder: bootstrapping inductive program synthesis with wake-sleep library learning",[64,518,519],{},"PLDI",{"title":127,"searchDepth":128,"depth":128,"links":521},[522,523,524,525,526,527],{"id":291,"depth":128,"text":292},{"id":336,"depth":128,"text":337},{"id":380,"depth":128,"text":381},{"id":399,"depth":128,"text":400},{"id":424,"depth":128,"text":425},{"id":460,"depth":128,"text":461},"#d97706","Cubist is a research program on symbolic autotelic agents, agents that teach themselves an open-ended repertoire of skills. Gradient descent is replaced by symbolic descent. World-models are learned as readable programs, skills as closed-loop programs, and everything is measured on ARC-AGI-3.","i-lucide-box","\u002Fprojects\u002Fcubist\u002Fperception.png",{},4,{"title":14,"description":529},"Research","Building a symbolic autotelic agent: an AI that sets its own goals and learns its world as readable laws",[538,539,540,541,389,542],"Autotelic agents","Symbolic descent","World-models","Open-endedness","Interpretability","8CmPek1aJkK0sokgX8TS8knzVuEB1afssi4xS9PwJNs",1783074437901]