Para empezar, parece que en realidad no estás construyendo un programa de inteligencia artificial, sino solo un asistente automatizado de algún tipo. La inteligencia artificial se define como la simulación de procesos de inteligencia humana por parte de máquinas, incluida la capacidad de aprender, corregir y realizar tareas que generalmente requieren inteligencia humana. Las tareas que mencionó son realizadas fácilmente por muchas computadoras.
En el caso de estructurar su programa, hay muchas formas de abordar el problema. El código de separación que modifica varios estados es uno. Este es un enfoque orientado a objetos. Esencialmente, agrupa su código junto con los diversos estados que modifican. Parece que esto es lo que estás haciendo.
Hay muchos más enfoques para esto y ninguno es mejor que el resto. Es la preferencia del programador. Mucho de esto depende de si puede escribir algo mantenible y ampliable con cualquier enfoque que adopte.
- Con los avances en inteligencia artificial, ¿se volverá obsoleto el dinero?
- ¿Qué impacto tendrá la computación exascale en el desarrollo de la inteligencia artificial?
- ¿Podríamos crear impresoras 3D que impriman autorreplicadas con inteligencia súper artificial?
- Características de wit.ai vs API.ai?
- ¿Qué empresas cotizadas son líderes en inteligencia artificial para los mercados financieros?
En el caso de la programación real de IA, una vez más hay varios enfoques interesantes que se pueden tomar. Personalmente, estoy intrigado por la programación lógica. Un lenguaje de programación lógica como SWI-Prolog le permite escribir programas que consisten en un conjunto de hechos y conclusiones. Puede resolver algunos problemas realmente interesantes con esto de maneras muy elegantes.
Consulte el paradigma de programación: Wikipedia y lea los distintos enfoques que puede adoptar para resolver diversos problemas de programación. Incluso si parece que no funcionará para usted, es probable que alguien haya encontrado una solución para usarlo.