跳到內容

派送你的第一個代理

完成本教學後,你將擁有:

  • 一個由你親自建立並設定的代理
  • 一個讓你與該代理對話的空間
  • 一次完成的執行,在隔離的工作樹中有已提交的工作,代理的執行記錄中也有一列

先決條件:已完成你的第一個工作區,讓這個工作區已註冊一個儲存庫,並連接了至少一個模型供應商。

  1. 前往 設定 → 工作區 → 代理
  2. 點擊 新增代理。系統會立即建立一個名為「未命名代理」的代理,並在名冊中選取它——沒有建立對話框,也沒有任何需要確認的步驟。你就在原處設定它。
  3. 在 設定 分頁中填寫:
    • 名稱:簡短好記,例如 alice。這就是你在 @ 之後輸入的內容。
    • 標題:它的職責,例如「後端工程師」
    • 配接器:Control Center (built-in)。請刻意選擇這一個——只有內建執行環境可以在執行途中被操控,並在回合邊界暫停,而且它不需要在伺服器主機上安裝任何 CLI。
    • 模型:從已連接供應商所提供的清單中選擇
    • 技能:附加任何合適的技能,例如 testing 或 architecture
  4. 按下 儲存變更

檢查點。 名冊中的資料列會顯示你代理的名稱,以及一個空心狀態環。

  1. 在側邊欄中找到 空間 區段,然後點擊 + 按鈕
  2. 為空間命名
  3. 在 新增代理 之下,選取你剛才建立的代理
  4. 如果工作區有任何儲存庫,請選擇這個空間應在哪幾個儲存庫上工作
  5. 點擊 建立

空間隨即開啟。Control Center 會在背景為這則對話,在所選儲存庫的獨立分支上佈建寫入時複製的工作樹。你的原始簽出絕不會被更動。

針對你已註冊的儲存庫,輸入一項具體而小型的任務。有可檢查結果的任務效果最好——加入測試、修正 lint 問題、重新命名符號。

按下 Enter。你不需要 @ 提及任何人:空間中只有一個代理時,一則普通訊息就會喚醒它。空間中有多個代理時,@name 會選定其中一個。

Control Center 會從代理的指示、人設、技能和空間的情境組裝出提示,然後派送這次執行。

檢查點。 輸入區的送出按鈕會變成停止按鈕——有代理正在這則對話中工作——文字也開始送達。

對話會隨著執行發生而即時呈現:

  • 推理,在代理思考時即時內嵌顯示
  • 工具呼叫:檔案讀取與寫入、搜尋、shell 命令,每項都附有結果
  • 文字:摘要、說明,以及向你提出的問題

如果代理提出問題,就在對話中回答,它便會繼續。

若要查看某次執行本身的指標,以及其暫停、繼續和停止控制項,請在空間「一般」面板的 代理 區段中找到正在執行的代理,然後選擇 開啟活動。

在活動窗格中,狀態徽章會顯示 執行中,執行結束時則顯示 已成功。停滯或陷入迴圈的執行會顯示 已封鎖;發生錯誤的則顯示 失敗。在代理登錄表中,名冊狀態環在首次執行前是空心的,代理再次閒置後則變成實心。

約束這次執行的因素包括:它自己專屬的寫入時複製工作樹;在啟動時為它仲介、並在拆除時撤銷的憑證;清理過的環境;其模式所允許的工具介面,以及動作護欄。推送分支或開啟 pull request 之類的效果會另行設閘門——見護欄。

  1. 開啟 設定 → 工作區 → 代理 並選取你的代理
  2. 開啟 日誌 分頁

檢查點。 一列執行記錄,顯示其狀態、持續時間、開始與結束時間,以及它執行時所用的配接器。

代理的變更會提交到該對話的分支上、它自己的工作樹中。提交的作者是代理,並在 Co-Authored-By: 尾註中記入你的貢獻。

沒有任何東西會自行開啟 pull request。如果你想要一個,就在同一則對話中提出要求:

推送這個分支,並對預設分支開啟一個 pull request。

推送(gitPush)與建立 PR(prCreate)預設都會提示你核准,因此預期每次之前都會先要求確認。如果提示出現時沒有已連接的核准者,該動作會被拒絕,而不是獲准——護欄會失效即拒絕。

這個 PR 會以該次執行所用權杖所屬的 GitHub 身分開啟——如果你儲存了個人權杖,那就是你的身分——而不是以代理的名義。代理的作者身分則顯示在提交上。

你也可以自行開啟:空間的 原始檔控制 面板有一個 建立 pull request 按鈕,會把該對話的分支帶進撰寫介面,而 Pull requests → 新增 PR 則會以空白狀態開啟同一個畫面。下一個教學就從這裡接續。

你建立了一個代理、設定它的配接器和模型、給它一個空間和一項任務,並看著一次真實的執行在隔離的工作樹中完成,而沒有碰觸你的簽出。

下一步:審查你的第一個 pull request,了解審查工作流程。

想進一步了解代理:代理模型。想了解派送細節:代理派送生命週期。