L'interet de donner des connaissances declaratives a un systeme est bien connu, mais il est difficile d'utiliser efficacement de telles connaissances. La solution de MACISTE est de se servir de metaconnaissances declaratives pour utiliser efficacement de telles connaissances. Pour eviter de deplacer simplement le probleme au niveau meta, les metaconnaissances sont utilisees a l'aide d'elles-memes. Cet amorcage est un des buts de MACISTE. Comme les annees precedentes, le langage dans lequel MACISTE est exprime a ete encore ameliore pour en diminuer les aspects proceduraux afin de permettre a l'utilisateur d'exprimer plus facilement ses (meta)connaissances. Celles-ci sont donc constamment changees pour tenir compte de ces dernieres possibilites. Par ailleurs, les expertises qui compilent les (meta)connaissances ont ete reprises pour mieux optimiser les procedures qu'elles produisent. En effet, plus on donne des expertises complexes, plus il devient necessaire que cette optimisation soit performante sous peine d'avoir des temps d'execution prohibitifs.
J'ai encore fait porter l'essentiel de mon effort sur la preparation d'un deuxieme amorcage, celui de metaconnaissances pour decouvrir de nouvelles metaconnaissances. Il est essentiel, vu la quantite de metaconnaissances necessaires pour apprendre. Mais il ne peut etre mis en oeuvre avant que ne soient resolus de facon satisfaisante les problemes de l'utilisation de metaconnaissances declaratives et de l'observation d'un systeme par lui-meme. J'ai en particulier ameliore les possibilites d'auto-observation du systeme en lui donnant la possibilite d'observer n'importe quelle expertise quand des conditions sur les objets qu'elle manipule sont remplies. Cela permet d'avoir une trace limitee a ce qui est vraiment utile. Le systeme peut agir immediatement au vu de ce qu'il observe, en monitorant intelligemment la recherche de la solution, ce qui permet de s'adapter rapidement aux caracteristiques de chaque probleme. Un tel comportement a ete observe par des psychologues comme Schoenfeld sur des sujets humains performants en resolution de problemes. Le systeme peut aussi analyser la trace en differe et en tirer parti pour les essais futurs, ce qui conduit a un apprentissage. Tout ceci est facilite par le caractere reflexif de MACISTE qui peut avoir acces a la totalite de son comportement puisqu'il est entierement compile par lui-meme.
J'ai beaucoup developpe la possibilite de faire des experiences. Pour vraiment comprendre les raisons d'un succes ou d'un echec, il est utile de pouvoir comparer ce qui s'est passe avec ce qui se passerait si l'on faisait un autre choix. Il est devenu facile d'indiquer au systeme de faire d'autres choix et d'en garder les consequences pour les examiner ulterieurement. Pour cela, le systeme peut etablir non seulement la trace des essais qu'il a faits, mais aussi la metatrace qui contient les raisons des choix de ces essais.
Maintenant que ces travaux preparatoires ont bien avance, il devient possible de s'attaquer au coeur du probleme, c'est a dire a ce que le systeme arrive a utiliser a bon escient les outils ainsi developpes. Cela est difficile, car si la reflexivite d'un systeme informatique apporte d'enorme possibilites, personne ne sait encore vraiment les utiliser. En effet, les etres humains n'ont pas ces possibilites, aussi n'avons-nous pas de modele pour savoir comment en tirer parti. Par ailleurs, la reflexivite entraine des difficultes nouvelles, comme le metabogue ou le blocage, contre lesquelles nous ne savons pas encore lutter. Aussi, devons-nous simultanement faire avancer la recherche par tatonnements et etablir des methodes pour mieux remedier aux effets secondaires nocifs de la reflexivite. Tout cela devrait conduire a des systemes capables d'apprendre a apprendre par la creation de nouvelles metaconnaissances quand toutes ces techniques seront maitrisees. Il ne suffit pas de realiser des outils extremement puissants, mais il faut aussi apprendre a s'en servir; c'est le but des prochaines experimentations avec MACISTE.
Actuellement je travaille a la realisation d'un chercheur artificiel en intelligence artificielle.