>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
Python

Basta Chatbot, È Ora di Creare Veri Agent con OpenHarness

Conosci quella sensazione quando ChatGPT ti dà un buon suggerimento di codice, ma per usarlo devi creare il file da solo, incollare il testo, eseguire i test e poi correggere un paio di import? Ci siamo abituati a chiamarla "assistenza AI," quando in realtà è solo ricerca avanzata con un'interfaccia di chat.

Qualche giorno fa mi sono imbattuto nel repository OpenHarness del team HKUDS. Questi ragazzi hanno deciso che di chatbot ce n'erano abbastanza—è ora di dare ai modelli linguistici "mani." Il progetto è un'infrastruttura per costruire agent autonomi che non solo chattano, ma vivono nel tuo terminale, navigano il web e modificano codice da soli.

OpenHarness    ohmo

Cos'è l'Harnessing degli Agent

Gli autori usano un termine calzante—Harness. L'idea è che un LLM da solo è solo un "cervello in un barattolo." Per diventare un agent, ha bisogno di occhi (contesto), mani (strumenti) e memoria.

OpenHarness è un framework Python che gestisce tutto il lavoro sporco:

  • Gestione del ciclo dell'Agent Loop (richiesta — streaming — chiamata strumento — ripetizione).
  • Controllo degli accessi (così l'agent non cancella accidentalmente la root del tuo disco).
  • Integrazione con MCP (Model Context Protocol).
  • Organizzazione della memoria attraverso file come MEMORY.md.

La parte migliore è che il progetto non ti blocca su un cloud specifico. Puoi eseguirlo su Claude o OpenAI, oppure passare attraverso un modello locale tramite Ollama.

Harness Equation

Cinque Cose che OpenHarness Sa Fare

Ho esplorato il codice sorgente e il README, ed ecco cosa sembra più utile per il lavoro quotidiano dello sviluppatore.

Strumenti Pronti all'Uso

Il repository ha già oltre 40 strumenti implementati. Non è solo "esegui uno script bash." C'è la ricerca file tramite Grep, supporto per Jupyter notebook, navigazione web, e persino la possibilità di far spawnare altri agent per delegare i task. Gli strumenti sono tipizzati tramite Pydantic, così il modello capisce lo schema dei dati di input senza allucinazioni extra.

Sistema di Skills

Invece di gonfiare il system prompt fino alle dimensioni di "Guerra e Pace," OpenHarness usa il caricamento dinamico degli skill da file Markdown. Se un agent deve fare una code review, carica review.md. Se deve fare il deploy di un progetto—prende lo skill corrispondente. Questo risparmia token e rende il comportamento dell'AI più prevedibile.

Sicurezza e Livelli di Accesso

Ho sempre avuto paura di dare all'AI accesso al terminale. OpenHarness risolve questo attraverso i Permission Modes. Nella modalità predefinita, l'agent chiederà conferma prima di ogni operazione pericolosa (scrittura file, esecuzione comandi). C'è anche la Plan Mode—dove l'agent può solo leggere file e suggerire modifiche, ma non tocca nulla con le sue mani.

Assistente Personale Ohmo

Dentro il repository vive il progetto ohmo. È un'applicazione agent pronta all'uso che puoi connettere a Telegram, Slack o Discord. Scrivi al bot dal messenger, e lui crea branch Git, corregge bug e apre PR sulla tua workstation. Funziona attraverso sottoscrizioni esistenti (come Claude Code o Codex), quindi non pagherai extra per le chiamate API.

Modalità Dry Run

Una funzionalità utile per il debugging. Il comando oh --dry-run mostra quali impostazioni sono state caricate, quali chiavi sono attive e quali strumenti saranno disponibili al modello—senza inviare una singola richiesta al cloud a pagamento.

OpenHarness Terminal Demo

Come Funziona Sotto il Cofano

L'architettura del progetto è abbastanza trasparente. Tutto è suddiviso in sottosistemi indipendenti:

  1. Engine: il cuore del sistema, che gestisce il loop di ragionamento del modello.
  2. Permissions: uno strato che verifica ogni chiamata strumento contro le regole (per esempio, bloccando le modifiche a /etc/).
  3. UI: una bella interfaccia terminale costruita con React e Ink. Sì, proprio nella console.
  4. Coordinator: gestisce scenari multi-agent quando un task viene diviso in più sottotask per gli "aiutanti."

Interessante che il progetto supporta il protocollo MCP. Questo significa che puoi connettere qualsiasi server di contesto al tuo agent—diciamo un database o un'API specifica—e lui imparerà immediatamente a lavorarci.

Scenari Pratici

Perché introdurre questo nel tuo workflow?

Prima di tutto, automazione dei task di routine. Puoi chiedere all'agent: "Trova tutti gli import non usati nella cartella src e puliscili, poi esegui i test." Mentre è occupato con i file, tu bevi il caffè.

Secondo, lavorare con codice legacy sconosciuto. L'agent può scansionare il progetto, costruire una mappa delle dipendenze e spiegare come funziona un modulo specifico usando strumenti di ricerca nel codice.

Terzo, creare i tuoi bot specializzati. Se la tua azienda ha un processo di deployment specifico, scrivi semplicemente SKILL.md con una descrizione dei passaggi, e il tuo agent saprà ora come fare il deploy dei progetti esattamente come fai tu.

Vale la Pena Provarlo

Il progetto sembra vivo: 114 test che passano e aggiornamenti attivi (la versione 0.1.7 è stata rilasciata solo pochi giorni fa). Gli svantaggi—la documentazione a volte ti costringe a scavare nel codice, e mentre il supporto Windows è dichiarato nativo, in PowerShell richiede l'uso del comando openh invece del breve oh.

Se sei stanco di copiare codice dalla chat nel tuo IDE e vuoi sentire cosa possono davvero fare gli agent, OpenHarness è un ottimo punto di partenza. Come minimo, è uno dei pochi progetti che cerca di rendere l'infrastruttura degli agent comprensibile ed estensibile.

Puoi iniziare con una semplice installazione:

curl -fsSL https://raw.githubusercontent.com/HKUDS/OpenHarness/main/scripts/install.sh | bash
oh setup

E poi prova semplicemente a chiedergli di correggere qualcosa nel tuo progetto personale. I risultati potrebbero sorprenderti.

Progetti correlati