NotebookLM을 작년 중반부터 여러번 소개받았지만 어떻게 활용해야 할지 몰랐었는데, 얼마 전에 한번 시간을 내어 탐구를 해봤습니다. 그 과정에서 이런 저런 실험들을 해보았는데, 사내에 공유했던 활용팁 4가지를 더 많은 분들과 나누기 위해 공개합니다.

우선은 큰 4가지 팁의 개요는 이렇습니다.

  • (영어로 된) 책이나 논문의 내용을 파악하는데 사용
    • why not 일본어, 중국어, 독일어, 스페인어?
  • 책에 안써있는 내용 물어보기
  • 여러 책을 한 번에 읽기
    • 같은 분야의 책들을 여러개 넣기
    • 다르나 연관 있는, 또는 다른 분야의 책들을 여러개 넣기. 이종교배하기.
  • 나의 현재 구체적인 과업에 적용하게 하기

제가 NotebookLM으로 읽어봐야겠다고 생각한 첫 자료는, Fernando Flores가 쓴 “Understanding Computer and Cognition”이라는 책입니다.


(영어로 된) 책이나 논문의 내용을 파악하는데 사용.

"이 책의 개요를 설명해주세요."

이 책, 테리 위노그라드와 페르난도 플로레스의 “컴퓨터와 인지 이해(Understanding Computers and Cognition)”는 인지와 언어에 대한 우리의 이해에 있어 지배적인 “합리주의적 전통”에 도전하면서 컴퓨터 기술 설계를 위한 새로운 토대를 제공하는 것을 목표로 합니다.

이 책은 언어를 세계를 나타내는 기호 체계로, 인지를 이러한 기호들의 조작으로 보는 합리주의적 관점을 개괄하는 것으로 시작합니다. 그런 다음 이 전통이 인간의 이해와 존재의 중요한 측면을 간과하고 제한적이라고 비판합니다.

저자들은 대안적인 이론적 배경을 소개합니다. 여기에는 다음이 포함됩니다.

  • 해석학과 하이데거의 철학: 이해를 세계-내-존재(being-in-the-world)로 강조하고, 선이해와 배경의 역할, 그리고 우리의 당연하게 여겨지는 세계를 드러내는 데 있어 고장의 중요성을 강조합니다.
  • 마투라나의 인지에 대한 생물학적 현상으로서의 관점: 신경계의 폐쇄성, 자기생산(autopoiesis) (살아있는 시스템의 자기-생산), 환경과의 구조적 결합, 그리고 상호작용을 통한 합의적 영역(consensual domains)의 출현을 강조합니다. 마투라나는 인지가 외부 세계로부터의 정보를 처리하는 것이 아니라 유기체의 생존 가능성을 유지하는 것에 관한 것이라고 주장합니다.
  • 발화 행위 이론: 언어를 단순한 표현이 아닌 행위이자 약속으로 봅니다. 이 책은 의미가 발화 행위에서 표현된 약속을 듣는 과정에서 발생하며, 우리의 세계는 언어를 통해 창조된다는 점을 강조합니다.

이러한 새로운 이론적 지향을 바탕으로 이 책은 컴퓨터와 표현을 비판적으로 검토합니다. 단순히 세계의 정확하고 효과적인 표현을 만드는 것으로 프로그래밍을 보는 관점에 의문을 제기합니다. 저자들은 인공 지능과 자연어 처리에서 배경의 문제를 논하며, 진정한 “이해”는 형식적인 표현을 조작하는 것 이상을 요구한다고 주장합니다. 그들은 “이해하는” 프로그램을 만들려는 다양한 시도를 분석하고 그 한계를 강조합니다.

마지막으로 이 책은 설계를 위한 새로운 방향으로 나아갑니다. 가장 중요한 설계는 존재론적(ontological)이며, 이는 우리가 세상에 존재하는 근본적인 방식에 개입하는 것을 의미한다고 제안합니다. 저자들은 설계가 고장을 예측하고 새로운 행동 공간을 창출하는 방식을 논합니다. 그들은 우리가 행동하는 영역을 창조하는 데 있어 언어의 역할을 강조하고, 언어 안에서 행동하는 기계로서의 컴퓨터가 우리의 삶에 심오한 영향을 미칠 수 있다고 시사합니다. 이 책은 앞 장에서 발전시킨 통찰력을 바탕으로 인간의 작업과 상호 작용을 용이하게 하는 미래 컴퓨터 기반 시스템 설계를 위한 방향을 제시하며 결론을 맺습니다. 본질적으로 이 책은 합리주의에 뿌리를 둔 마음과 컴퓨터에 대한 전통적인 견해에 도전하고, 존재, 생물학, 그리고 행위로서의 언어에 기반한 새로운 이해를 제안하며, 이는 미래 컴퓨팅 기술 설계에 중요한 의미를 갖습니다.


"말씀하신 각 부분, '대안적인 이론적 배경', '컴퓨터와 표현을 비판적으로 검토', '설계를 위한 새로운 방향으로 나아감'의 구체적인 사례를 말해주세요."

네, 책 “컴퓨터와 인지 이해”에서 제시된 대안적인 이론적 배경, 컴퓨터와 표현에 대한 비판적 검토, 그리고 설계를 위한 새로운 방향으로 나아가는 것에 대한 구체적인 사례들을 한국어로 설명해 드리겠습니다.

  1. 대안적인 이론적 배경의 구체적인 사례:
    • 해석학과 하이데거의 철학: 이 책은 합리주의적 전통 대신에 인간의 이해를 ‘세계-내-존재’로 보는 하이데거의 철학과 선이해 및 배경의 중요성을 강조하는 해석학을 대안적인 이론적 배경으로 제시합니다.
      • 구체적인 사례: 일상에서 사용하는 망치가 고장 났을 때 우리는 비로소 망치의 정상적인 작동 방식과 우리가 암묵적으로 이해하고 있던 망치의 역할을 명확히 인식하게 됩니다. 이러한 ‘고장(breakdown)’은 우리가 당연하게 여기던 세계를 드러내는 중요한 계기가 됩니다.
    • 마투라나의 인지에 대한 생물학적 이해: 이 책은 인지를 외부 세계로부터의 정보 처리가 아닌 살아있는 시스템의 자기-생산(autopoiesis)과 환경과의 구조적 결합(structural coupling)을 통해 이해하는 마투라나의 이론을 소개합니다.
      • 구체적인 사례: 개구리의 시각 시스템에 대한 연구는 눈에 들어오는 빛의 패턴을 직접적으로 표현하는 것이 아니라, 개구리 신경계의 내부 구조와 상호작용의 역사에 따라 반응한다는 것을 보여줍니다. 이는 인지가 외부 현실의 객관적인 포착이 아님을 시사합니다.
    • 발화 행위 이론: 언어를 단순히 정보를 전달하는 수단이 아니라 행위이자 약속으로 보는 발화 행위 이론이 제시됩니다.
      • 구체적인 사례: “약속한다”라는 발언은 단순히 사실을 기술하는 것이 아니라 약속이라는 행위를 수행하며, 발언자와 청자 사이에 특정한 약속(commitment) 관계를 형성합니다. 언어의 의미는 이러한 약속을 이해하고 해석하는 과정에서 발생합니다.
  2. 컴퓨터와 표현에 대한 비판적 검토의 구체적인 사례:
    • 프로그래밍과 표현의 한계: 이 책은 프로그래밍을 단순히 특정 주제 영역에 대한 정확한 표현(representation)을 만드는 것으로 보는 관점을 비판합니다.
      • 구체적인 사례: 워드프로세서를 예로 들어, 워드프로세서의 의미와 기능은 단순히 코드로 표현된 정보의 입력, 저장, 출력 처리 방식뿐만 아니라, 그것이 인간의 의사소통, 정보의 배포, 지식의 축적이라는 더 넓은 맥락 속에서 어떤 역할을 하는지에 따라 결정됩니다. 따라서 기술을 이해하기 위해서는 기능적인 이해뿐만 아니라 “의사소통,” “정보,” “지식”과 같은 기본적인 인간 현상에 대한 더 깊은 탐구가 필요합니다.
    • 인공 지능과 언어 이해의 문제: 합리적인 문제 해결로서의 지능이라는 관점에서 인공 지능이 언어를 “이해”할 수 있는지에 대한 질문에 대해 회의적인 입장을 취하며 배경 지식(background)의 중요성을 강조합니다.
      • 구체적인 사례: 위노그라드의 SHRDLU 프로그램은 장난감 블록 세계 내에서 제한적인 대화를 수행할 수 있지만, 대화의 맥락(context)을 유지하고 이전에 언급된 대상(“그 피라미드”)을 파악하는 능력은 프로그램에 내장된 규칙과 이전에 언급된 객체 목록에 의존합니다. 이는 인간의 언어 이해가 훨씬 풍부한 배경 지식과 상황 해석 능력에 기반한다는 점을 보여줍니다. “물”이라는 단어의 의미조차도 상황과 배경에 따라 달라질 수 있다는 점을 지적하며, 컴퓨터가 이러한 미묘한 의미 차이를 포착하는 데 어려움이 있음을 설명합니다.
    • 문자적 의미의 불충분성: 언어 이해에 있어 문자적 의미(literal meaning)에만 의존하는 접근 방식의 한계를 지적합니다.
      • 구체적인 사례: 냉장고에 “물”이 있는지 묻는 질문에 대해, B가 “가지의 세포 속에 있습니다”라고 대답하는 상황은 문자적으로는 참일 수 있지만, 질문자의 의도와 배경을 고려할 때 부적절한 답변입니다. 이는 실제 언어 사용에서는 문자적 의미뿐만 아니라 화자와 청자가 공유하는 배경과 의도에 대한 이해가 필수적임을 보여줍니다.
  3. 설계를 위한 새로운 방향으로 나아감의 구체적인 사례:
    • 존재론적 설계(ontological design): 새로운 기술 설계는 단순히 기능적인 문제를 해결하는 것을 넘어, 우리가 세상에 존재하고 행동하는 근본적인 방식을 변화시키는 존재론적(ontological)인 행위여야 한다고 주장합니다.
      • 구체적인 사례: 사무실 환경에서 행동을 위한 대화(conversations for action)를 지원하는 협업 시스템(coordination system)을 설계하는 것은 단순히 업무 프로세스를 자동화하는 것이 아니라, 약속, 완료, 고장 등을 명시적으로 관리함으로써 조직 구성원들의 상호 작용 방식을 근본적으로 변화시키는 시도입니다. 이는 인간의 언어적 행위를 이해하고 이를 기반으로 새로운 업무 환경과 관계를 창출하는 설계 방식입니다.
    • 고장(breakdown)의 중요성: 설계는 예측 가능한 문제 해결뿐만 아니라 예기치 않은 고장(breakdown)을 인식하고 이를 통해 새로운 가능성을 발견하는 데 초점을 맞춰야 한다고 강조합니다.
      • 구체적인 사례: 재고 관리 시스템은 상품 부족이라는 ‘고장’을 예측하고 방지하기 위해 설계될 수 있습니다. 하지만 더 나아가, 시스템 오류나 사용자의 오해와 같은 예상치 못한 ‘고장’ 상황을 통해 시스템의 개선 방향을 모색하고 새로운 기능을 추가하는 것 또한 중요한 설계 과정입니다.
    • 새로운 영역(domain)의 창출: 설계는 기존의 업무나 사고방식을 반영하는 도구를 만드는 것을 넘어, 이전에는 불가능했던 새로운 활동 영역과 방식을 창출할 수 있어야 합니다.
      • 구체적인 사례: 금융 거래 기술의 발전은 기존의 금융 업무 방식을 변화시켰을 뿐만 아니라, 이전에는 상상하기 어려웠던 새로운 금융 상품과 서비스를 탄생시키고 사회 전체의 금융 활동 방식을 진화시켰습니다. 이는 기술 설계가 단순히 도구를 만드는 것을 넘어 새로운 사회적, 경제적 가능성을 열어가는 과정임을 보여줍니다.

이처럼 책 “컴퓨터와 인지 이해”는 전통적인 합리주의적 관점에서 벗어나 인간의 인지, 언어, 그리고 존재에 대한 새로운 이해를 바탕으로 컴퓨터 기술 설계를 위한 혁신적인 방향을 제시하고 있습니다.


책에 안써있는 내용 물어보기

"이 책의 논지가, 최근의 generative AI, 특히 LLM을 통한 대화형 인터페이스, 그리고 reasoning model이 등장하여 마치 산업혁명 초기를 보는 것과 같이 폭발적인 다양한 시도가 발생하고 있는 현재 시점에, 어떤 시사점을 줄 수 있을까요?"

이 책 “Understanding Computers and Cognition”의 논지는 현재 generative AI, 특히 LLM을 통한 대화형 인터페이스 및 reasoning model의 폭발적인 발전에 대해 다음과 같은 중요한 시사점을 던져줄 수 있습니다.

첫째, 이 책은 전통적인 합리주의적 인공지능(AI) 연구의 한계를 비판하며, 지능과 이해를 기호 조작 및 논리적 문제 해결로 환원하는 접근 방식의 근본적인 문제점을 지적합니다. 현재 LLM은 방대한 텍스트 데이터를 기반으로 통계적 패턴을 학습하여 인간과 유사한 텍스트를 생성하고 대화를 수행하는 데 놀라운 능력을 보여줍니다. 그러나 이 책의 관점에서 볼 때, 이러한 능력은 진정한 의미의 이해(understanding)라기보다는 정교한 패턴 인식(pattern recognition)에 더 가깝다고 해석될 수 있습니다. LLM은 텍스트의 의미를 상황과 배경 속에서 파악하고, 인간의 의도와 약속을 이해하는 능력이 근본적으로 부족할 수 있다는 점을 시사합니다.

둘째, 책은 인간의 이해가 세계-내-존재(being-in-the-world)와 밀접하게 연결되어 있으며, 우리의 사전 이해(pre-understanding)와 배경(background) 지식에 깊이 뿌리내리고 있다고 강조합니다. LLM은 학습 데이터에 나타난 패턴을 기반으로 응답하지만, 인간이 공유하는 문화적, 사회적, 물리적 세계에 대한 풍부하고 암묵적인 이해가 부족합니다. 따라서 현재의 대화형 인터페이스는 피상적으로는 유창해 보일 수 있지만, 실질적인 맥락 이해나 예상치 못한 상황에 대한 유연한 대처에 한계를 드러낼 수 있습니다. 책에서 제시하는 고장(breakdown)의 개념은 이러한 AI 시스템이 예상치 못한 입력이나 상황에 직면했을 때 어떻게 작동하는지, 그리고 그 한계를 어떻게 드러내는지를 이해하는 데 중요한 통찰력을 제공합니다.

셋째, 이 책은 언어를 단순한 정보 전달 수단이 아닌 행위(action)이자 약속(commitment)으로 보는 관점을 제시합니다. LLM 기반 대화형 인터페이스는 종종 질문에 답하거나 정보를 제공하는 데 초점을 맞추지만, 인간의 대화는 단순히 정보를 교환하는 것을 넘어 서로의 의도를 파악하고, 관계를 형성하며, 공동의 목표를 향해 나아가는 복잡한 상호작용입니다. 현재 AI 시스템은 이러한 언어의 행위적 측면과 그에 따른 약속, 그리고 신뢰 관계를 제대로 이해하고 수행하는 데 어려움을 겪을 수 있습니다.

넷째, 책은 기술 설계가 단순히 기능적인 문제 해결을 넘어 인간의 존재 방식과 세계와의 관계를 근본적으로 변화시키는 존재론적 설계(ontological design)의 중요성을 강조합니다. 현재 generative AI의 발전은 다양한 새로운 가능성을 열어주고 있지만, 동시에 인간의 사고방식, 사회적 상호작용, 그리고 우리가 세계를 이해하는 방식에 어떤 영향을 미칠지에 대한 깊은 고민이 필요합니다. 이 책은 기술 설계를 인간의 실존적 경험과 가치를 고려하는 방향으로 이끌어야 한다고 주장하며, 단순히 효율성이나 편리성을 추구하는 것을 넘어 인간의 삶의 질을 향상시키고 긍정적인 변화를 창출할 수 있는 방향으로 나아가야 함을 시사합니다.

결론적으로, “Understanding Computers and Cognition”은 현재 폭발적으로 발전하는 generative AI, 특히 LLM 기반 대화형 인터페이스 및 reasoning model에 대해 인간의 지능과 이해의 본질에 대한 깊은 성찰을 요구하며, 기술의 발전 방향이 단순히 모방을 넘어 인간의 경험과 가치를 존중하는 방향으로 나아가야 함을 강조하는 중요한 시사점을 제공합니다.


"이 책의 논지, 그리고 referencing되는 개념들이, multi-agent를 만들어서 그들 간에 대화와 추론을 하게 하여 협력적인 과업을 달성하게 하려는 저의 연구과제에, 어떤 시사점이나 구체적인 적용점이 있을까요?"

이 책은 전통적인 합리주의적 인공지능 관점, 즉 지능과 이해를 기호 조작과 논리적 문제 해결과 동일시하는 견해를 비판하며, 다중 에이전트 시스템 연구에 여러 중요한 시사점을 제공합니다.

첫째, 이 책은 인간의 이해가 단순한 기호 조작이나 논리적 연역으로 환원될 수 없다고 주장합니다. 귀하의 다중 에이전트들이 논리적으로 추론하도록 설계할 수 있지만, 이러한 관점은 인간 상호작용과 유사한 진정한 협업과 이해를 달성하려면 그 이상의 것이 필요할 수 있음을 시사합니다. 인간의 협력은 종종 암묵적인 이해, 공유된 배경 지식, 상황에 대한 공통된 해석에 의존합니다.

둘째, “Understanding Computers and Cognition”은 인간의 이해가 우리의 “세계-내-존재”(Heidegger)와 “선이해” 및 “배경” 지식에 깊이 뿌리내리고 있다고 강조합니다. 귀하의 다중 에이전트 시스템이 효과적으로 협업하려면 각 에이전트는 개별적인 추론 능력뿐만 아니라 공통된 맥락과 배경 지식을 공유하거나 상호 작용을 통해 구축하는 메커니즘이 필요할 수 있습니다. 이러한 공유된 이해는 상황을 해석하고 다른 에이전트의 의도를 추론하는 데 매우 중요합니다. 단순히 명시적인 정보를 교환하는 것만으로는 충분하지 않을 수 있으며, 에이전트는 통신이 발생하는 맥락을 이해해야 합니다.

셋째, 이 책은 언어를 단순한 정보 전달 수단이 아닌 행동 및 약속으로 봅니다. 귀하의 다중 에이전트 간의 대화를 설계할 때 정보 교환뿐만 아니라 요청, 약속, 수락 및 거부와 같은 명시적인 발화 행위의 수행을 모델링하는 것을 고려해야 합니다. 책에서 논의된 “행동을 위한 대화”라는 개념은 에이전트가 작업을 조정하고 책임을 할당하는 방식을 설계하는 데 직접적인 영감을 줄 수 있습니다. 각 에이전트가 자신의 발언에 내포된 약속과 다른 에이전트의 발언에서 발생하는 책임을 인식하도록 하는 것이 중요합니다.

넷째, 이 책은 인간의 이해와 학습에서 “고장”(breakdown)의 중요성을 강조합니다. 귀하의 다중 에이전트 시스템은 통신 실패, 계획 실패 또는 환경 변화와 같은 고장을 예측, 감지 및 효과적으로 대응하도록 설계되어야 합니다. 단순히 오류를 보고하는 대신, 에이전트는 이상적으로 고장의 원인을 분석하고, 새로운 해결책을 탐색하고, 협업 전략을 재조정할 수 있어야 합니다.

다섯째, 이 책은 기술 설계가 기능적인 문제 해결을 넘어 우리의 존재 방식과 세계와의 관계를 근본적으로 형성하는 “존재론적 설계”(ontological design)의 중요성을 강조합니다. 다중 에이전트 시스템을 설계할 때 에이전트의 개별 기능과 역할뿐만 아니라 시스템 전체의 창발적인 협업 능력과 사용자 또는 환경에 미칠 수 있는 잠재적 영향을 고려해야 합니다. 설계는 협업을 통해 시너지 효과를 창출하는 것을 목표로 해야 합니다.

이러한 통찰력을 바탕으로 귀하의 연구에 적용할 수 있는 구체적인 예는 다음과 같습니다.

  • 명시적인 발화 행위를 기반으로 하는 통신 프로토콜 설계: 에이전트 간 메시지를 발화 행위 유형(요청, 약속, 동의, 거부 등)으로 분류하고 각 유형과 관련된 예상되는 응답 및 약속을 정의합니다.
  • 맥락 및 배경 지식 공유 메커니즘 구현: 온톨로지 또는 지식 그래프와 같은 공유 지식 베이스를 활용하여 에이전트가 작업과 관련된 공통된 이해를 형성할 수 있도록 합니다. 진화하는 맥락을 이해하기 위해 에이전트가 대화 기록을 유지하고 참조하도록 설계합니다.
  • 고장 감지 및 협업 문제 해결 프로세스 개발: 에이전트가 오류 또는 예상치 못한 상황을 인식하고, 이를 다른 에이전트에게 알리고, 공동으로 분석하고 해결책을 찾을 수 있도록 합니다.
  • 역할 및 책임 할당 및 추적 통합: 협업 작업에서 각 에이전트의 역할과 책임을 명확하게 정의하고 약속 이행을 추적하는 시스템을 구축합니다. 책의 “조정 시스템” 개념이 관련될 수 있습니다.
  • 학습 및 적응 메커니즘 설계: 에이전트가 고장 및 새로운 경험으로부터 학습하여 지식, 추론 규칙 및 협업 전략을 개선할 수 있도록 합니다.

결론적으로, “Understanding Computers and Cognition”은 성공적인 협업을 위한 다중 에이전트 시스템이 순수한 논리적 추론 모델을 넘어 상황적 맥락, 행동 및 약속으로서의 언어의 본질, 효과적인 고장 처리의 중요성을 고려해야 함을 시사합니다. 협업의 사회적 및 의사소통적 측면에 초점을 맞춤으로써 귀하의 연구는 더 강력하고 인간과 유사한 협력 시스템을 만드는 것을 목표로 할 수 있습니다.


여러 책을 한 번에 읽기. 이종교배하기.

"Gary Klein의 Decision making in action, Humberto Maturana의 The Tree of Knowledge를 추가했습니다. Maturana는 Fernando Flores가 사상적 영향을 받은 사람입니다. Gary Klein은 전문가의 인지적 전문성을 연구한 사람입니다. 이 세 가지 분야를 아우르고 관통하는 내용이 무엇인가요?"

제공해주신 정보와 이전 대화를 바탕으로 Gary Klein의 자연주의적 의사 결정 연구, Humberto Maturana의 인지 이론 (특히 “Understanding Computers and Cognition”에서 드러나는 내용과 새로 추가된 “The Tree of Knowledge”를 고려), 그리고 Maturana로부터 Fernando Flores가 받은 사상적 영향, 이 세 가지 분야를 아우르고 관통하는 내용은 다음과 같습니다.

핵심 관통점: 전통적인 인지 및 의사 결정 이론에 대한 비판과, 실제 세계에서의 인간 행동과 인지 과정에 대한 새로운 이해를 추구합니다. 특히, 행동의 중요성, 상황의 맥락성, 그리고 지식과 경험의 역할을 강조합니다.

좀 더 구체적으로 살펴보겠습니다.

  • 전통적 관점의 한계에 대한 인식: Gary Klein은 실험실 기반의, 선택지 비교에 초점을 맞춘 전통적인 의사 결정 이론이 실제 복잡한 환경에서의 전문가 의사 결정을 설명하는 데 부적절하다고 주장합니다. Maturana 역시 이성주의적 철학에 기반한 전통적인 인지관이 신경 활동을 외부 세계의 직접적인 재현으로 보는 관점을 비판하며, 인지가 외부 자극에 대한 수동적인 반응이 아닌 능동적인 구성 과정임을 강조합니다. 이전 대화에서 언급된 Flores 역시 전통적인 정보 처리 모델을 비판하며, 언어와 행동의 역할을 중요하게 생각합니다.
  • 행동 중심의 인지: Klein의 RPD (Recognition-Primed Decision) 모델은 숙련된 의사 결정자들이 상황을 인식하고 그에 적합한 행동을 즉각적으로 선택하며, 필요하다면 정신적 시뮬레이션을 통해 평가하는 과정을 보여줍니다. 이는 의사 결정을 단순히 선택의 문제가 아닌, 목표 달성을 위한 지속적인 행동 흐름의 일부로 보는 관점과 일치합니다. Maturana는 “Understanding Computers and Cognition”에서 인지 영역을 ‘시간을 통한 효과적인 행동을 특징짓는 영역’으로 정의하며, ‘안다’라는 것은 상태에 대한 기술이 아닌 행동 패턴에 대한 기술이라고 주장합니다. Flores 역시 언어를 단순한 정보 전달 수단이 아닌, 약속을 생성하고 행동을 조정하는 행위로 봅니다.
  • 상황 및 맥락의 중요성: Klein은 실제 의사 결정은 역동적이고 끊임없이 변화하는 조건, 실시간 반응, 불명확한 목표와 비구조적인 과제, 그리고 지식 있는 사람들의 특징을 갖는 자연스러운 환경에 embedded 되어 있다고 강조합니다. 실험실 환경에서 분리된 의사 결정 연구는 이러한 실제 세계의 특징을 간과할 수 있습니다. Maturana의 인지 이론 역시 고립된 개체가 아닌, 세계 안에서 상호작용하는 존재로서의 인지를 이해하는 것을 중요하게 생각합니다. 특히, ‘고장 (breakdown)’의 개념을 통해 우리가 세상과 유창하게 몰입하는 데 발생하는 중단 속에서 배경 이해가 드러나는 점을 지적합니다 [원래 답변]. 이는 의사 결정을 특정 맥락에서 이해해야 함을 시사합니다.
  • 전문 지식과 경험의 역할: Klein의 연구는 숙련된 전문가들이 상황 인식을 바탕으로 빠르고 효과적인 결정을 내리는 방식을 보여줍니다. 그들은 다양한 선택지를 비교하기보다는 패턴 인식과 경험에 기반한 직관적인 판단을 주로 사용합니다. Maturana의 이론은 학습된 행동과 본능적인 행동의 구분이 단순히 행동 자체의 특징이 아닌, 그러한 행동을 가능하게 하는 구조 형성의 역사에 있다고 설명하며, 경험의 중요성을 간접적으로 뒷받침합니다. Flores 역시 특정 분야의 전문가는 해당 분야의 언어적, 비언어적 관행에 대한 깊은 이해를 바탕으로 효과적인 행동을 할 수 있다고 볼 수 있습니다.
  • 전통적인 규범적 모델에 대한 비판: Klein은 성공적인 의사 결정이 모든 문제에 대한 논리적으로 완전한 형식 모델을 요구하는 것이 아니라, 지식을 효과적으로 사용하고 변화하는 상황에 적응하는 능력에 달려 있다고 주장하며, 전통적인 합리적 의사 결정 오류 개념을 비판합니다. Maturana 역시 외부 세계의 ‘진리’에 대응하는 재현으로서의 언어 개념을 비판하며, 언어는 오히려 현실을 구성하는 역할을 한다고 봅니다. 이는 전통적인 규범적 의사 결정 모델이 현실 세계의 복잡성을 제대로 반영하지 못한다는 비판과 연결될 수 있습니다.

결론적으로, Klein, Maturana, 그리고 Flores의 작업은 단순한 정보 처리나 논리적 선택으로서의 인지 및 의사 결정을 넘어, 실제 세계에서의 행동, 맥락, 경험, 그리고 언어의 역할을 강조하는 공통된 지향점을 가지고 있습니다. Klein의 실증적 연구는 전문가들이 어떻게 이러한 요소들을 활용하여 효과적인 의사 결정을 내리는지 보여주는 반면, Maturana의 이론적 framework는 이러한 현상을 이해하기 위한 철학적, 인지적 기반을 제공하며, Flores의 작업은 이를 언어, 소통, 협업의 맥락으로 확장하여 이해하는 데 도움을 줄 수 있습니다.


"아주 구체적인 실천적인 요소에서 세 저작이 서로 상응하며 보완하고 강화하는 부분이 있습니까?"

네, 아주 구체적인 실천적인 요소에서 세 저작이 서로 상응하며 보완하고 강화하는 부분을 찾을 수 있습니다. 핵심은 전통적인 규범적 모델의 한계를 인식하고, 실제 세계에서의 인간의 인지, 의사 결정, 그리고 행동의 특징을 더 깊이 이해하려는 노력에 있습니다.

  1. 상황 인식 (Situation Assessment)의 중요성 및 작동 방식:
    • Gary Klein: Klein은 그의 자연주의적 의사 결정 (NDM) 모델에서 상황 인식이 숙련된 의사 결정의 핵심이라고 강조합니다. 전문가들은 다양한 단서와 패턴을 빠르게 인식하여 현재 상황을 이해하고, 그에 따라 적절한 행동 방침을 떠올립니다. 이는 복잡하고 시간 제약이 있는 실제 환경에서 다수의 선택지를 비교 분석하는 전통적인 의사 결정 모델과는 대조적입니다. Klein의 상황 평가 모델은 기대치와 관찰된 데이터를 비교하고, 불일치가 있을 경우 상황 표현을 수정하거나 개선하는 과정을 보여줍니다.
    • Humberto Maturana: Maturana의 인지 이론은 인식이 효과적인 행동을 가능하게 하는 영역이라고 정의합니다. 유기체는 환경과의 구조적 결합 (structural coupling)을 통해 세계 속에서 효과적으로 작동할 수 있는 구조를 발전시킵니다. 즉, 상황에 대한 ‘지식’은 외부 세계의 직접적인 재현이 아니라, 생존과 기능 유지를 위한 효과적인 행동을 가능하게 하는 내부 구조에 반영된 것입니다. “The Tree of Knowledge”에서도 지식은 주어진 맥락에서 효과적인 (또는 적절한) 행동을 우리가 관찰할 때 인정된다고 설명하며, 상황과 행동의 연관성을 강조합니다.
    • Winograd & Flores (Maturana의 영향): Winograd와 Flores는 이해는 항상 상황에 상대적이며, 언어의 의미는 상황과 목적, 배경 이해에 따라 달라진다고 주장합니다. “Understanding Computers and Cognition”에서 제시된 대화 예시는 ‘물’과 같은 간단한 단어조차 상황에 따라 그 의미와 적절성이 달라질 수 있음을 보여줍니다. 이는 Klein이 실제 의사 결정 맥락의 중요성을 강조하는 점과, Maturana가 인지를 효과적인 행동과 연결하여 이해하는 점을 뒷받침합니다.
  2. 경험과 패턴 인식의 역할:
    • Gary Klein: Klein의 RPD 모델은 숙련된 의사 결정자들이 과거 경험을 바탕으로 상황을 빠르게 인식하고, 유사한 상황에서 성공했던 행동 방침을 떠올려 실행하는 방식을 설명합니다. 이 과정은 분석적 추론보다는 직관적인 패턴 인식에 더 의존합니다.
    • Humberto Maturana: Maturana는 학습은 유기체의 구조적 변화이며, 이러한 변화는 반복적인 상호작용을 통해 일어난다고 봅니다. 경험은 유기체가 특정 환경에서 효과적으로 기능하도록 하는 구조적 결합을 형성하는 데 결정적인 역할을 합니다. 즉, 숙련된 패턴 인식 능력은 오랜 경험을 통해 내재화된 효과적인 행동 방식이라고 볼 수 있습니다.
    • Winograd & Flores: 이들은 전통적인 AI 연구가 지식을 명시적인 규칙이나 데이터베이스로 표현하려고 시도했지만, 실제 인간의 전문성은 배경 지식과 암묵적인 이해에 기반한다고 비판합니다. Klein이 강조하는 전문가의 패턴 인식 능력은 이러한 암묵적인 이해와 경험의 중요성을 보여주는 실질적인 사례라고 할 수 있습니다.
  3. 행동의 우선성:
    • Gary Klein: Klein의 연구는 의사 결정을 ‘선택’의 순간으로 보기보다는, 목표 달성을 위한 일련의 행동 과정으로 이해하는 것을 강조합니다. RPD 모델에서 행동 방침을 떠올리고 정신적 시뮬레이션을 통해 평가하는 과정 자체가 행동 지향적입니다.
    • Humberto Maturana: Maturana는 살아있는 시스템은 본질적으로 인지 시스템이며, 삶의 과정 자체가 인지의 과정이라고 주장합니다. 즉, 인지는 외부 세계에 대한 정보를 처리하는 추상적인 과정이 아니라, 세계 속에서 효과적으로 ‘행동하는’ 능력과 불가분의 관계에 있습니다.
    • Winograd & Flores: 이들은 언어를 단순히 정보를 전달하는 수단이 아니라, 약속을 생성하고 행동을 조정하는 ‘언어 행위 (speech act)’로 이해합니다. 이는 인간의 인지와 소통의 근본적인 목적이 추상적인 지식 습득보다는 공동의 행동 조정에 있음을 시사합니다.
  4. 실패 (Breakdown)의 중요성:
    • Winograd & Flores: 이들은 예상치 못한 실패, 즉 ‘breakdown’이 우리의 암묵적인 배경 이해를 드러내고 새로운 이해와 디자인으로 이어지는 중요한 계기가 된다고 강조합니다.
    • Maturana: Maturana는 명시적으로 ‘breakdown’이라는 용어를 사용하지는 않지만, 유기체가 환경과의 상호작용에서 겪는 섭동 (perturbation)에 대한 반응과 구조적 변화를 통해 학습하고 진화한다는 개념은 ‘breakdown’과 유사한 역할을 합니다. 예상치 못한 상황은 유기체의 기존 작동 방식을 시험하고 새로운 행동 방식을 모색하도록 만듭니다.
    • Gary Klein: Klein의 연구에서 전문가들이 예상치 못한 상황에 직면했을 때, 기존의 상황 인식을 수정하거나 새로운 행동 방침을 모색하는 과정은 Winograd와 Flores가 설명하는 ‘breakdown’ 상황과 상응한다고 볼 수 있습니다.

요약하자면, 세 저작은 실제 세계의 복잡성과 역동성을 고려할 때, 인간의 인지, 의사 결정, 그리고 행동은 상황 맥락적이며, 경험에 기반한 패턴 인식과 효과적인 행동을 지향한다는 공통된 관점을 제시합니다. Klein의 실증적 연구는 이러한 특징들이 전문가의 실제 의사 결정에서 어떻게 나타나는지 구체적으로 보여주며, Maturana의 이론적 framework는 이러한 현상을 더 깊이 이해할 수 있는 생물학적, 인지적 기반을 제공하고, Winograd와 Flores는 이를 언어, 소통, 그리고 시스템 디자인의 맥락으로 확장하여 설명합니다. 따라서 이 세 분야는 추상적인 이론보다는 실제적인 행동과 그 맥락을 중요하게 생각하는 실천적인 관점에서 서로 보완하고 강화한다고 할 수 있습니다.


나의 현재 구체적인 과업에 적용하게 하기

"각 전문 역할을 가진 agent들이 서로 협력하여 multi-agent로서 과업을 수행하는 multi-agent system을 만들려 합니다. 처음에는 인간이 과업을 주지만, 그 후에는 인간의 개입이 한동안 없어도 agent들끼리 서로 대화하고 협력하면서 과업을 수행합니다. 이런 시스템에 대해서, 각각의 저자는 어떤 조언이나 시사점을 말해줄까요?"

네, 움베르토 마뚜라나의 이론을 테리 위노그라드의 논의와 마뚜라나 자신의 저서 “앎의 나무”를 바탕으로 하여, 다중 에이전트 시스템에 대한 몇 가지 조언과 시사점을 말씀드리겠습니다.

마뚜라나의 이론은 전통적인 합리주의적 관점에 대한 중요한 도전이며, 특히 생물학적 인지 이론을 중심으로 논의됩니다. 이러한 관점에서 다중 에이전트 시스템 설계를 위한 시사점은 다음과 같습니다.

  • 내부 조직 및 상호작용에 집중해야 합니다: 마뚜라나는 신경계를 폐쇄적인 네트워크로 보았습니다. 이는 외부 “입력”과 “출력”에 의해 직접적으로 결정되는 것이 아니라, 시스템 내부 뉴런들의 활동 변화가 다른 뉴런들의 변화를 유발하는 방식입니다. 다중 에이전트 시스템에 적용하면, 개별 에이전트들의 내부 조직과 그들 사이의 상호작용 패턴에 설계의 초점을 맞춰야 함을 의미합니다. 시스템의 행동은 이러한 내부 역학으로부터 창발될 것입니다.
  • 시스템 유지 및 자율성을 위해 자기생성(Autopoiesis) 개념을 고려해야 합니다: 마뚜라나와 바렐라의 자기생성 개념은 시스템이 스스로의 구성 요소를 지속적으로 생산하고 자신의 조직과 경계를 유지하는 것을 의미합니다. 다중 에이전트 시스템에서는 각 에이전트, 그리고 시스템 전체가 자기 유지, 적응 및 필요한 프로세스 또는 지식의 재생산을 위한 메커니즘을 갖추어야 지속적인 외부 개입 없이 작동할 수 있습니다. 마뚜라나는 살아있는 존재를 “자기생성적 조직”이라고 정의합니다. 자기생성이 중단되면 시스템은 붕괴될 위험이 있습니다.
  • 과제 환경과의 구조적 결합(Structural Coupling)을 설계해야 합니다: 위노그라드는 성공적인 시스템이 해당 영역의 근본적인 구조와 “정렬”되어 있으며 새로운 구조적 결합을 생성하도록 진화할 수 있다고 설명합니다. 다중 에이전트 시스템 설계 시, 에이전트들이 환경의 고유한 역학에 부합하는 방식으로 과제 환경과 상호작용할 수 있도록 해야 합니다. 또한 시스템은 환경에서의 효과성을 유지하거나 향상시키기 위해 시간이 지남에 따라 자신의 구조와 상호작용을 적응시키는 메커니즘을 가져야 합니다. 이러한 적응은 명시적인 환경 표현에 기반하기보다는 지속적인 상호작용과 그 결과에 따라 이루어질 수 있습니다. 마뚜라나는 시스템의 이전 구조가 가능한 섭동의 영역을 정의한다고 설명합니다.
  • “관찰자”(설계자/사용자)의 역할을 인식해야 합니다: 마뚜라나의 프레임워크는 시스템 내의 통일성과 구성 요소가 관찰자에 의해 식별된다는 점을 강조합니다. 다중 에이전트 시스템을 설계할 때, 인간 사용자에 의한 초기 에이전트 역할, 통신 프로토콜 및 전체 시스템 목표의 명세는 관찰과 정의의 행위입니다. 시스템 행동의 “의미”와 효과는 이러한 초기 프레임과 환경 및 잠재적으로 다른 관찰자(사용자)와의 후속 상호작용의 맥락 내에서 해석될 것입니다. 마뚜라나는 관찰자가 구분을 생성하고 그것을 통일성으로 특정할 수 있는 살아있는 시스템이라고 말합니다.
  • 미리 프로그램된 표현의 한계를 이해해야 합니다: 마뚜라나는 신경계의 구조가 세계를 “표현”하지 않는다고 주장합니다. 마찬가지로 다중 에이전트 시스템에서 과제, 다른 에이전트 또는 목표에 대한 미리 프로그램된 표현에만 의존하는 것은 설계자가 예상하지 못한 환경의 측면이나 잠재적인 해결책에 대해 “맹목”을 초래할 수 있습니다. 시스템의 자율적인 기능 능력은 고정된 표현보다는 지속적인 상호작용과 내부 역학에서 비롯되어야 합니다.

요약하자면, 마뚜라나의 관점은 진정으로 자율적이고 협력적인 다중 에이전트 시스템을 설계하려면 시스템을 순전히 표현 기반의 문제 해결자로 생각하는 방식에서 벗어나 내부 조직, 역동적인 상호작용, 구조적 결합을 통한 지속적인 적응, 그리고 시스템 존재와 목표의 관찰자 의존적인 특성에 대한 인식을 강조하는 방식으로 전환해야 함을 시사합니다. 초기 인간의 입력은 무대를 설정하지만, 시스템의 지속적인 성공은 작동적 폐쇄성을 유지하고 자체 내부 프로세스를 통해 환경에 적응하는 능력에 달려 있습니다.


"혹시 이런 점이 반영된 multi agent system을 python 코드로 표현해줄 수 있나요?"

While the sources provide theoretical insights relevant to multi-agent systems, directly translating the comprehensive set of principles discussed into a fully featured Python code example is complex and would require significant abstraction and simplification. The sources, particularly “Understanding Computers and Cog” by Terry Winograd, critique the idea of simply programming intelligence or understanding into computers. Winograd argues that computer programs operate based on representations determined by their programmers, leading to inherent blindness. He emphasizes the importance of structural coupling and language as action (speech acts) for understanding human interaction and designing computer systems that support it. Gary Klein’s work highlights the role of domain-specific knowledge (schemas) and naturalistic decision making in real-world scenarios.

However, we can create a simplified Python illustration that reflects some of these ideas, focusing on agent autonomy, internal states, interaction as a form of basic structural coupling, and simple communication that hints at commitments.

import random

class Agent:
    def __init__(self, agent_id, initial_state=0.5):
        self.id = agent_id
        self.internal_state = initial_state # Autonomous internal state
        self.knowledge = {} # Simple knowledge representation (schema)

    def perceive(self, environment_signal):
        # Perception influenced by internal state (structural coupling)
        influence = environment_signal * (1 - abs(self.internal_state - 0.5))
        self.internal_state = max(0, min(1, self.internal_state + influence * 0.1))
        print(f"Agent {self.id} perceived: {environment_signal:.2f}, internal state: {self.internal_state:.2f}")

    def communicate(self, other_agent, message):
        print(f"Agent {self.id} says to Agent {other_agent.id}: {message}")
        if "request" in message.lower():
            if random.random() > 0.5:
                response = "agree"
                self.internal_state = max(0, min(1, self.internal_state + 0.05)) # Internal state change due to commitment
            else:
                response = "decline"
                self.internal_state = max(0, min(1, self.internal_state - 0.05))
            print(f"Agent {other_agent.id} responds to Agent {self.id}: {response}")
            return response
        return None

    def act(self, environment):
        if self.internal_state > 0.7:
            action = "explore"
        elif self.internal_state < 0.3:
            action = "rest"
        else:
            action = "observe"
        print(f"Agent {self.id} decides to: {action}")
        return action

# Environment simulation
class Environment:
    def get_signal(self):
        return random.uniform(-1, 1)

# Multi-agent system
num_agents = 3
agents = [Agent(i, random.uniform(0, 1)) for i in range(num_agents)]
environment = Environment()

for step in range(5):
    print(f"\n--- Step {step + 1} ---")
    signal = environment.get_signal()
    for agent in agents:
        agent.perceive(signal)

    # Simple interaction and communication
    agent1, agent2 = random.sample(agents, 2)
    agent1.communicate(agent2, f"request: share information?")

    for agent in agents:
        agent.act(environment)

위의 Python 코드는 마뚜라나, 플로레스, 게리의 이론에서 영감을 받은 매우 단순화된 다중 에이전트 시스템의 예시입니다.

  • Agent 클래스: 각 에이전트는 id, internal_state (자율적인 내부 상태), 그리고 knowledge (간단한 지식 표현)를 가집니다. internal_state는 에이전트의 내부 작동 방식을 나타냅니다 [Previous].
  • perceive 메소드: 에이전트는 perceive 메소드를 통해 환경 신호를 감지합니다. 감지는 에이전트의 내부 상태에 따라 영향을 받으며, 이는 구조적 결합의 기본적인 아이디어를 반영합니다 [Previous, 50].
  • communicate 메소드: communicate 메소드는 에이전트 간의 기본적인 통신을 시뮬레이션합니다. 특히 “request”가 포함된 메시지를 통해 언어 행위의 개념을 간략하게 보여줍니다. 요청에 대한 응답(“agree” 또는 “decline”)은 에이전트의 내부 상태를 변경시켜 약속의 개념을 암시합니다.
  • act 메소드: act 메소드는 에이전트의 internal_state에 따라 행동을 결정합니다. 이는 에이전트의 자율적인 행동을 나타냅니다 [Previous].
  • Environment 클래스: Environment 클래스는 간단한 환경을 시뮬레이션하여 에이전트에게 신호를 제공합니다.
  • 시뮬레이션: 코드에서는 여러 에이전트를 생성하고, 각 단계마다 환경 신호를 인식하고, 무작위로 선택된 두 에이전트가 간단한 요청/응답 형태의 통신을 하며, 각 에이전트는 자신의 내부 상태에 따라 행동을 결정합니다.

Important Considerations (Korean):

  • 매우 단순화됨: 이 코드는 개념적인 이해를 돕기 위해 매우 단순화되었습니다. 실제 마뚜라나, 플로레스, 게리의 이론의 복잡성과 실제 다중 에이전트 시스템의 다양성을 완전히 반영하지는 못합니다.
  • 명시적 표현의 제한: 에이전트는 환경이나 다른 에이전트에 대한 명시적인 표현을 가지고 있지 않습니다. 이는 마뚜라나의 표현주의 비판에서 영감을 받은 것입니다 [Previous, 74].
  • 학습 및 ‘무너짐’ 부재: 이 예시에는 에이전트가 학습하거나 ‘무너짐’을 통해 적응하는 메커니즘이 포함되어 있지 않습니다.
  • 스키마 및 정신 모델의 단순화: knowledge 딕셔너리는 매우 기본적인 형태로 스키마의 아이디어를 나타낼 뿐입니다.
  • 관찰자의 역할: 시스템의 설계와 평가는 여전히 관찰자 (프로그래머)의 관점에 의해 이루어집니다 [Previous].

이 코드는 앞서 논의된 이론들의 몇 가지 핵심 아이디어를 간략하게 보여주는 출발점입니다. 보다 복잡하고 현실적인 다중 에이전트 시스템을 구축하려면, 에이전트의 내부 구조, 지식 표현, 통신 프로토콜, 학습 메커니즘 등을 훨씬 더 정교하게 모델링해야 할 것입니다. Terry Winograd의 지적처럼, 진정한 ‘이해’를 프로그래밍하는 것은 어렵기 때문에, 이러한 시스템은 특정 목표와 맥락 내에서 유용한 도구로서 이해되어야 합니다.


"마뚜라나, 플로레스, 게리의 핵심 내용을 담은 multi agent system으로 구현된다면, 어떤 점들을 설계 요소로 삼아야 할까요? 일종의 guideline이나 principle 같은?"

마뚜라나, 플로레스, 게리의 핵심 내용을 담은 SW 다중 에이전트 시스템으로 구현된다면, 다음과 같은 점들을 설계 요소 또는 원칙으로 삼아야 할 것입니다.

  • 에이전트의 자율성과 내부 작동 방식 강조: 움베르토 마뚜라나의 이론에 따라, 각 에이전트는 자율적인 존재로 설계되어야 합니다. 이는 외부의 직접적인 통제보다는 내부 조직과 역학 관계에 따라 행동이 결정됨을 의미합니다. 각 에이전트는 내부 상태를 가지고 있으며, 외부 자극은 이 내부 상태를 변화시키는 섭동(perturbation) 으로 이해되어야 합니다. 따라서, 각 에이전트의 정보 처리 방식, 의사 결정 메커니즘, 그리고 내부 상태 변화 규칙 등을 구체적으로 설계해야 합니다.
  • 구조적 결합(Structural Coupling)을 통한 환경과의 상호작용: 마뚜라나의 핵심 개념 중 하나인 구조적 결합을 시스템 설계에 반영해야 합니다. 에이전트들은 환경과 분리된 채로 문제를 해결하는 것이 아니라, 지속적인 상호작용을 통해 서로 영향을 주고받으며 진화해야 합니다. 설계 시, 에이전트가 환경의 변화를 감지하고 자신의 구조를 조정하여 효과적으로 상호작용할 수 있는 메커니즘을 고려해야 합니다. 테리 위노그라드는 성공적인 시스템은 작동하는 도메인의 근본적인 구조와 ‘정렬(alignment)’ 되어 있으며 새로운 구조적 결합을 생성하도록 진화할 수 있다고 지적합니다.
  • 언어 행위(Speech Acts) 기반의 협업 모델: 페르난도 플로레스의 관점에 따라, 에이전트 간의 통신은 단순한 정보 교환이 아닌 언어 행위(speech acts) 로 모델링되어야 합니다. 요청(requests), 약속(commitments), 선언(declarations)과 같은 명시적인 대화 구조를 통해 에이전트들이 서로 협력하고 공동의 목표를 달성할 수 있도록 설계해야 합니다. 이는 시스템 내의 조정(coordination) 과정을 보다 명확하고 효과적으로 만들어 줄 것입니다.
  • ‘무너짐(Breakdown)’을 통한 학습 및 설계 개선: 위노그라드와 플로레스는 ‘무너짐(breakdown)’ 이 새로운 이해와 설계의 중요한 계기가 된다고 강조합니다. 다중 에이전트 시스템 설계 시, 예상치 못한 오류나 문제 상황(breakdown)을 감지하고, 이를 통해 에이전트들이 자신의 행동 방식이나 상호작용 규칙을 학습하고 적응할 수 있는 메커니즘을 포함해야 합니다. 또한, 설계 과정 자체에서도 발생할 수 있는 무너짐을 분석하여 시스템을 지속적으로 개선해야 합니다.
  • 스키마(Schemas) 및 정신 모델(Mental Models) 활용: 게리 클라인의 연구에 따르면, 숙련된 의사 결정자들은 스키마(schemas) 또는 정신 모델(mental models) 에 기반하여 상황을 빠르게 이해하고 판단합니다. 다중 에이전트 시스템의 각 에이전트는 특정 도메인에 대한 지식 구조인 스키마 또는 정신 모델을 가지고 상황을 인식하고, 관련 정보를 탐색하며, 적절한 행동을 선택하도록 설계해야 합니다. 에이전트 간 공유된 정신 모델(shared mental models) 을 구축하는 것은 팀워크 기반의 작업에서 특히 중요합니다.
  • 도메인 특수성(Domain Specificity) 고려: 클라인은 의사 결정 지식은 특정 도메인에 특화된 형태로 존재한다고 주장합니다. 따라서, 다중 에이전트 시스템은 해결하고자 하는 문제 영역의 특징과 제약을 반영하여 설계되어야 합니다. 도메인에 적합한 지식 표현 방식, 추론 규칙, 그리고 에이전트의 역할 등을 고려해야 합니다.
  • 명시적 표현(Explicit Representation)의 한계 인식: 마뚜라나의 관점에서, 시스템이 외부 세계를 정확하게 표현(representation) 할 수 있다는 가정은 비판적으로 검토되어야 합니다. 따라서, 시스템 설계 시 외부 세계에 대한 완벽한 모델링보다는 에이전트의 내부 작동 방식과 상호작용을 통해 문제 해결 능력을 확보하는 데 초점을 맞춰야 합니다.
  • 관찰자(Observer)의 역할 및 해석 고려: 시스템의 경계, 구성 요소, 그리고 목표 등은 관찰자에 의해 정의된다는 마뚜라나의 관점을 고려해야 합니다. 시스템 설계는 사용자의 요구와 해석을 반영해야 하며, 시스템의 성공은 이러한 관점에서 평가될 수 있음을 인지해야 합니다.

요약하자면, 이러한 다중 에이전트 시스템은 각 에이전트의 자율적인 내부 작동 방식과 환경과의 지속적인 구조적 결합을 통해 상황에 적응하고 학습하며, 언어 행위 기반의 명시적인 커뮤니케이션을 통해 협업하고 조정을 수행하고, 예상치 못한 문제 상황을 통해 시스템을 개선해 나가는 방향으로 설계되어야 할 것입니다. 또한, 특정 문제 도메인의 특성을 반영하고, 외부 세계에 대한 완벽한 표현보다는 에이전트 간의 상호작용과 내부 역학에 초점을 맞추는 것이 중요합니다.


여러분은 노트북LM을 어떻게 활용하고 계신가요? 아래 댓글로 남겨주세요.