Галоўная / Артыкулы

Як Deep Agents вучацца новым навыкам: планаванне, субагенты і файлы SKILL.md

Як DeepAgents ад LangChain спалучаюць планаванне, субагентаў, памяць у файлавай сістэме і паступовую загрузку навыкаў — з планам пабудовы, парадамі па тэсціраванні і нататкамі пра разгортванне.

Выдавец: REACTAPP.TOP12 хв чытання2809 слоў

Крыніцы: Learning Skills with Deep Agents in Agentic AI

Агентныя AI — гэта сістэмы, складзеныя з калькольных агентаў, якія дзельнуюць разам, раздзеляючы большыя, складныя задачы, абмянюючыся інформацыяй і працуючы як маленькія каманды спецыялістаў. Адзін чатбот адпавядае на аднае запытанне. Агентная сістэма патрабуе планавання, памяці і вікорыстання інструментаў, каб магчыма было выканаць задачу па адносна многа крокаў. Навчанне пад адзінакаваннем (RL) — гэта класычны спосаб стварэння агентаў, якія выучаюцца праз пробы і памылкі: глыбокая сетка сочыць за арэнай, выбірае дзеянні, такія як вызов інструментаў аб выкананне коду, і атрымляе награды, якія керуюць яе стратэгіяй. Глыбокая тэхніка RL дала надчалавечыя рэзультаты ў гэйме Го і шахах, а таксама сільныя рэзультаты ў робатыцы, усё гэта за счыткам максымізавання адначаковай награды. Праявленне гэтых ідэй у агентах, якія працуюць на аснове LLM, адкрывае цікавую можлівасць — агенты, якія выучаюцься вікорыстоўваць перадпрацаваныя рутыны аб навыкі, і пасля таго плануюць і выканаюць задачы з меншымі зусіллямі.

Што робіць агента «глыбокім»

Глыбокіе агенты расшыруюць можаўніцы асістэнта LLM чатырмаямі функцыямі:

  1. Інструмент планавання, які дзеліць складную працу на крокі.
  2. Падагенты для паралельнай працы і ізоляціі кантэксту.
  3. Стойкія сістэма файлаў, якая таксама служыць памяцюю.
  4. Дзеярожны прыказ сістэмы, які містыць цілі і абмежэнні.

Разам гэтыя элементы дазволяюць агенту планаваць, зберагаць стан і выпалоўваць складныя робочыя працэсы, не паслабляючы кантэкст прыказа. Паверхневы чатбот адпавядае адно раз. Глыбокі агент работае ціклам: ён плануе, шукае, зберагае нараджаныя даныя, сінтэзіруе і удосконаляе. Калі яго папрасяць напісаць абওт, ён можа склаць спіс задач, адкрыць пошук у інтэрнэце аб выконаць аналіз, зберагчы нотаткі ў файлах, а потым напісаць чэрнавік і яго перапрацаваць, пры чым усё керуецца модэлем, без удзеле чалавека.

Навчанне пад адзінакаваннем і дзе беруцца навыкі

RL ўтварае адну з аснов для агентаў, які выучаюцца праз дзеяння. Агент спазіруе стан, выконвае дзеянне і атрымлея награду або штраф, і, максымізуючы прыбліжную суму будучых наград, ён паспрабоўвае паспрабаваць сваю стратэгію. Ён адрозніцца ад надзірванага навучэння, якое мае меткі, і ад ненадзірванага навучэння, якое шукае схованую структуру, таму што ён займаецца последовнымыя рашэннямі ў умовах нявяснасці. Глыбокая RL выкарыстоўвае нейронныя сеткі як апрыксіматоры функцый, ў рэзультаце чаго можна обрабляць зображэнні, тэкст і неапранутыя даны сенсараў. Серэд вядомых досягненняў — глыбокія Q-сеткі для Atari і методы на адной стратэгіі, такія як PPO і A2C, для неперывнага кантролю і стратэгічных гэймоў. Новейшыя доследжэння зосераджваюцца на іерархічнам выучэнні навыкаў, дзе агенты адкрываюць варыянты, тое ўзроўненыя па часу дзеянні, якія рашаюць падцялевыя задачы, што спрыяе адкрыццю новага і пераносу знанняў.

Для агентаў на адной часовай сітцы RL выпалюе два важлівыя ролі. Адна з іх — тонкая наладка самага модэлю за дапамогою сігналаў зворачнай свярзкі. Напрыклад, метод RLHF дапамагае налашаваць модэлі так, каб яны былі бяжэйшыя і болей адпавядалі тэме. DeepSeek-R1 паказаў, што чысты RL без пазначаных дадзеных можа навучыць модэль разумовых выконанняў, якая можа конкуруваць з найлепшымі сістэмамі ў матэматыцы і програмаванні: модэль генеруе калькі варыянтов адпаведзення, автаматычны скараравальнік награджае правільныя і карае іншыя, а пасля многіх раундаў алгорытм на кшталт PPO паслабляе або пасілішвае правілы працы модэля. У рэальных працэсах можа быць застосавана надзорная тонкая наладка і метод выбору дадзеных для падтрымкі чытаемасці і безпекі.

Іншая роля знаходзіцца на рэвэлі фрэймворку агента, дзе методы, апоўнены прынцыпамі RL, можу дапамагчы запрацаваць навыкі. Агент можа фіксаваць траекторыі своіх дзеянняў (якія інструменты былі выкорыстаны, што ўзялося ў рэзультат) і перэдаваць іх у афлайн-мадэлі RL або методы імітатыўнага навчання, каб выявіць повтаруваныя процедуры. Аналізуючы пакульшыя успехі і няудачы, ён можа сконцентраціяваць часта повтаруваныя последовасці інструментаў у болей высокага рэвэлі рутыны. Гэтыя рутыны, запісаныя як файлы сцэнарыяў або інструкцыі у фармаце markdown, можу быць поступова адкрываныя агенту пад час выканання наступных заданняў. Сістэма атрымлеўае форму непаўзлівага навчання: сталкнуўшыся з чым-небудзь новым, яна навчаецца навыку на месцы і зберагае яго як модуль.

Як ствараецца бібліятэка DeepAgents

Бібліятэка DeepAgents ад LangChain ператварае гэтыя ідэі на практычны інструмент, чыя архітэктура сформавана па прыкладу багатых па кроках агентаў, такіх як Claude Code і Manus.

  • Планаванне за дапамою write_todos. Вбудованыя інструменты дазваляюць агенту стварыць пасляпасовы спіс дзеянняяў прытымкі да ўжытку. Шырокі спіс служыць кераментам для выканання задач і можа зменіцца па меры падачы новых даных.
  • Файлавая сістэма і памяць. Інструменты для работы з файламі (ls, read_file, write_file, edit_file) дазваляюць агенту зберагаць неабходны кантэкст у файлах чы рэгістрах. Зберагачыце проміжныя рэзультаты і прыміткі запобегаюць перапоўненню працоўнага окна і дазваляюць агенту знова пераглядаць пакульні крокі. Падключаемы бэкенд, незалежна ад таго, чы ён знаходзіцца ў памяці, на локальным дыску, у хмарнай сховішчы чы ў ізольаванай сандбокс-асяроддзя, абавязкова забезпечвае стойкасць дадзеных і безпечную експансію коду.
  • Падзеяднікі. Вбудованы інструмент task стварае спецыялізаваных памагчыкаў, напрыклад падзеядніка для даследжэнняў або падзеядніка для крытыкі. Кожны з іх працуе у сваёй сабе кантэкстнай асяроддзі, што не заплутвае галоўнага агента, і можа маты сваю сябе сістэмную прыказу і інструменты. Галоўны агент можа перадаць заведамыя пошукі ў інтэрнэце або аналіз коду і практычна атрымаць статыстыку. Падзеяднік узнавальнага назначэння проста відтварае настройкі галоўнага агента, калі трэба толькі ізоляцыя.
  • Навыкі. Навык — гэта папка, якая мае файл SKILL.md, а таксама, за выборам, скрыпты чырас дакументы. Навыкі не аднаковыя з інструментамі, таму што яны не завантажуюцца цэлком у запіт. У кантэкст увайшае толькі YAML-фронтматэр (назва, апісанне, тагі), а полныя інструкцыі адкрываюцца поступова, калі агент прымечае, што яны ўжыткавы. Гэта значна зменшае выкарыстоўванне токенав. Навык у фармаце PDF можа міты дзяўны туторыял, які агент чытае толькі тады, калі задача корыстніка стосуецца PDF-файлаў. Навыкі распространяюць знанні і процедуры па розных агентах, а агенты нават можаць пісаць новыя вакліканні навыкаў, калі сталкнуцца з новымі задачамі.
  • Заводзець гэтага дзяйства, агенты з глыбокай структурой выкананы набліжна лепшая, чым тыя з паверхневай структурой, у складных задачах, якія выконваюцца за адносна большы ліст чыненняў. Яны плануюць свае дзеянні загадзя, выкарыстоўваюць памяць, вучыцца на досвядзе і керуюць вялікімі кантэкстамі. У працэх галузі зазначаецца, што задачы для агентаў становяцца все болей складнымі, пры чым ўжо за калькі месцаў ў дужках ўдвое збіраецца ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ўжо ў

    # Install deepagents and necessary tools
    !pip install --upgrade deepagents langchain tavily-python
    
    # Import libraries and set API keys (e.g., for LLM and search tool)
    import os
    from getpass import getpass
    os.environ["OPENAI_API_KEY"] = getpass("OpenAI API Key: ")
    os.environ["TAVILY_API_KEY"] = getpass("Tavily API Key: ")
    
    from deepagents import create_deep_agent
    from deepagents.backends import FilesystemBackend
    from deepagents.middleware.filesystem import FileData
    from langchain.chat_models import init_chat_model
    from tavily import TavilyClient
    

    Апранаване агента і яго навыкаў

    Далей ідзе «глыбокі» агент з яго інструментамі і будзь-якімі загадзя заданымі навыкамі. Для працы ў працэсе вырабніцтва болей лепым выборам являецца стойкі бэкенд, такі як локальны дыск або LangGraph, чым тымчасовая памяць. У гэтым варыянце выкарыстоўваецца FilesystemBackend, які знаходзіцца ў тэкучай дырэктарыі, і завантажаюцься папкі з навыкамі:

    from deepagents import create_deep_agent
    
    # Assume we have local skill directories under "./skills"
    skill_dirs = ["./skills/pdf_processing", "./skills/data_analysis"]
    
    agent = create_deep_agent(
        model=model,
        system_prompt="""
    You are a highly capable AI assistant. Your objectives:
    1. Break tasks into steps using write_todos().
    2. Use internet_search and file tools to gather and store information.
    3. When given a task, plan and execute it step-by-step, writing to files as needed.
    4. Load skills from the filesystem to handle specialized tasks when relevant.
    5. Summarize results and refine final output before returning.
    """,
        tools=[internet_search],             # Web search tool
        backend=FilesystemBackend(root_dir="./workspace"),  # Persistent file storage
        skills=skill_dirs,                  # Load skills from local directories
    )
    

    Спрампт сістэмы акцэнюе на планаванні і выкарыстоўванні навыкаў. Параметр skills адначасова паказвае каталогі, у якіх кожны з падкаталогаў мае файл SKILL.md і супарадныя файлы. Напрыклад, ./skills/pdf_processing/SKILL.md можа научыць агента, як парсаваць PDF-файлы. Калі навыкі завантажаны такім чынам, агент спачатку бачыць толькі назвы і апісанні. Калі задача карыстальніка стосуецца PDF-файлов, агент чытае відпаведны файл SKILL.md і всі супарадныя файлы, ўбачыць процедуру ўжыцця.

    Прыклад структуры:

    skills/
    ├── pdf_processing/
    │   └── SKILL.md
    └── data_analysis/
        ├── SKILL.md
        └── analysis_script.py
    

    І можлівы файл pdf_processing/SKILL.md:

    ---
    name: pdf-processing
    description: Skill to extract and analyze content from PDF documents.
    ---
    # PDF Processing Skill
    
    To use this skill, follow these steps:
    1. Use `pdf-tools` to read PDF content.
    2. Summarize key findings from the PDF text.
    
    ...
    

    Паўныя інструкцыі чытаюцца толькі тады, калі агент вырашыць, што тэкушчы запіт стосуецца PDF-файлаў. Гэта і ёсць прыклад прагрэсіўнага адкрывання інформацыі: вялікія файлы з інструкцыямі не заполняюць кожны запіт.

    Як выглядае віконанне задання

    Цяпер дадзім агенту складную задачу. Пачатковы запіт прабуджае ў яму патрэбу спачатку стварыць план.

    from langchain.schema import HumanMessage
    
    query = "Organize the latest quarterly sales data and write a summary report."
    response = agent.invoke({
        "messages": [HumanMessage(content=query)]
    })
    print(response["messages"][-1]["content"])
    

    У концэптуальнам сэнсе агент, верагацей, будзе выконваць наступнае:

    1. Выклікае write_todos() каб стварыць спіс задач, напрыклад, заваносіць файл з данымі прыбылей, ствараць графікі, вылічваць сумы, запісваць атлас.
    2. Выклікае інструменты, выкарыстоўваючы internet_search або вбудованыя функцыі чытання файлаў, каб збіраць існуючыя даны.
    3. Можа перадаць задачу чысткі або аналізу падагенту, калі для выкаання задачы патрэбна спецыялізаваная процедура.
    4. Выкарыстоўвае свае навыкі. Калі існуе навык аналізу даных, ён можа прачытаць SKILL.md з катэгорыі ./skills/data_analysis і следаваць яму.
    5. Зберагае проміжныя рэзультаты, такія як чыставаныя наборы даных або графікі, у файлавой сістэме.
    6. Запісвае і дапрацоўвае заканчоўны атлас.

    Працэўнае выкананне вызывае аддаленыя LLM, таму перакананне ў правільнасці тут главная мета — правільнае стварэнне структуры. Код выбірае надзеяны бэкенд, а рызыкаваныя крокі абгортваецца за дапамою try/except (полная версія павінна ловіць бягі API і проблемы з файламі), і яго можна расшырыць за дапамою мідлвэра для логавання. Юнітныя тэсты для кожнага інструмента, у якіх адпаведныя адпаведзі LLM імітуюцца, дапаможуць пераканацца ў ўсаснасці.

    Тэставанне і ацэнка

    Рабочыя працэсы агента ацэнкаюцца галоўная за дапамою суджэння. Перакананне выражаецца ў тым, чы робіць агент задачы правільна і дотрымліваецца свайго плану. Адна з методак ўключае сінтэтычныя задачы з вядомымі адпаведзямі: даецца яму невялікі матэматычны завод і пораўнюецца фінальны звярненне з рашэннем. Таксама дапамагаюць автаматызаваныя показнікі, такія як ступень успеху задачы (чы выкананы кожны крок) або сэродзеленасць з аднаковым адпаведзем, ацэнаваным суддзёй-LLM. Тэкст у вольнай форме можа заставацца патрэбным для людскага перагляду або крытыкі на адной з модэляў для фінальнага выканання.

    Калі RL выкарыстоўваецца для выучэння навыкаў, прырост можна вымерыць за дапамогою крывых наград. Створыце срэду, у якой завершэнне падзаданняў прыносіць награду, і практыкуйце загальную колькасць наград за кожную эпізоду, можа, выкарыстоўваючы OpenAI Gym або спецыяльную наладку. Важныя паказнікі — гэта эфектыўнасць працы (насколькі шыбка адбываецца выучэнне), канечныя рэзультаты і стабільнасць па разнымі значэннях насэння. У практыцы таксама трэба адрабатваць набор заданняў у галузях даследжэння, програмавання і аналізу, сочачы за канцэнтрацыяй успеху і выкарыстоўваннем токенав для кожнага з іх.

    Магчымасць аблікавання ў працоўным сераўеры ёсць неабходныя. Неабходна абзавесці агента з апісанням дзеянняў і логаванням, калі ўжо LangSmith можа фіксаваць кожны вызов інструмента і адпаведзь LLM. У запусцанай сістэме логі можна перадаваць у CloudWatch чыў Prometheus з паказаннем колькасці крокаў, часу адклікання і памылак. Для компанентаў на аснове RL неабходна логаваць історыю наград, крывыя падышкі і гіперпараметры. Тэсты на навантажэнне з вялікімі пакетамі, дзяўнімі сесіямі і нестандартнымі данымі дапамагаюць паўнастаць стабільнасці.

    Запуск як службы

    У рэальным запуске агент працуе як мікрослужба. Масштабавальная структура выглядае так:

    +------------------+      +--------------+
    |  Client/User     | <--> | API Gateway  | <---> [HTTP requests]
    +------------------+      +------+-------+
                                  |
                                  v
                           +-------------+
                           |  AgentCore  |   <-- AWS Bedrock AgentCore (managed runtime)
                           +-------------+
                                  |
                    +-------------+-------------+
                    |                           |
          +-------------------+       +-------------------+
          | Deep Agent Service |       | Storage (S3/DB)   |  <-- File/memory backend, logs
          +-------------------+       +-------------------+
                    |                           |
                    +-------------+-------------+
                                  |
                          +---------------+
                          |   LLM Models  |  <-- e.g., OpenAI, Anthropic, local LLMs
                          +---------------+
    

    Сэрвіс агента на AWS AgentCore або чым-сабо падобным прымае запыткі, коордынуе падагентаў і выканае вызовы інструментаў, пры чым кожная взаімадзея ўрахоўваная ў стойкім сховішчы для магчымасці аналізу і зберагчэння інформацыі. Выдзеляюцца калькі пунктав дыяграмы.

    • Масштабаванне і надзеямасць. Агента можна запускаць у безсерверным або кантэйнераваным сераўісе, такім як AWS Bedrock AgentCore, Azure AI Agent Service або Kubernetes. Ён масштабуецца ў залежнасці ад навантажэння, стварае новыя экземпляры па кожнам запытку, а кожна сесія можа выконвацца ў сваёй сабецвярзанай мікро-VM. Стойкі бэкенд (S3, база дадзенаў або сховішча LangGraph) зберагчае стан і інформацыю праз перзапускі.
    • Возможна адзорванасць. Адстэпавайце кожны вызов. У AWS стартовы набор Bedrock AgentCore сумешчае CloudWatch і X-Ray для манітарынгу затрымкі і абяканняў. Журналаванне хэшаў запытанняў і адпаведзей у зменшэнні на чысты чуліваты дадзеныя все ўсё дазволяе сочыць за выконаннем, а таксама за выкарыстоўваннем токенаў, колькасцю вызоў API і ступенем успеху.
    • Безпека. Абмежыце тое, да чаго можа дасягнуць агент. Інструменты файлавой сістэмы павінны працаваць толькі ў вызначаных каталогах, а выконанне коду пад sandbox-бэкендам павінна вядзецца ў захішчаных срэдах, такіх як Modal або Daytona. Надаце будзь-якім хмарным рэсурсам, якія вызывае агент, ролі IAM з мінімальнымі правамі, а таксама дадзіце верыфікацыю вхідных дадзеных і фільтрацыю контэнту за дапамогою перакананняў на безпеку LLM проты зловучых запытанняў.
    • Косц. Падзейце модэлю і выборам бэкэнду. Дышэўшы модэль Anthropic можа выканаць рутынную работу, тады як прэміум-модэль, такі як GPT-4o, выкорыстоўваецца для важных крокаў планавання. Перадача кантэксту ў памяць і паўторны выкарыстоўкі рэзультатаў інструментаў скарочвае колькасць павтараючыхся токенав запытанняў.

    Полны прыклад

    Этот прыклад на Python рэалізуе план, уключаючы апрацоўку адзінакоў і коментары. Ён мае концэптуальны характэр і для працы патрэбны рэальныя ключы API і аптэнавітас.

    from deepagents import create_deep_agent
    from deepagents.backends import FilesystemBackend
    from deepagents.middleware.filesystem import FileData
    from langchain.chat_models import init_chat_model
    from tavily import TavilyClient
    import os
    
    def setup_agent():
        """Initialize the Deep Agent with tools, skills, and system prompt."""
        # Model and tools initialization
        model = init_chat_model(model="openai:gpt-4o")
        tavily_client = TavilyClient(api_key=os.environ["TAVILY_API_KEY"])
        def web_search(query: str, max_results: int = 3) -> str:
            results = tavily_client.search(query, max_results=max_results)
            return "\n".join(f"{r.title}: {r.summary}" for r in results)
    
        # Create the deep agent with planning, files, and skills
        try:
            agent = create_deep_agent(
                model=model,
                tools=[web_search],
                system_prompt="""You are an expert agent. Your workflow:
                1. Create a plan with write_todos().
                2. Use tools (e.g. web_search) and file system to research and work.
                3. If specialized tasks arise, load relevant skills from the 'skills' directory.
                4. Save results and refine the output at each step.
                """,
                backend=FilesystemBackend(root_dir="./workspace"),
                skills=["./skills/pdf_processing", "./skills/data_analysis"]
            )
            return agent
        except Exception as e:
            print(f"Error initializing agent: {e}")
            raise
    
    def invoke_agent(agent, user_query):
        """Invoke the agent on a user query and return the final answer."""
        try:
            messages = [{"role": "user", "content": user_query}]
            result = agent.invoke({"messages": messages})
            return result["messages"][-1]["content"]
        except Exception as e:
            print(f"Agent invocation failed: {e}")
            return None
    
    # Example usage
    if __name__ == "__main__":
        agent = setup_agent()
        task = "Analyze the recent research on climate change and summarize key findings."
        answer = invoke_agent(agent, task)
        print("Agent response:", answer)
    

    Стварэнне і запуск агента адбываецца за дапамою функцый з апісамі і блакамі try/except. Інструмент web_search выкарыстоўвае Tavily для запрашэння дадзэнняў з зовнішніх істочнікаў, а інструкцыяя сістэмы прыказвае агенту планаваць сваю дзеяльнасць, выкарыстоўваць неабходныя навыкі і удосконаляць рэзультаты. У версіі для практычнага выкарыстоўвання будуць перакананы крайнія случаі, такія як порожнія рэзультаты пошуку і тайма-ауты API, а таксонамі ісключэнняў будуць фіксаваны ў журнале, а не выводзіцца на экран. Секрэтныя даны павінны знаходзіцца ў захішчанай асяроддзі, а не ў самым кодзе. Структура можа будавацца далей шляхом дадавання новых інструментоў або падагентоў.

    Ёжы правільную перакананасць, трэба напісаць тэсты на елементы. Неабходна імітаваць працу LLM, каб той вярнуў фіксаваны рэзультат планавання, і пераканацца, што агент стварае неабходныя файлы або выкарыстоўвае інструменты у правым парадку. Таксама трэба замерыць час вычыслення і вартасць токенав у тэстовых задачах.

    Варыянты, якія трэба врачымаць

    Розрахункаваныя агенты аб’яднуюць планаванне, памяць, дэлегаванне задач сабагентам і можлівасць завантажэння навыкаў, каб выконваць багатыя за складнасцю задачы, якія простыя чат-боты не можуць рашыць. Чысты запрос сістэмы, праблема планавання на першым месцы і багата набора інструментаў ствараюць моцную базу для автонамных асістэнтов. Навыкі маюць модульныя знанні, напрыклад pdf-processing або deploy-to-prod, якія завантажаюцца за патрэбай, тады кантэкст застаецца лёгкім, а агент можа продавацься ў навучэнні.

    • Точнасць проты косту. Моцныя мадэлі, такія як GPT-4o або Claude Sonnet, плюс масштабныя пошукі павышаюць точнасць, але збільшуюць вартасць токенав і API. Спалучэнне разных розмераў модэляў і кэшаванне дапамагае збалансаваць якасць і вітраты.
    • Масштабаванне проты складнасці. Рэнтайм агента без сервера, такі як AWS AgentCore, забезпечвае аўтамасштабаванне і можлівасць назірання, але трэба выконваць працу з інтэграцыяй: кантэйнерызацыя коду агента і налаштаванне сеткавых зв’язкаў.
  • Безпека протыягоўнае гнучкасці. Выкананне ў ізольаванай асяроддзі за дапамогою модальных або падобных блакоў зменшае рызык інжэкцыі коду, хоць гэта обмежвае такія операцыі, як дзеянні ў сеткі. Неабходна чыткая інтарфейсы інструментаў для выканання патрэбных задач.
  • Надзеямасць. Павтараць спробы падчас тымчасовых адказоў, такіх як таймауты LLM, і ўзяць за прыклад людзкія перапаказванні на крытычных этапах, адколі дзеякія фрэймворкі агентаў падтрымляюць перарывы.
  • Візуабільнасць. LangSmith або спецыяльныя логі можа атледзіць кожны крок планавання і вызов інструментаў. Следзіце за CPU, GPU і часам адказу, а таксама старайцеся стабільна пераканацца ў якасці выходных дадзенняў.
  • У будучыні сам працэс адкрыцця навыкаў можа стаць автаматызаваным: глыбокая навчальная сістэма або некеравана навчальная сістэма на аднойчыных дадзенах могу ствараць новыя ваказаннія навыкаў. Фрэймворкі з калькуламі калькантав, такія як Microsoft AutoGen або Salesforce AgentForce, могу коордынаваць калькантав-спецыялістаў, якія ведуць пераказы праз протаколы LangGraph.

    Для стварэння калькантава, які вучыцца навыкам, патрэбны два элементы: правы набор программнага забезпечэння і, за пажаданнем, тэхнікі глыбокай навчальной сістэмы, якія паўтараючыся падымаюць яго кантэнцыю. За дапамогою DeepAgents і адлагоджанай інжынерыі можна стварыць асістэнтов, якія самастойна рашаюць складныя проблемы, вучыцца новыя процедуры і надзеяна працуюць у вялікіх масштабах.