Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴
[닫기]

BezosWorld

Intent 기반 프로그래밍을 통한 소프트웨어 복잡성 관리 본문

ITNews

Intent 기반 프로그래밍을 통한 소프트웨어 복잡성 관리

알 수 없는 사용자 2017. 11. 29. 12:53
https://techcrunch.com/2017/11/20/managing-software-complexity-through-intent-based-programming/?ncid=rss

소프트웨어가 마술을 잃고 있습니다. 우리는 단순히 현재 접근법에서 너무 많은 것을 요구합니다. 결과적으로 소프트웨어 개발자들은 종종 그것을 깨닫지 못하고 복잡성으로 싸움을 잃고 있습니다. 대개의 경우 작은 실패가 거의 발생하지 않으며, 비즈니스뿐만 아니라 소비자의 삶은 더 쉽지 않고 좌절하게됩니다.

예를 들어, Apple의 제품은 버그가 많았고, 여행은 여전히 ​​악몽이었고 콜센터 경험은 인공 지능과 인간 지능을 의심하게 만듭니다.

마술을 다시 소프트웨어로 가져 오려면 개발자가 원하는 결과를 얻으려면 각 단계별로 시스템을 걷지 않아야합니다. 대신, 시스템이 점점 더 방대하고 복잡해질수록 개발자는 레이어, 의도 중심 알고리즘 및 인공 지능 (AI)을 사용하여 소프트웨어 자체를보다 자율적으로 만들 필요가 있습니다.

우리가 한 걸음 뒤로 물러나면, 마법의 일부가 사라졌습니다. 우리는 소프트웨어에 대한 우리의 기대치를 크게 높였으며 동시에 누가 그것을 명할 수 있어야하는지에 대한 우리의 기대를 넓혔습니다. 점점 더 많은 사람들이 자동으로 "정당한 업무"를 수행 할 것으로 기대되며, 우리 중 많은 사람들은 디지털 라이프 및 자동화의 자동화를 제어 할 수 있기를 기대합니다.

소프트웨어가 해결하고자하는 문제가 정적 일 때 이러한 기대를 충족시키기는 어렵습니다. 그러나이 자동화는 또한 자동화가 실행되는 동안에도 매개 변수가 빠르게 변경되는 실시간 요구 사항을 해결할 것으로 예상됩니다.

A 지점에서 B 지점까지의 자동차 운행은 교통, 날씨 및 건설 상황에서 충분히 어렵습니다. 그러나 출퇴근 중 승객의 전화 회의 또는 실제 및 디지털 상거래를 위해 최적화하는 방법은 무엇입니까? 동일한 도로를 동시에 공유하는 수백만 대의 자동차를 위해 그렇게하는 것은 어떨까요? 자동차, 기차, 비행기, 호텔, 레스토랑 등을 결합한 여행을하는 방법은 어떻습니까?

이러한 요소는 다른 프로그래밍 모델을 요구하기 시작합니다. 선언적 프로그래밍 모델입니다. 이 대안 모델에서는 의도 된 목표 또는 최종 상태 인 인 텐트를 선언하고 소프트웨어 시스템이 자율적으로 어떻게 "간단하게"만드는지를 결정합니다. 인간은 경계와 제약 조건을 설정하지만 사람이 항상 파악해야하는 것은 너무 많습니다 거기에 가기위한 해결책을 찾아라. 그래서 컴퓨터가 스스로 들어가서 스스로하십시오.

새로운 프로그래밍 모델은 컴퓨터를 활용하여 자체적 인 복잡성 문제를 해결합니다.

비유는 기업 세계에서 잘 이해되고 있습니다 : 목표 별 관리 (MBO). 강력한 MBO 접근 방식을 통해 직원들은 어떤 목표를 달성 할 것인지 대처할 것인지를 말합니다. 목표는 판매 결과, 고객 참여 또는 제품 채택을 중심으로 이루어질 수 있습니다. 그런 다음 직원들이 그 길을 찾아야합니다. 조건이 예기치 않게 변경 될 때마다 적응이 필요하고 과정에서 학습하므로 시간이 지남에 따라 더 쉽게 적응할 수 있습니다. 그래서 어떤면에서이 대체 프로그래밍 모델은 목표에 따라 소프트웨어를 관리하는 모델입니다. 머신 용 MBO.

이러한 필요성의 예는 어디 에나 있습니다. 가장 인기있는 분야 중 하나는 바로 음성이나 텍스트 명령을 받아들이는 봇 또는 인터페이스입니다. 오늘날의 봇들은 종종 명령 지향적입니다 (예 : LinkedIn에서 Jane Doe를 찾으십시오), 그들은 의도 지향적이어야합니다 (예 : 훌륭한 직업 후보자를 찾으십시오).

새로운 영업 담당자, 엔지니어 또는 CIO를 고용해야한다고 가정 해보십시오. 컴퓨터에 앉아서 재능을 발굴하기 위해 웹을 수색하는 대신, 당신을 위해 핵심적인 작업을 수행하는 지능적인 챠트 봇과 상호 작용할 수 있습니다. 그 뒤에는 chatbot이 LinkedIn 및 Glassdoor의 후보자를 조율하고 GitHub 및 Meetup을 사용하여 정보를 풍부하게하고 관심과 적합도를 측정하기 위해 도달하는 API에 연결됩니다. 일단 적합한 후보자가 위치하면, 챠봇 봇이 두 사람을 연결하여 공을 굴립니다. 시간이 지남에 따라 챠트 봇 (chatbot)은 어떤 후보자가 운동을하는지 배우고 이들 후보자를 소싱하는 것을 더 잘합니다. 미래 지향적 인 것처럼 들리지만, 기존의 소프트웨어를 올바로 조정하면이 채용 방법을 사용할 수 있습니다.

우리는 우리 자신의 내장 컴퓨터 (우리의 두뇌)가 이미지처리 하여 소프트웨어가 어떻게 복잡한 시나리오를 대규모로 해결할 수 있는지에 대해 학습 할 수 있습니다.

  • 첫 번째 레이어에서 빛은 photoreceptor 세포에 흡수되어 최소의 처리가 이루어지며 망막의 두 번째 및 세 번째 레이어로 신호가 전달됩니다.

  • 두 번째 및 세 번째 층에서는 뉴런과 신경절 세포가 함께 작용하여 가장자리 나 그림자를 감지하고 시신경을 통해 뇌로 전달합니다.

  • 시각 피질에는 더 많은 레이어가 있습니다. 하나의 레이어는 오브젝트가 공간에있는 위치를 계산합니다. 다른 레이어가 모서리를 감지하고 처리하여 모양을 결합합니다. 추가 레이어는 이러한 모양을 얼굴 및 객체와 같은 인식 가능한 객체로 바꿉니다. 각 레이어는 시간이 지남에 따라 학습하고 성능을 향상시킵니다.

  • 결국 마지막 레이어는 실제로이 얼굴이나 객체를 사람의 저장된 메모리 뱅크와 대조하여 그 사람과 객체를 인식하거나 인식하지 못합니다.

각 계층이 단지 하나의 목표를 담당하고이 추상화 수준이 높아질수록 목표가 점점 더 정교 해지는이 접근법을 통해 소프트웨어를 의도 기반으로 만들고 복잡한 시나리오를 대규모로 해결할 수 있습니다. 머신 세계에서, 레이어는 중요한 데이터를 자유롭게하는 API의 형태로 제공됩니다. 서로 다른 시스템의 데이터를 조율하는 복합 서비스; 인공 지능은 모든 계층에서 현명한 결정을 내립니다.

이것은 소프트웨어의 미래이며, 그 미래는 이미 구글의 쿠 베르 넷 (Kubernetes)과 풍부한 생태계와 같은 현대의 대규모 분산 클라우드 컴퓨팅 시스템에서 시작되었습니다. 지상 및 공중의 자율 주행 차량; 그리고 점점 더 디지털 세계의 모든 층에 스며 들고있는 인공 지능과 기계 학습에서.

공존하는 시스템이 폭발적으로 증가하고, 동적 인 데이터와 기대치가 높아지면서 복잡성이 증가하기 때문에 패러다임의 변화가 불가피합니다. 새로운 프로그래밍 모델은 컴퓨터를 사용하여 자신의 복잡성 문제를 해결하고 인간이 최선을 다하도록 할 것입니다. 결과를 세세하게 기록합니다.

특집 이미지 : razum / Shutterstock
Comments