エキスパートシステムでは、知識ベースは「もし...ならば...」という形式の自然言語の規則で表現される。例えば、次のような文である。このような定式化は日常の話し言葉にも通じる利点があり、計算機科学(一般にプログラムはコード化される)では非常に珍しい。規則はエキスパートシステムが利用する知識を表現している。規則の定式化には他のものもあり、その場合は日常の言語とは程遠く、計算機科学者にしか理解できない。規則のスタイルは推論エンジンのスタイルに合うように選択される。エキスパートシステム最大の問題は、この普段は無意識に専門家が使っている知識を集めることである。そのための方法論がいくつかあるが、その多くは計算機科学者のみが使用可能である。推論エンジン.推論エンジンは、規則群を使って推論を行うプログラムである。推論を行うため、論理に基づいている。推論エンジンが使う論理としては、命題論理、一階または高階の述語論理、認識論理、様相論理、時相論理、ファジィ論理などがある。命題論理以外の論理は複雑であり、数学者や論理学者や計算機科学者でないと扱いが難しい。命題論理は基本的な論理であり、三段論法を定式化したものと言える。推論エンジンは論理を使って、規則やデータを処理し、新たな情報を生成する。利点.エキスパートシステムは通常のプログラムと比較したとき、以下のような利点がある。欠点.エキスパートシステムが解決する問題のタイプ.一般に、エキスパートシステムが解決する問題は、人間のエキスパート(専門家)が行うことをなぞって解決できるものである。それは、たとえば医学や他の専門家などである。そのような問題領域(一般に非常に狭い領域、たとえば「十代の皮膚病の診断」など)の実際の専門家から問題領域に関する経験則を聞き出す。その手法はシステム開発者が直接聞き取り調査する場合もあるし、評価システムを専門家に使ってもらい、ルールを専門家自身に追加してもらう場合もある。一般にエキスパートシステムは、従来のアルゴリズムで符号化することができるような唯一の「正しい」解決策がない問題のために使われる。データをソートするとか、グラフの最短経路を見つけるといった問題にはもっと簡単な解法があるので、エキスパートシステムを使ってそれらを解決しようとする人はいないだろう。