bug agent llm
1.0.0
このエージェントは Generative AI を使用してエラーの原因を特定し、修正を提案し、さらには欠陥のあるコードを変更します。
エージェントはスタックトレースから開始し、関連するすべての関数のコードを読み取り、より多くのコンテキストを取得します。次に、エラーについて説明し、レポートで修正を提案します。
修正はその場で自動的に行うこともできます。
このリポジトリのプル リクエストは、エージェントによって行われた修正の例です: https://github.com/Aschen/bug-agent-llm/pulls
エージェントをインポートし、 handleErrorWithAgent
関数でエラーを捕捉します。
app . post ( '/tasks' , ( req , res ) => {
try {
createTask ( req , res ) ;
}
catch ( error ) {
handleErrorWithAgent ( error , { modify : true , verbose : true } ) ;
throw error ;
}
} ) ;
サンプル アプリのいずれかを実行します: npx ts-node ./examples/context-understanding/app.js
リクエストを送信します: bash ./examples/context-understanding/create.sh
このエラーは、オブジェクトに存在しないプロパティにアクセスすることによって発生します。
このプロパティはapp.js
のcreateTask
関数でアクセスされますが、 database.js
のaddTask
関数で設定されます。
エージェントは、新しいプロパティを含む更新されたタスクを返すよう提案することに成功しました。
PR #1 を参照
(アプリディレクトリの例を参照してください)
// app.js
function createTask ( req , res ) {
const newTask = req . body ;
verifyTask ( newTask ) ;
const savedTask = database . addTask ( newTask ) ;
res . status ( 201 ) . send ( `Task ${ savedTask . metadata . id } saved successfully` ) ;
}
// database.js
function addTask ( newTask ) {
const tasks = readTasksFromFile ( ) ;
tasks . push ( { ... newTask , metadata : { id : generateId ( ) } } ) ;
writeTasksToFile ( tasks ) ;
return newTask ;
}
エラーはほぼ同じですが、今回はそれを解決するために 2 つの関数を更新する必要があります。
PR #2 を参照
(アプリディレクトリの例を参照してください)
// app.js
function createTask ( req , res ) {
const newTask = req . body ;
verifyTask ( newTask ) ;
database . addTask ( newTask ) ;
res . status ( 201 ) . send ( `Task ${ newTask . metadata . id } saved successfully` ) ;
}
// database.js
function addTask ( newTask ) {
const tasks = readTasksFromFile ( ) ;
tasks . push ( { ... newTask , metadata : { id : generateId ( ) } } ) ;
writeTasksToFile ( tasks ) ;
}