Стварыце агента Kiro | B4N1

Стварыце агента Kiro

7 months ago · b4n1 Read time: 3 min

Стварэнне ўстойлівых праграмных сістэм з аўтаматызацыяй DevOps на базе AI

Уводзіны

У сучасным імклівым лічбавым ландшафце сістэмы праграмнага забеспячэння становяцца ўсё больш складанымі і ўзаемазвязанымі, што робіць іх больш уразлівымі да збояў і прастояў. Каб знізіць гэтыя рызыкі, арганізацыі звяртаюцца да аўтаматызацыі DevOps на базе штучнага інтэлекту для стварэння ўстойлівых праграмных сістэм, якія могуць адаптавацца да зменлівых умоў і мінімізаваць уплыў адключэнняў. У гэтым артыкуле мы вывучым канцэпцыю стратэгій ZeroOps і тое, як агенты Kiro на базе штучнага інтэлекту і LangChain могуць быць выкарыстаны для павышэння аўтаматызацыі DevOps, выкарыстання праграмна вызначанай інфраструктуры і прыняцця рашэнняў на аснове штучнага інтэлекту.

Што такое ZeroOps?

ZeroOps - гэта стратэгія DevOps, якая накіравана на ліквідацыю неабходнасці ўмяшання чалавека ў разгортванне і кіраванне праграмнымі сістэмамі. Гэта дасягаецца за кошт выкарыстання інструментаў аўтаматызацыі на базе AI, якія могуць выяўляць, дыягнаставаць і вырашаць праблемы без удзелу чалавека. ZeroOps заснаваны на прынцыпах бесперапыннай інтэграцыі і бесперапыннага разгортвання (CI/CD), дзе змены кода аўтаматычна ствараюцца, тэстуюцца і разгортваюцца ў вытворчых асяроддзях.

Агенты на аснове AI Kiro

Kiro - гэта агент на аснове штучнага інтэлекту, які можна выкарыстоўваць для аўтаматызацыі розных задач DevOps, такіх як маніторынг, вядзенне журналаў і рэагаванне на інцыдэнты. Kiro выкарыстоўвае алгарытмы машыннага навучання для аналізу сістэмных даных і прагназавання магчымых праблем да іх узнікнення. Гэта дазваляе прымаць актыўныя меры для прадухілення адключэнняў і мінімізацыі часу прастою.

LangChain

LangChain - гэта бібліятэка Python, якая забяспечвае аснову для стварэння размоўных прыкладанняў AI. Яго можна выкарыстоўваць для стварэння чат-ботаў, галасавых памочнікаў і іншых размоўных інтэрфейсаў, якія могуць узаемадзейнічаць з карыстальнікамі і іншымі сістэмамі. LangChain асабліва карысны для стварэння сістэм ZeroOps, паколькі яго можна выкарыстоўваць для стварэння размоўных інтэрфейсаў, якія могуць забяспечваць зваротную сувязь у рэжыме рэальнага часу і рэкамендацыі распрацоўшчыкам і аператарам.

Укараненне ZeroOps з Kiro і LangChain

Каб рэалізаваць ZeroOps з Kiro і LangChain, нам трэба выканаць наступныя дзеянні:

  1. Наладзьце Kiro: усталюйце Kiro у вашай сістэме і наладзьце яго для маніторынгу журналаў і паказчыкаў вашага прыкладання.
  2. Стварыце інтэрфейс LangChain: выкарыстоўвайце LangChain для стварэння гутарковага інтэрфейсу, які можа ўзаемадзейнічаць з Kiro і забяспечваць зваротную сувязь у рэжыме рэальнага часу і рэкамендацыі распрацоўшчыкам і аператарам.
  3. Інтэграцыя Kiro з LangChain: выкарыстоўвайце API LangChain для інтэграцыі Kiro з вашым размоўным інтэрфейсам.
  4. Разгарнуць у вытворчай версіі: разгарніце сваю сістэму ZeroOps у вытворчай версіі і праверце яе функцыянальнасць.

Прыклад кода

Вось просты прыклад таго, як вы можаце выкарыстоўваць Kiro і LangChain для аўтаматызацыі задачы DevOps:

імпарт кіра
з langchain import LLMS


kiro_agent = kiro.Agent()

# Стварыце LLMS LangChain
LLMS = LLMS(
    model="davinci",
    тэмпература=0,7,
    max_tokens=2048,
    стоп=["\n", "\n\n"],
)

# Вызначце функцыю для аўтаматызацыі задачы DevOps
def automate_task():
    # Выкарыстоўвайце Kiro для маніторынгу часопісаў прыкладанняў і паказчыкаў
    часопісы = kiro_agent.get_logs()
    метрыкі = kiro_agent.get_metrics()

    # Выкарыстоўвайце LangChain для аналізу часопісаў і паказчыкаў
    аналіз = llms.run(
        input={"журналы": журналы, "метрыкі": паказчыкі},
        task="аналіз",
    )

    # Прыміце меры на аснове аналізу
    калі аналіз["вынік"] == "праблема":
        # Прыміце меры па выпраўленні
        kiro_agent.take_action()

# Запусціце функцыю
automate_task()

Топ-5-10 найбольш часта выкарыстоўваюцца каманд/фрагментаў

Вось некаторыя з найбольш часта выкарыстоўваюцца каманд і фрагментаў для Kiro і LangChain:

  1. Kiro: kiro_agent.get_logs(): атрымаць журналы прыкладання ад Kiro.
  2. Kiro: kiro_agent.get_metrics(): Атрымаць метрыкі прыкладання ад Kiro.
  3. LangChain: llms.run(input={"logs": журналы, "metrics": metrics}, task="analyze"): аналіз часопісаў і паказчыкаў з дапамогай LangChain.
  4. Kiro: kiro_agent.take_action(): прыняць карэкціруючыя дзеянні на аснове аналізу.
  5. LangChain: llms.generate_response(input={"user": "hello"}, task="response"): генераваць адказ на ўвод карыстальніка.
  6. Kiro: kiro_agent.get_status(): атрымаць статус заяўкі.
  7. LangChain: llms.run(input={"logs": logs, "metrics": metrics}, task="predict"): прагназуйце магчымыя праблемы з дапамогай LangChain.
  8. Kiro: kiro_agent.set_config(config={"log_level": "debug"}): Задаць канфігурацыю для Kiro.
  9. LangChain: llms.run(input={"user": "help"}, task="help"): Аказаць дапамогу карыстальніку.
  10. Kiro: kiro_agent.get_logs(limit=100): атрымаць апошнія 100 журналаў прыкладанняў ад Kiro.

Візуалізацыя

Вось простая візуалізацыя сістэмы ZeroOps з выкарыстаннем Chart.js:

{
  "тып": "бар",
  "дадзеныя": {
    "ярлыкі": ["Маніторынг", "Аналіз", "Дзеянне"],
    "наборы дадзеных": [
      {
        "label": "Час",
        "дадзеныя": [10, 20, 30],
        "backgroundColor": ["#FF6384", "#36A2EB", "#FFCE56"]
      }
    ]
  },
  "параметры": {
    "назва": {
      "дысплей": праўда,
      "text": "Сістэма ZeroOps"
    },
    "шалі": {
      "yAxes": [
        {
          "цікі": {
            "beginAtZero": праўда
          }
        }
      ]
    }
  }
}

Гэтая візуалізацыя паказвае час, затрачаны на кожны этап сістэмы ZeroOps, ад маніторынгу да дзеяння.

Выснова

У гэтым артыкуле мы вывучылі канцэпцыю стратэгій ZeroOps і тое, як агенты Kiro на базе штучнага інтэлекту і LangChain могуць быць выкарыстаны для павышэння аўтаматызацыі DevOps, выкарыстання праграмна вызначанай інфраструктуры і прыняцця рашэнняў на аснове штучнага інтэлекту. Мы таксама прадставілі просты прыклад кода і візуалізацыю сістэмы ZeroOps. Укараняючы ZeroOps, арганізацыі могуць ствараць устойлівыя праграмныя сістэмы, якія могуць адаптавацца да зменлівых умоў і мінімізаваць уплыў адключэнняў.


Have Questions?

Let's Talk

Contact me on LinkedIn